20 July 2019

Робот-тележка на ROS.Часть 1. Железо

Robotics developmentDeveloping for ArduinoDevelopment for Raspberry PiRoboticsDIY
Tutorial
Посты серии:
8. Управляем с телефона-ROS Control, GPS-нода
7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения
6. Одометрия с энкодеров колес, карта помещения, лидар
5. Работаем в rviz и gazebo: xacro, новые сенсоры.
4. Создаем симуляцию робота, используя редакторы rviz и gazebo.
3. Ускоряемся, меняем камеру, исправляем походку
2. Софт
1. Железо

Начав изучать ROS (Robotic operation system), сначала поражаешься, как тут «все сложно», от количества информации про топики, ноды,actions голова идет кругом. И, первое желание — вернуться в управлении роботом на старые добрые скрипты. Но нет. Каждый взрослый мужчина должен собрать для мужчины поменьше что-то, что бы ездило, мигало, пищало. В качестве платформы была выбрана ROS, так как все же это следующий шаг в развитии роботов в мире бездушных ардуино. Предлагается собрать ROS «тележку», которая будет не только дешевая, но и функциональная: сможет поехать по линии на полу, вашим котом, вашим телом :) Первые шаги будут такие:


Еще немного лирики


Второе, что поражает при изучении ROS — стоимость платформ на рынке. Комплект turtlebot burger (как один из доступных по цене) — 549 $ (34500 р.). Все остальное еще дороже. Здесь можно возразить, что львиную долю цены составляет lidar, устройство для определения положения робота в пространстве. Который сам по себе стоит под 15к р. Однако, все остальные компоненты также не дешевы.

Посчитаем, во сколько обойдется нам наша «тележка»:


Итого: 8000 р.

Цена также велика, но на порядок дешевле turtlebotа. При желании, машинки можно напечатать на 3d принтере или взять кусок фанеры. Тогда останется только DC моторы взять. Аккумулятор для raspberry также можно заменить более дешевым аналогом, главное, чтобы он выдавал 5V 3А.

Собираем

За основу проекта был взять ранее существующий проект — www.rosbots.com/build_it, но со значительными доработками. Кроме того, базовый проект, судя по информации с сайта, был заброшен, поэтому придется все доводить до ума самим.

Начало сборки и крепеж моторов аналогичен вышеуказанной инструкции:



Здесь надо обратить внимание на энкодеры, которые монтируются таким образом, чтобы они «накрывали» диски с прорезями, одетыми на моторы:



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

После монтажа двигателей и энкодеров (по желанию), соединяем провода с с ардуино uno, драйвером двигателя, батарейным отсеком из 2-х аккумуляторов 18650. Схема соединения аналогична, размещенной на сайте базового проекта за одним исключением:


5V для энкодеров можно взять с arduino (VCC от Right speed sensor и Left speed sensor на 5V arduino).

Крепим arduino и драйвер двигателя, питание для драйвера:



Лапша поближе:



Драйвер двигателей. На клеммы зеленого цвета — пары проводов от двигателей:



Arduino у нас не будет питаться от батареек, она будет в дальнейшем соединена по usb с raspberry.

Ставим второй слой машинки


Здесь будет располагаться батарейный отсек, raspberry pi, камера на деталях из советского конструктора:



Не забываем правильно воткнуть шлейф от камеры в raspberry:



Советский конструктор в деле:



Закрываем бургер, третий слой «тележки».



Здесь будет ездить powerbank для raspberry:



*Немного о powerbank для питания raspberry pi:
картинка

:

Все, машина готова!



В следующих постах поговорим уже непосредственно о ROS, линиях, теле, котах и улыбках.

Советы и беспощадная критика приветствуется!

*уточнена электросхема.
Tags:raspberry pi 3rosробототехникаdiyдомашняя прислуга
Hubs: Robotics development Developing for Arduino Development for Raspberry Pi Robotics DIY
+18
9.1k 70
Comments 38
Popular right now