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


Туловище, в контексте данного робота, это все, что вот это:

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


Мозг.

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

И его окончательный выбор, наконец сделан!

Ради нагнетания дешевой интриги (для раскрытия которой, семи пядей во лбу быть не нужно), начну с кандидатов не вышедших в финал.


Исторически, как можно проследить по статьям на этом блоге, очень долгое время чаша весов склонялась к nVidia Jetson Nano Developer Kit.

Я не хотел бы сейчас подробно все раскладывать по полкам и составлять разного рода сравнительные таблицы, излагая причины по которым я отказался от этого, казалось бы, по всем статьям более всех прочих подходящего микрокомпьютера для заявленных целей. Но, если коротко…

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

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

Ну, например, “полезный робот” от уважаемого мною британца Джеймса Брутона. На момент написания этой статьи, он его еще допиливает. Однако, как мне показалось, он затеял все это только потому, что ему nVidia щедро ввалила шиллингов за обзор своего детища… А все его остальные роботы (его собачки – восхитительны!), в итоге, как бегали на малинах-ардуинах, так и бегают…

В подавляющем же большинстве случаев, чего-то осмысленного, вышедшего за пределы макетной платы, от простого смертного самоделкина, где джетсон использовался бы по своему профилю (нейронные сети и рож вот это все) встречается реже чем Астат. Простите, но распознать лицо на картинке, обведя его в квадратик, могла еще и вторая малина… Или, вон, просто настольный микрокомпьютер из джетсона собирают – это ваще за гранью Света и Тьмы.

Эту клоунаду проектов на джетсоне я наблюдал без малого год, разочаровываясь с каждым днем все больше и больше. Реально поначалу видел джетсона в голове (спине) своей механической собачки. Дело доходило до нарисованой 3D-модели и разработанного на ее основе крепежа. Был даже момент, когда палец уже был занесен над кнопкой “Подтвердить заказ”… Ну, очень уж оно выглядело со всех сторон кузявым… Жаль, конечно…

Вполне допускаю, что время джетсона для меня еще придет. До сих пор считаю его отличной штукой. Но не в данном проекте. Или, по крайней мере, не в данный момент его развития.


Далее, что очевидно, на лидирующие позиции вышла и надежно там залипла – Raspbery Pi. Благо, что сообщество успело уже породить ее четвертую версию, по своим характеристикам вполне себе жу-жу-жу.

В рамках этого выбора, долгое время лидировала связка Raspberry Pi Compute Module 4 + Compute Module 4 IO Board:

Все это, какбе, “обычная” четвертая малина, но “на стероидах”. При выборе этой конфигурации у вас есть куда более обширный выбор ее составляющих. С WiFi или без. Столько памяти или столько. Реальные часы на борту, PCIe и все такое.

PCIe меня привлекало особенно. Ибо весь этот вечный ночной кошмар с “подцепить SSD к малине”. USB-sATA-адаптеры и прочий цирк с конями.

Там еще кажется, что модули можно объединять в кластер, для организации распределенных вычислений. Да – это так. Есть борда, в которую это можно натолкать по самые помидоры и майнить биткоины долгими холодными ночами.

Однако, покопавшись во всем этом глубже, выяснил, что, в сущности, это все равно будет не более чем куча самостоятельных малин, в какой-нибудь единой обертке, типа Kubernetes и иже с ним. Т.е. никакого общего многопроцессорного ядра все равно не будет. От нескольких простых малин, соединенных друг с другом через хаб по ethernet-портам, этот кластер будет отличаться только размерами, ценой и простотой сборки (и то, и другое, и третье будут на порядок меньше/ниже/проще).

И это все имеет смысл, если этих малин надо объединить с полдюжины и больше. Но применительно к данному проекту…

Очень сильно подозреваю, что мне, вообще, хватит одной малины. А если и нет… Ну, ладно, там, если на составляющие разбить: управление, распознавание, общение. Три базовые составляющие мозга. Даже, если под каждую из них выделить по малине, то выходит три штуки. При таком раскладе, все упомянутые “меньше/ниже/проще” малиновых модулей выравниваются с одной-тремя обычными малинами по всем статьям… Да, я проверял.

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


