roboforum.ru

Технический форум по робототехнике.

v2robot

v2robot

Holmes » 27 июл 2015, 18:00

Робот в разработке (это описание будет дополняться по мере разработки).

На данный момент: телеуправляемая телега с манипулятором (самостоятельные функции отсутствуют).

Цели проекта.

1. Максимальная проходимость шасси при разумных его размерах.
2. Низкий уровень шума при работе.
3. Универсальность модулей робота, возможность быстрой замены/модификации/добавления.
4. Большая грузоподъемность и гибкость руки (в т.ч. возможность встать на колеса при опрокидывании).
5. Возможность использования в качестве платформы для робота с компьютерным зрением.

Описание.

1. Шасси.
Сконструировано из компонентов Actobotix. Идея реализации Nomad 4WD.
Фото шасси есть ниже. К центральному алюминиевому каналу жестко прикреплено правое плечо с двумя мотор-колесами. Левое плечо крепится на оси и подшипниках и может вращаться на 360° если его ничто не ограничивает. Физически вращение ограничено корпусом робота.
Причина выбора такой конструкции - проходимость. При движении по неровной поверхности ни одно колесо не вывешивается в воздухе (как у лунохода).

Мотор-редукторы стандартные китайские 37 мм, вал 6 мм, питание 12В, обороты холостого хода 70 мин-1.
Колеса диаметром 120 мм и хабы на вал мотора (от lynxmotion).

2. Корпус.
Изготовлен из листа АБС толщиной 6 мм. Внешние размеры 190х190х72 мм, внутренние 178х178х60 мм.
Листы крепятся друг к другу внутри корпуса специальными блоками.

3. Рука.
Собственной конфигурации из тех же компонентов актоботикс (понравились они мне за прочность, универсальность и огромную номенклатуру).
На данный момент 4 степени свободы + захват. Скоро добавлю еще 2 степени свободы (как доедут компоненты). Приводы будут расположены для обеспечения тех же степеней свободы что и у промышленных рук (как KUKA, например).
Сервы HS-645MG, 3 штуки переделаны для установки в servo gearbox.

4. Батарея.
6 банок A123 systems 26650 M1 в конфигурации 3s2p. Номинал 3.3В, полный разряд 2В, полный заряд 3.6В. Емкость 2300mAh на банку, ток разряда до 60С (138А).
Сверху на них установлена плата OpenUPS для автоматической зарядки. Другие решения не подходят ввиду использования аккумов с нестандартными параметрами (напряжение заряда). С платы упс питание идет на самодельную плату ключей питания (см. ниже электронику).

Если поставить li-pol, то можно обойтись и таким UPS плюс 12В блок питания (как я где-то здесь видел, по-моему у AndreiSk).
Но это пока только мысли. Преимущество используемых мной аккумов в огромном количестве циклов заряда-разряда и их безопасности (ни в коем случае не горят), а это важно чтобы спокойно оставлять робота дома.

5. Электроника.

Arduino ProMini 5V включается сразу при подаче питания, контролирует все ключи питания робота. Дуина получает serial команды от виртурилки (см. ниже), обрабатывает их и раздает дальше на драйвер двигателей и сервоконтроллер.

Плата ключей питания имеет 2 ключа, один для драйвера двигателей и один для виртурилки и сервоконтроллера.

Драйвер двигателей двухканальный RoboClaw 2x5A, питается через ключ питания (см. выше). При поступлении команды движения дуина подает питание на драйвер и далее шлет ему команды управления двигателями. При отсутствии команд движения в течении 20 сек дуина выключает питание драйвера (а то он ест 50 мА даже когда никуда не едет).

Плата virt2real со стоковой камерой и модулем wifi. Видео можно смотреть на компьютере, однако пока оно не проброшено в программу управления роботом, сложности с этим ибо gstreamer, руки пока не дошли. Поэтому и компьютерного зрения пока нет (хотя раньше было и работало).
До этого давно использовалась связка из роутера и вэбки, но качество и скорость работы этой конфигурации меня никак не устраивали, поэтому поменял на виртурилку.

