Мой робот на ROS2
Сегодня хочу рассказать про одного из своих роботов, которого я собирал еще до открытия мастерской.
Однажды у меня была температура, и я не мог уснуть. Мозг счел это самым подходящим временем чтобы объяснить мне, что жить так дальше нельзя, нужно что-то менять. А следом он убедил меня, что самым правильным способом изменения жизни будет создание колесного беспилотника и запуск его в сторону Ханты-Мансийска по тундре.
Голоса в голове говорили: беспилотник будет ехать, делать фотографии российской тундры, а я буду эти фотографии продавать в журналы. Вот тебе и деньги. Нужно было только решить вопрос со связью и защитой от белых медведей.
Все логично, че.
Как ни странно, идея с беспилотником не отпустила меня и после выздоровления. И я начал изучать вопрос.
Первая версия была на Arduino, с управлением через nrf24l01.
Затем я открыл для себя Ardupilot. У него есть версия Ardurover для колесных и гусеничных беспилотников.
Был куплен полетный контроллер Pixhawk 2.4.8 и три гироскутера. Из гироскутеров я выдрал колеса.
Сварил раму их профильной трубы. По итогу получился такой агрегат:
Этот уже уверенно колесил по лесу и огороду. Соседи смотрели сквозь забор и очковали.
При загрузке полетного (или проездного) задания мой агрегат уже пытался ехать в заданную точку. Результатом одной такой поездки оказался контакт с соседским Опелем. Пришлось платить деньги за ремонт. Теперь уже очковал я.
Забрать такую большую штуку в съемную однушку было нельзя, и я снял с него автопилот. Была сделана гусеничная версия меньшего размера. На видео есть звук, можно послушать как робот пока еще подчиняется мне.
Тут я уже прицепил компьютер-компаньон Raspberry PI 5 и микрофон. Была установлена ROS2 Humble. Общение между полетный контроллером Pixhawk 2.4.8 и Raspberry осуществляется по протоколу pymavlink. Были реализованы топики по приему сигналов с пульта и голосовых команд. Для распознавания голосовых команд использовал нейросеть Vosk.
Дополнительно поставил лидар, но он пока не настроен. Так же приобрел камеру глубины. На видео камеры нет, но я настраивал простое поведение: при появлении в камере человека робот снимается с охраны (disarm) и готов к движению. Для распознавания объектов использовал нейросеть YOLO8.
Сейчас робот на модернизации. Так как у меня появились чпу и другое оборудование, я хочу сделать уже версию в металле. Эта собрана из станочного профиля и пластиковых деталей, отпечатанных на 3D-принтере. Гусеницы печатал из TPU, остальное из PETG.
Если есть вопросы - задавайте. Буду рад ответить.