Ну и, как следует из вышеизложенного, победителем становится Raspberry Pi 4 Model B:

Уверен – только что я разочаровал половину читающей этот блог аудитории.

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

Просто, тянуть с выбором дальше уже некуда. Необходимо начинать все объединять и выстраивать “логические цепи” для управления контроллерами, камерой, сенсорами, светодиодами, сервами/моторами и т.п. И вот прямо сейчас, на данном этапе, для данной конфигурации – четвертая малина представляется наиболее простым и адекватным решением ко всему этому.

Сто пудов, начну с ней, а там – время покажет…


Теперь перейдем к более скучным составляющим…

Ходовая часть.

Колеса, их приводы и контроллеры. Тут, полагаю, очевидно. Где ж им еще быть, как не в туловище?

Разве, что стоит отметить, что выбор между колесным приводом (два ведущих-поворотных спереди и два опорных-ведомых сзади) и гусеничным шел на полном серьезе:

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

Колеса победили из чисто “программерских” соображений. Ибо…

Точка поворота в ведущей-поворотной колесной паре всегда будет размещена на их общей оси (зависит от направления и скорости вращения каждого из колес в момент поворота):

Это предсказуемо и вполне рассчитываемо.

А точкой поворота гусеничной пары окажется совершенно любая произвольная где угодно (для робота такого размера, веса и условий эксплуатации). Конкретно будет та, на которой в данное мгновение, сцепление гусеницы с полом окажется выше:

Все, что в таком варианте будет предсказуемым – геморрой!

Вывод – колеса.


Навигационная система.

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

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

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

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


Органы управления.

Каким бы автоматическим и самостоятельным я не намеревался сделать робота, как минимум одна кнопка на нем быть обязана. Ибо… См. годзилион фильмов про роботов, начиная с черно-белого Метрополиса. Вряд ли я смогу добавить еще каких то объяснений и доводов в пользу необходимости существования кнопки ВЫКЛ. у робота.

Как видно из фотографий, общий внешний вид данной механической собачки подразумевает наличие на спине куда больше, чем одной кнопки. Их там аж 12 штук!

Помимо прочего, они являются очень характерной и ключевой составляющей внешнего вида докторктошного K9. Так, что хочу я того или нет, но придется придумать какое-то применение остальным 11 кнопкам.


Аккумуляторы питания и система их зарядки.

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

Причем устройств зарядки планируется два. Условно можно их обозвать “автоматическая” и “ручная”.

Автоматическая будет скорее всего организована по модному нынче индукционному способу. Ну, типа, как wireless-зарядка для мобильника:

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

Это хорошо. Если бы не одно “но”…

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

Нам бы помочь ему, но мы были не в состоянии – мы комментировали его попытки и ржали, как лошади, буквально, до слез!

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

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

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

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


Устройства вывода информации.

Сиречь – экраны.

Их должно быть аж три штуки. Основной большой – на левом боку. И два второстепенных маленьких – в области кнопок управления.

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

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


Итого…

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

Каждый компонент системы сперва представлялся в виде трехмерной модели.

Не просто там “какое-нибудь колесо”, а бралось совершенно конкретное колесо, которой планировалось использовать. Не просто “вот тут будут батарейки”, а брались совершенно конкретные блоки аккумуляторов. И т.п.

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

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

Были, конечно, и приключения, и удивительные открытия, и внезапные изобретения велосипедов, и нежданные открытия америк – в общем, по полной программе все то, с чем сталкивается самоделкин в реализации проектов подобного масштаба… Но, собственно, ради этого оно все и затевается…

Короче, в целом, на уровне моделей и чертежей, тело подробно проработано где-то на три четверти. Половина уже воплощена в металле и пластике. Об этом и пойдет речь в следующей серии.

Поделиться: