Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Советы » Шестиногий робот, передвигающийся по случайному маршруту

    Шестиногий робот, передвигающийся по случайному маршруту


    Здоровья и удачи вам, решившим потратить время на прочтение этого текста!


    Данный робот создавался не с какой-то специальной целью, тем более в Интернете таких моделей немеряно, просто по мере освоения вселенной "Arduino" захотелось сделать что-то посложнее светодиодной мигалки.

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


    В далеком счастливом детстве попалась мне как-то книжка «Юный кибернетик». Книжка была большая, толстая, хорошо оформленная (имею слабость к хорошим изданиям), но, уже даже тогда, совершенно бестолковая по содержанию. Вот там описывалась самодвижущаяся тележка, которая, натыкаясь на препятствия, в случайном порядке выбирала направление следующего движения (все без всякой цифры, чисто электромеханически и немножко на МП42, кто помнит - поймет). Эта «руководящая идея об орехах» запала мне в душу и я периодически пытаюсь ее реализовать. Не обошла чаша сия и описываемого здесь робота. Короче, общая идея такова: автономно передвигающийся робот, который, натыкаясь на препятствие, отходит назад, выбирает в случайном порядке новое направление движения и топает себе дальше. Для обнаружения препятствий используется УЗ-дальномер на поворотной «голове». Ну, и, конечно же, в качестве жертвы идолищу тоталитарного волюнтаризма, предусмотрено прямое управление через ИдгуЕщщер, пардон, BlueTooth посредством смартфона.


    Как прирожденному халявщику, придумывать дизайн конструкции с нуля мне было в лом, и, порывшись в Интернете, я взял за образец концепцию модульного конструктора роботов "Allbot", представленного вот здесь: https://www.thingiverse.com/thing:1434665.

    Рис.1 Шестиногий робот «Allbot»

     

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

    Рис. 2 Главный герой нашего повествования. Вид спереди


    Рис.3 Вид сзади


    Рис.4 И, пардон, снизу.


    Все детали распечатаны на принтере «Tronxy D01», пластик PLA.

    У робота 6 ног, на каждой ноге 3 сервопривода - итого 18 приводов + ещё один для поворотной «головы» УЗ-дальномера. Сразу скажу, не связывайтесь с сервами с пластмассовыми шестеренками, берите с металлическими (MG90S).

    Для управления сервами применен шилд HW-378 с контроллером PWM PCA9685. Т.к. PCA9685 может управлять только 16-тью приводами, оставшиеся три управляются непосредственно контроллером Arduino через стандартные выходы с помощью библиотеки Servo.h .


    Для управления контроллером PCA9685 используется библиотека Adafruit_PWMServoDriver.h .  Кстати, ее пришлось «гвоздиком поковырять», т.к. в родной не работает чтение значений PWM из регистров PCA9685. Подправленная библиотека приложена в сопутствующих файлах.

    Рис.5 Порядок нумерации сервоприводов.


    Счет ног:  передняя левая - Нога 0, передняя правая - Нога 1, средняя левая - Нога 2 и т.д.

    Счет сервоприводов сквозной, начиная от корпусных (рис.5): передняя левая нога - 0, 1, 2; передняя правая нога - 3, 4, 5 и т.д.

    Номер сервопривода УЗ-дальномера - 18.

    Шилд был основательно перепахан:

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

    На входе по питанию установлен общий конденсатор 3300 мкФ.

    Сервоприводы по питанию разделены на 2 группы. Для питания каждой группы установлен свой понижающий преобразователь и конденсатор 2200 мкФ.

    На плате установлены дополнительно три разъема для сервоприводов, управляемых непосредственно от Arduino.

    Питание Arduino осуществляется через пин Vin шилда.

    Непосредственно в разъем шилда (пин 11 и Gnd) воткнута пищалка, пищалка с внутренним генератором (не пассивная).

    Здесь перечислены основные моменты, подробности на схеме.

     

    Диаграммы фаз положений ног для одного шага каждого вида движения робота:

    1. Черный кружок на конце ноги – нога опущена.
    2. Белый кружок – нога поднята.

    Рис.6 Движение вперед.


    Рис.7 Движение назад.

    Рис.8 Разворот влево.



    Рис.9 Разворот вправо.


    Рис.10 Вперед с поворотом влево.


    Рис.11 Вперед с поворотом вправо.


    Рис.12 Назад с поворотом влево.


    Рис.13 Назад с поворотом вправо.


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

     

    Робот в режиме ручного управления стоит и ждет команды, в режиме «авто» движется прямо, вращая головой в пределах угла ≈120°. Когда дальномер обнаруживает препятствие, робот останавливается, делает «пик» и два шага назад (количество шагов задано в программе), затем поворачивает на случайный угол и движется дальше. Интересно наблюдать как, двигаясь в таком режиме, робот достаточно быстро находит выход из комнаты и, за довольно небольшой промежуток времени, уходит достаточно далеко от начальной точки.


    Ручное управление, как я уже упоминал, осуществляется через BlueTooth через приложение на смартфоне. Я использовал «BlueTooth Electronics V1.3» от Keuwlsoft.

    Ну и видео: Видео1.

    Все необходимые файлы можно скачать здесь:  HexapodRobot Files

    Простой прием, позволяющий сэкономить время и силы при перетаскивании длинных срезанных веток на дачном участке

    О ремонте светодиодной лампочки «на скорую руку»

    Добавить комментарий

    2 комментария
    Korolev #83977
    Jerry,
    Прикольная штука.

    Кажется у Стругацких был рассказик, как ребята создавали робота с семью автономными равноправными ногами, лишённого мозжечка, и пытались заставить его решать задачку про буриданова ишачка!  xaxa 

    Jerry #83969

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии