Решил тоже сделать своего робота. Мне больше интересен сам процесс, чем уже готовое решение,так как когда создаешь что-нибудь, изучаешь многое интересное прокачиваешь себя))
Робот представляет собой платформу которая может управляться с пульта,и ли компьютера (пока слишком тупая,чтобы принимать решения самостоятельно но я над этим работаю)
Железо
Итак,с чего же состоит мой робот:
1. Платформа с 4 независимыми моторами и редукторами, машинка с радиоуправлением стоит дороже,и не сильно ее можно переделать:
2.Драйверы двигателей — нужны чтобы управлять направлением и скоростью движения.
3.Для питания использовал два Step-Down преобразователя,выходное напряжение можно настраивать.
4.мозг робота:
http://www.synapse-wireless.com/SM700_rf_engine — радиомодуль на ARM7,с зашитым интерпретатором языка python (к сожалению). Модуль хорош тем что можно не использовать микроконтроллер, можно загружать Python скрипты (обрезанная версия python) в модуль по радиоканалу. Плох модуль тем что нельзя программировать на чистом С.
Программирование
Для программирования модулей используется среда Synapse Portal. После написания скрипта,его можно сразу загружать в радиомодули по беспроводному каналу связи! Для программирования можно использовать два варианта:
1. Написать два скрипта,каждый под свой радиомодуль (платформу и ПДУ)
2. Написать один скрип с функциями двух радиомодулей,а нужний код выбирать при конфигурации переключателей,или перемычек.Я выбрал первый вариант,он проще и мне больше так нравиться. На рисунках среда Synapse Portal. На первом отображаеться список устройств (нодов). На втором пример загрузки скрипта в модуль.
Принцип работы
4 двигателя подключены каждый к своему каналу драйвера, 1 драйвер имеет 2 независимых канала управления. Подробнее о драйвере двигателей уже написано здесь.
К драйверу идут 2 источника питания: 5V — питание логики драйвера, и 8V силовое питание для двигателей (питания двигателя 6V, но на транзисторах драйвера падает примерно 2V).
5V и 8V создаются 2 Step-Down преобразователями.
Питание робота от китайской Li-Ion батареи, 14.V 5200 mA. Знаю,батарея большая и некрасивая, но у мене пока другой нет. Да и для первого прототипа нормально.
Сигналы управления двигателя с драйверов идут на радиомодуль. На радиомодуле бегает прошивка(скрипт). Задача радиомодуля принимать команды от другого радиомодуля, обрабатывать их и подавать сигналы управления на драйверы двигателей («0», «1» и PWM).
К другому радиомодулю подключена клавиатура (самодельный джойстик) для управления платформой, вместо джойстика можно использовать UART и управлять с компьютера.
Что в перспективе хочу сделать. (кнопками с программы запущенной на компе управлять движением робота и в нее с робота выводить показания снятый модулем на роботе).
Между радиомодулями полнодуплесная связь. Можно создавать сеть с нескольких радиомодулей. Поворачивается робот по танковому принципу. Планируется сделать пропорциональное управление. И разворот робота на месте с минимальным радиусом (при повороте одна пара колес двигается вперед, другая в тоже время назад).
Результат
движущаяся платформа:
Пульт дистанционного управления:
и видео:
Разработка очень сырая,и пока робот не принимает решения самостоятельно, еще рано называть его роботом)
Думаю с рисунков должно быть все понятно, если есть вопросы — задавайте, с удовольствием отвечу на все!