Сервоконтроллер Mini Maestro 18-Channel получает serial команды от дуины и питается от преобразователя D15V70F5S3. У преобразователя есть пин отключения питания, он так же управляется дуиной.

Все нужные провода идут к самодельному коннектору (гребенки PLS на печатной плате 6 на 6 дырок). Снаружи к ним подключена голова (виртурилка с камерой и wifi), сервоконтроллер (питание от step-down и 2 провода UART) и кнопка включения питания (нужно зажать на одну секунду, замыкает контакты включения на OpenUPS).

Планы.

Шасси - установка амортизаторов с большим ходом для левого плеча.
Рука - сделать плоскости захвата шире (сейчас 6 мм в толщину).
Питание - сделать контактные площадки и базу для зарядки, понять как взаимодействовать с smbus на OpenUPS чтобы получать уровень заряда.
Виртурилка - научиться получать кадры с гстримера.
Плата ключей - ключи и реле для управления ими заменить на мосфеты.


Продолжение описания, фотки и видео по мере появления.
Вложения
RobotBase.ino
скетч дуины
(11.7 КиБ) Скачиваний: 317
IMG_3168.jpeg
подвод проводов внутри корпуса к разъему
IMG_3164.jpeg
ключ замера напряжения батареи, дуина и step-down
IMG_3166.jpeg
OpenUPS, батарея и плата ключей питания
IMG_3170.jpeg
снизу. снята крышка отсека драйвера двигателей
IMG_3172.jpeg
общий вид
IMG_3173.jpeg
вид сверху
IMG_3175.jpeg
вид слева
chassis.jpeg
Шасси
Последний раз редактировалось Holmes 21 авг 2015, 14:13, всего редактировалось 4 раз(а).

Re: v2robot

Scorpio » 27 июл 2015, 19:12

Начало не плохое. Ждем больше фоток. Для телеуправляемой телеги надо предусмотреть зарядную базу.

Re: v2robot

robovan » 27 июл 2015, 19:33

прикольный вездеходик

Re: v2robot

Holmes » 27 июл 2015, 22:59

Добавил фоток и скетч дуины.

Re: v2robot

slom » 28 июл 2015, 00:48

крутая штука получилась!
интересует скетчи по обмену данными с одной дуины на другую
Сервоконтроллер Mini Maestro 18-Channel получает serial команды от дуины


по сути дуина мини принимает команды от виртуалки, потом пересылает команды на дуину в Mini Maestro 18-Channel и та уже шевелит сервами... это как раз моя проблема в моем проекте, как соеденить 2 дуины )))
если несложно, выложить ваши скетчи. :oops:

Re: v2robot

Holmes » 28 июл 2015, 01:14

Дело как раз в том что дуина у меня одна. Mini Maestro вообще построен на PIC.
А свой скетч я, кстати, выложил. Он сейчас идет перед фотками.

Если вам нужно именно 2 дуины, то можно:
1 способ. Использовать I2C протокол. Помню я раз связывал дуину нано с голым чипом ATtiny85. Пришлось правда найти библиотеку Wire под аттини, но остальное не составляет труда.
2 способ. Т.к. в основной дуине УАРТ уже занят общением с хост контроллером (роутер, или как у меня вирурилка), то можно использовать SoftwareSerial, в Arduino IDE есть пример. А на второй дуине использовать просто Serial (хардварный УАРТ).

Выберите один из двух способов и попробуйте. Если не получится или сложности в понимании будут пишите, сделаю пример.

И мне интересно зачем 2 дуины.

Re: v2robot

Angel71 » 28 июл 2015, 01:37

Holmes, или код или бесполезно варианты упоминать. понятия не имею, программирование в принципе не дано или просто недостаточно усерден. у него не совсем 2 дуни - одна это какая-то обычная ардуинка, а вторая это вот такая https://www.sparkfun.com/products/retired/12075 платка (328я мега с дуиновским бутлоадером и скромненько с выведенными пинами).
Последний раз редактировалось Angel71 28 июл 2015, 01:53, всего редактировалось 1 раз.

Re: v2robot

Holmes » 28 июл 2015, 01:52

Ясно. Надо почитать примеры кода для ти-рэкса. Тогда набросаю что-нибудь. Но полный код я естественно писать не буду, только как пример.
Последний раз редактировалось Holmes 28 июл 2015, 01:57, всего редактировалось 1 раз.

Re: v2robot

Angel71 » 28 июл 2015, 01:54

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

Re: v2robot

Holmes » 28 июл 2015, 02:21

Я всё посмотрел, там мне не нужно ничего и писать-то.
Нужно скачать архив Documents - ExampleCode по ссылке со спаркфана. Там правда весь код почему-то по разным ino файлам. Его надо скомпоновать (практически тупо свалить в один файл) и залить на ти-рекса (а возможно он уже туда залит при покупке).
Потом чтобы общаться с ти-рексом надо соединить его с основной дуиной и на ней для теста использовать переделанный скетч-пример для Arduino IDE (взять из папки .\libraries\Wire\Examples\master_writer\). Только там по-умолчанию стоит адрес 4, а в тирэксе по-умолчанию 7.
Но если с этим slom сам не справится, то помогать, увы, бесполезно...

Re: v2robot

slom » 28 июл 2015, 10:26

v2robot
скачал код, поначалу не заметил, он слился с картинкой.

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

п.с. кстати заказал с китая еще один джойстик, думаю сделать для каждой ардуины свой пульт. будет машина с 2мя операторами :D как в танке. один рулит и клешней работает, другой управляет пушкой+водометов + световые эффекты.

Re: v2robot

Holmes » 28 июл 2015, 14:31

Примеров нет (и не может быть). Надо просто переписать главный файл для тирэкса попутно выкинув файлы для блютуса, i2c и что там еще не понадобится.
И предлагаю все же переместиться из темы про моего робота в твою тему. Для удобства кинь ссылку на тему сюда.
Я модифицирую прошивку тирэкса для Serial. А управляющий SoftwareSerial на стороне дуины сам напишешь?

Добавлено спустя 3 часа 56 минут 53 секунды:
Вот набор файлов для Serial. Осталось только скомпоновать. Я не тестировал, естественно, возможны баги.
Я оставил старый протокол и убрал весь мусор типа энкодеров, акселерометра, i2c, RC управления. Поэтому некоторые поля в пакете данных остались, но уже не используются. Их лучше подчистить потом, надеюсь справишься.
Вложения
TREX_controller.zip
(5.11 КиБ) Скачиваний: 0

Re: v2robot

slom » 28 июл 2015, 23:26

Holmes писал(а):Примеров нет (и не может быть). Надо просто переписать главный файл для тирэкса попутно выкинув файлы для блютуса, i2c и что там еще не понадобится.
И предлагаю все же переместиться из темы про моего робота в твою тему. Для удобства кинь ссылку на тему сюда.
Я модифицирую прошивку тирэкса для Serial. А управляющий SoftwareSerial на стороне дуины сам напишешь?


вот моя тема
forum10/topic14711-150.html

но кодом от тирекса я не пользуюсь, по крайней мере для управления 1й платой у меня другой код

Re: v2robot

Holmes » 21 авг 2015, 13:59

Сделано:
Рука - добавить 2 степени свободы, убрать провода в изолируюшие трубки (как на шасси), убрать сервоконтроллер в отдельный корпус.
Питание - вывести 2 провода для заряда наружу.
Виртурилка - заменить стоковый wifi на usb свисток.

Тест руки на видео. Пока я не очень хорошо ей управляю, надо доделывать программу. Зато понятно что грузоподъемность хорошая.
В начале видео черная коробка левее руки - голова (виртурилка + камера + usb wifi).


Re: v2robot

slom » 21 авг 2015, 17:07

очень хорошо!
выглядит впечатляюще, и грузоподъемность удивительная. сервы сильно греются в режиме удержания?
как управляете, очень плавные движения, что за джойстик? модельный пульт? можно взглянуть на скетч?


Rambler\'s Top100 Mail.ru counter