В оригинальном сериале Доктор Кто стало, какбе, традицией, что реинкарнация главного героя приходится на смену сезонов. Хотя и не всегда это было так. Например, Второй Доктор сменил Первого, а Шестой сменил Пятого – посреди сезонов. Но это, скорее, были исключения. В основном же, создатели сериала меняли Докторов в межсезонье. Традиции, маркетинг, бабло, особенности производства, рейтинги, психология аудитории, контракты с актерами и рожь вот это все – диктуют некие правила и стереотипы, нарушать которые без особой на то причины продюсеры не решаются. Это понятно.

В моем случае, там были еще некоторые сюжеты, которые можно было бы отнести к первому сезону проекта. Механизм шеи, автоматические шторки “глаз” и т.п. Много чего осталось за кадром, что по времени создания могло быть быть рассказано еще тогда. Но раз уж реинкарнация на сегодняшний день стала сложившимся фактом, то и фигли тянуть со сменой сезона? Просто засуну эти не вышедшие серии первого сезона во второй сезон, слегка изменив реплики, чтобы вписаться в измененный сюжет. Киношники так все время делают…


Что ж… Давайте попрощаемся с механической собачкой первого замеса. Это последние прижизненные фотографии ее “чистой” инкарнации из первого сезона. Они датированы июлем прошлого года:

Когда я решил вернуться к проекту, то, прежде чем все разнести вдребезги, сделал еще несколько более свежих “последних прижизненных” снимков. И сравнивая эти фотографии с теми, что выше, легко увидеть некоторые изменения, произошедшие за этот выпавший из истории год:

Да, изменений не много на первый поверхностный взгляд. Основное, что бросается в глаза – появление красных шторок в области “глаз”. Но внутри, там, много чего поменялось. Пускай этого не видно на фотках, но именно эти внутренние изменения и спровоцировали текущую реинкарнацию. Явные внешние изменения – вторичны.

Накапливались эти внутренние изменения в течение полугода, последовавшего за остановкой публикации постов на этом блоге. В тот момент, я, вероятно, если уже и не видел этого отчетливо, но где-то на подсознательном уровне понимал, куда весь процесс движется на полных парах.

Угу! Прямиком на популярный курорт в Перу!

Вероятно потому и остановил публикацию постов. Чтобы не позориться еще больше…

Вроде бы это не быстро все происходило, но масса изменений и вызываемых ими проблем нарастали с геометрической прогрессией снежного кома, пока не вызвали коллапс всего проекта и я физически уже не мог его продолжать.

Потребовалось очень глубокое и масштабное переосмысление всего и вся.


С самого начала я исходил из постулата, что несколько малогабаритных ардуин “нано”, в сумме дадут гораздо больше доступных для управления входов-выходов, при той же занимаемой площади пространства, чем одна “уно”, например. А распределенность в вычислениях и обработке сигналов даст существенное преимущество.

Так оно и оказалось! Это и стало самой основной проблемой. Удивительно, что к провалу меня привела не ошибка в планах, а, как раз, их успешная реализация.

Дело вот в чем… В качестве контроллеров я использовал вот такие модули, объединенные в связку внутри каркаса головы:

Планировалось еще и третий контроллер добавить. Вроде бы все удобно: провод сунул, винтик прикрутил. Суммарное количество входов-выходов такое, что любая “уно” при тех же размерах от зависти сгорит. “Мега”, может, и сравнится по количеству входов-выходов при немного большем размере, но три “наны”, работающие распределенно уделают любую “мегу”, как тузик грелку – к бабке не ходи. В этом же и есть суть любой распределенной системы!

К сожалению, все это доступное богатство мощностей спровоцировало бездумный экспоненциальный рост количества сенсоров и девайсов, которые я с восторгом запихивал в голову бедной собачке. До тех пор, пока… Стало совершенно невозможно “провод сунул, винтик прикрутил” без того, чтобы предварительно не разобрать половину головы. Работы еще оставалось прилично, но там стало буквально уже отверткой не подлезть:

На фото видно, что до верхнего контроллера еще можно добраться. Но это было, пока не появился механизм управления шторками “глаз”. А уж, когда добавилась бы камера в той области…

Подключение примитивного сенсора из трех проводов превратилось в пытку. Когда же возникала необходимость перераспределить несколько входов-выходов по той или иной причине, то, даже, простая пытка превращалась в настоящий BDSM с конями и карликами-трансвиститами.

Мало того. Контактные колодки, зажимающие провода, затеяли эти же провода “перекусывать”, если в области их скопления достаточно долго елозить отверткой. Предварительное залуживание кончиков входящих проводов помогло, но не особо. Так же не помогла и обжимка кончиков проводов в специальные металлические обоймочки. Все это лишь отчасти решало проблему, но не устраняло ее полностью. Зато еще больше усложняло процесс постройки и делало его невероятно нудным.


Зная, что вопрос питания устройств всегда был моей ахиллесовой пятой, продумывал его еще на стадии начала проекта.

Основная проблема питания у самоделкиных, затеявших постройку более-менее сложного робота – всякого рода помехи и наводки. Примеров куча на любом ютубе.

Сейчас стало модным строить “балансирующих” роботов. Вот там полный адов петросян в половине случаев! Смотреть больно, как создатель такого робота внезапно обнаруживает, что помехи от мотора колес прут на датчик положения в пространстве и робот уже не может понять где верх, а где север. С предсказуемым результатом. И, вот, начинаются хренострадания “ай-ай, дешевые глючные китайса модули во всем виноваты“…

Решил не ходить по этим граблям и с самого начала отделял мух от котлет. Моторы питаются с одной ветки, сенсоры – с другой, контроллеры – с третьей и т.п. Фильтры повсеместно, само-собой. На каждом входе и выходе.

Результатом этого стало появление нескольких колодок питания, основные из которых располагались в центре каркаса головы:

Обе эти колодки имели одинаковый вольтаж, но каждая питалась со своей собственной ветки блока питания, со своим собственным набором фильтров… На самом деле было физически два раздельных блока питания (как потом было бы несколько физически раздельных преобразователей питания с одного общего аккумулятора):

На одну колодку вешалось все “шумное” (типа сервов), на другую все “тихое” (типа сенсоров). “Высоковольтная” (12 вольт) ветка на мотор поворота головы, вообще, была отдельной сущностью, расположенной подальше от этих двух. Контроллеры тоже питались со своей отдельной кормушки.

Результат был достигнут! Даже самый дешевый китайский сенсор давал на графике вполне ровный сигнал с минимальным количеством шума. Количество шума было настолько низким, что в половине алгоритмов я поотключал, за ненадобностью, программную фильтрацию сигнала по медиане.

И вновь успех привел меня к провалу. Потому, что повторилась в точности та же самая ситуация, что и с контроллерами. Идея правильная – да. Но единственно возможный путь ее решения – путь на уже упомянутый курорт в Перу. Где я и оказался.

В составе головы появился принтер, пара сенсоров и динамики. Привет с курорта:

До колодок не добраться, провода ломаются, нудятина, скукота, тлен и безысходность

Меня уже не увлекала разработка очередного прикольного сенсора, потому, что потом пришлось бы разобрать половину головы, чтобы его подключить. Попутно заменив пару отломившихся проводов… Которые потом все равно и сами отломятся от вибраций, когда собачка начнет передвигаться…


Там еще куча других проблем вылезала. Менее существенных и не вполне формулируемых. В большинстве случаев, оно решалось бы печатью креплений другой формы и оптимизацией взаимного расположения узлов. Ерунда, в сущности…

Но помимо всех этих проблем сугубо практического толка, над душой висела и некая моральная неудовлетворенность результатом. Не могу внятно сформулировать ее причину даже сейчас, когда все уже стало понятно более-менее.

Эта неудовлетворенность складывалась постепенно из миллиона незначительных косячков. Капелька вот тут, капелька вон там. Вроде все шевелится. Работает, как задумывалось, но… Везде, в каждом моменте, было что-то самую чуточку, неуловимо “не так”. Не что-то конкретно. Как говорится, не нравилось устройство Солнечной Системы в целом. Слишком сложно, слишком громоздко, слишком много лишних сущностей. Все должно быть проще, но, что важнее – НАДЕЖНЕЕ.

Ну, в самом деле… Перманентно ломающиеся у разъема провода? В говорящем автономном роботе размером с ротвейллера и предполагаемым режимом работы 24/7? Серьезно?!

Подобные мысли так же давали существенный отрицательный рост энтузиазма к проекту. Он же затевался для фана, а не для затрахаться и остаться недовольным. Нет фана и удовольствия – нет проекта. Это очевидно. Оно ж не работа по найму. Денег то мне за это не платят.


В общем, нельзя было просто перепечатать крепление какой-нибудь колодки питания, убедить себя, что все стало зашибись и зажить счастливо. Необходимо было пересмотреть всю концепцию взаимодействия устройств от самого корня. Контроллеры и питание – основа основ всего механизма и проекта вообще! Абсолютно все, что есть в роботе – завязано с этим всем напрямую.

Активному переосмыслению концепции питания и контроллеров и были посвящены последние месяцы, когда всем вам со стороны казалось, что проект был заброшен.

Стертые подшипники на кулере процессора настольного компа – тому доказательство. Поменял на водянку, в итоге… Вместе с процем и памятью… И мамашкой… И видюхой… И жесткими дисками… И блоком питания… Но кузов остался старый!

По итогам, отправными точками новой концепции стали следующие положения:

  • Введение Великого Запрета на новые компоненты головы механической собачки.
    Тех что уже есть – достаточно. Я туда разве, что модуль связи с бункером управления стратегическими ядерными ракетами еще не впердолил. Все. Баста. Сформировавшийся на данный момент состав устройств – окончательный. Больше никаких дополнений без крайней на то необходимости.
    Исключение составляют узлы, которые были заложены в проект с самого начала, но еще не воплощены в реальности: камера, подсветка глаз и выдвижной щуп-антенна. Эти устройства категории “маст хэв” и они будут добавлены. Но все прочие “мне тут пришло в голову” – идут лесом и ждут какого другого проекта.
  • Внутри каркаса – только механизмы.
    Они уже миллион раз опробованы, проверены, их конструкция и работа меня полностью устраивают. Как следствие, необходимости постоянного прямого доступа к ним нет. Вероятность того, что они выйдут из строя в обозримом будущем ничтожно мала. Ну, а случись такое, разок можно будет и распотрошить голову. Это не пару раз в день контакты перебрасывать, пока оно все не заработает как надо. С механизмами всегда проще. Если он работает – он работает. Рычаг – всегда рычаг. Шестерня – всегда шестерня… Вот пускай там и сидят в глубине…
  • Вся электронная часть, как постоянно требующая к себе доступа (проводка, модули, контроллеры) – снаружи каркаса. Очевидно, что я не налажу их в один присест. Лазить к ним придется на протяжение всего проекта. Поэтому надо, чтобы к ним был прямой и простой доступ. Без необходимости разборки половины конструкции каждый раз.
    Кстати, вон, я уже умудрился спалить один из звуковых сенсоров буквально вчерась. Теперь его предстоит заменить. Наверняка он не последний – руки то все оттуда же растут. Хочу, чтобы замена одного электронного модуля решалась откручиванием одного винта и втыканием одного разъема.
  • Уменьшение количества проводов и повышение надежности их контактов.
    Тонна постоянно отваливающейся вермишели – не найс. Винтовые клеммы – нахрен. Только пайка и жесткие разъемы, где они уместны.

Устаканив в голове новую концепцию, согласно этим заветам, проработав ее на детальном уровне, еще раз обдумав и еще раз проработав, я устаканил в голове новую концепцию, проработав ее на детальном уровне. Сделал это несколько раз. Три меяца, Карл! На самом деле – больше, если считать период совершенно бесплодных мрачных дум на тему тлена и криворукости в начале года.

Вот на этом месте и начинается развитие сюжета второго сезона.

Начинается оно самым незатейливым образом. С выгребания всей ставшей ненужной внутренней начинки из головы собачки. Теперь у нее там внутри ветер гуляет (буквально, потому, что фронтальный вентилятор остался на месте), а на столе грудой навалено что-то несусветное:

Реинкарнация собачки началась.

Поделиться: