Создание ходячего робота

    После активной учёбы в универе: лаб, курсовых, экзаменов — летом испытываю ломку чего-нибудь поделать такого интересного, мозги размять, себя порадовать.
    Вот и в этот раз не обошлось — решил сделать какого-нибудь прикольного робота. Всякие машинки мне уже надоели, до мультироторных систем я еще не дорос. Решил сделать гуманоида:) Гуманоида не получилось…
    Но, конечно, зажегся идеей, вспомнил детские просмотры «Терминатора» и «Звездных воин» и начал работу.

    И вот что получилось:

    image

    В посте опишу процесс создания этой штуковины по прозвищу Тимми(иногда называю его Хромой Вася — в конце в видео будет понятно почему)

    Буду вести описание в том виде, в каком это все придумывалось. Сразу оговорюсь, ни к каким дополнительным источникам и примерам я не прибегал, все сделал и придумал сам, так сказать… зачем изобретать колесо? а чтобы научиться его изобретать!

    Итак, в качестве «мышц» я решил использовать сервомашинки, и заказал 8 микросерв TowerPro, еще у меня оставались 2 микросервы Fliec, но они мне понравились меньше, так как сильно греются (на картинке на голове радиатор как раз на такой серве).

    А пока шли сервы, решил сделать «мозги». Оставался один микроконтроллер Atmega168 и, как мне показалось, его вполне хватит.

    Быстро нарисовал дорожки для ЛУТ:

    image

    Сорри, не спец в оформлении. Плату сделал ЛУТом, залудил сплавом Розе, просверлил дырочки, все спаял и вот что получилось:

    image

    (за качество фото даже прощения просить не буду, все равно не простите, а вот пооправдываться могу — дома темно и фоткать не умею совсем)

    Яркий светодиод — извещение о работоспособности, синий можно подключать к любому пину и повесить на него задачу индикации чего-либо. Пищалка так же может подключаться к любому пину.
    Для питания используется простой LM7805, импульсных преобразователей под рукой не нашел. Тут на него прикручен небольшой радиатор, так как токи текут достаточно серьезные от нескольких серв и греется он неплохо.

    Итак, сервы пришли, «мозги» готовы (правда, в голове опилки)… настала пора задуматься о том, как и из чего делать скелет… тут на помощь пришел материал под названием Поликапролактон. Это медицинский пластик, биологически разлагающийся, безвредный, с температурой плавления около 60 градусов. Расплавил — и лепи руками:) Единственный минус — изделие не должно подвергаться нагреванию до 50-60 градусов, и я сначала опасался, что сервы сыграют со мной злую шутку. Но оказалось, что опасаются они, так как они грелись лишь спустя 10 минут активной работы и то градусов до 40.

    В голове нарисовал себе примерную схему скелета и решил решать проблемы по мере их поступления.
    Расплавив в микроволновке погруженный в воду полиморф, раздавил из него лист между двумя отрезками стеклами. Затем разрезал на части, сгибал и спаивал детали паяльным феном. Таким образом все и получилось. Легко и просто. Лишние обрезки можно вновь и вновь переплавять — безотходное производство.

    image

    Затем закрепил плату и дальномер с микрофоном также на сервомоторе.

    image

    После всех этих приключений настала пора программирования. Программу писал на ассемблере. Итог программы — движение можно задавать матрицей вида
    act:   .db 0x3c,0x2a,0x3c, 0x2e,0x42,0x30, 0x36,0x36 ;1 
    	   .db 0x3e,0x24,0x42, 0x20,0x40,0x39, 0x36,0x36 ;2
              
    	   .db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;заглушка
    


    где одна строка задает углы для каждой из 8 сервомоторов, 0x16 — 0 градусов, 0x56 — 180 градусов. Строки меняются по прерыванию 16 разрядного таймера. Если нужно контролировать скорость движения — нужно уменьшить коэффициент предделителя и увеличивать количество строк матрицы. У меня же пока стоит квантование по полсекунды и он дергается как сумасшедший каждые полсекунды.

    Вот пример работы этих двух строк с квантованием в полсекунды. Всего две строки и Вася уже хромает!

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

    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 26

      0
      надо купить полиморф.
        0
        он не очень дорогой, 300 грамм — около 500 рублей. и этих трехсот грамм хватит надолго, ну смотря для чего конечно…
          +4
          да я знаю, топик в закладках давно висит про него. проблема в том, что я не знаю, зачем он мне.
          +1
          Кстати, его химическое название — поликапролактон (ПКЛ).
            0
            да, где-то я его упомянул:) спасибо
              0
              Не путать с поликапролактамом.
            –1
            надо бы ШИМ использовать, а то он от рывков падает, и возможно центр тяжести сместить немного
              +1
              … Если нужно контролировать скорость движения — нужно уменьшить коэффициент предделителя и увеличивать количество строк матрицы. У меня же пока стоит квантование по полсекунды и он дергается как сумасшедший каждые полсекунды…
              Из конца статьи.

              скажите, а причем тут ШИМ?
                –2
                с помощью ШИМ сервоприводом управлять легче
              0
              действительно)) тогда такой вопрос, а как им еще управляют?=)
              • НЛО прилетело и опубликовало эту надпись здесь
                  0
                  спасибо, я по-своему, просто нужно посидеть подольше
                  –7
                  Робототехника — не Ваша стезя
                    +2
                    ;) благодарю за мнение
                      +1
                      это мое хобби
                      0
                      Блин, люди, когда вы уже другими вещами заниматься будете? Ну убожество же. Никаких инооваций, как было 50 лет назад, так и сейчас.

                      Сделай ты ему программу с генетическим алгоритмом, обучи его делать нормальные шаги, чтоб робот знал свое тело и учитывал распределение масс. Тогда он у тебя нормально пойдет.

                      И не говори мне что это всего лишь твое хобби! Когда другие уже будут вовсю делать самообучаемых на хождение роботов, ты все еще будеш делать заводные игрушки.
                        +1
                        спасибо за советы, для хобби мне достаточно «заводных игрушек» для своего первого робота, нужно начинать с малого. а шаги он будет делать нормальные и без генетических алгоритмов. а чтобы робот знал свое тело, думаю надо иметь больше деталей и соответственно денег, которых итак нет.
                          +2
                          Я думал что в качестве хобби можно делать то, что тебе нравится… А когда «другие» будут делать оч крутых роботов, в качестве хобби, то 99% эти роботов будут просто построенные на чужих образцах и с чужим опенсорсным кодом.

                          Это на квадрокоптерах хорошо видно.
                          Много людей пишут что сделали DIY квадрокоптер, а DIY там на пять копеек. Используется одна из трех опенсорсных прошивок и купленные компоненты.

                          Здесь же с нуля сделано.
                          0
                          Что за дальномер использовали? Не видел еще такой модели. Какая дистанция/угол обзора?
                            0
                            Ультразвуковой дальномер URM37 v3.2. Диапазон расстояний: 4 см – 3 м (при хороших условиях до 5 м) — по документации. У моего 9 см — 4 м при комнатной температуре и средней влажности.

                            На второй вопрос ответ вот здесь:

                            image
                            0
                            Добавьте пожалуйста статью в хаб DIY, туда она много больше подходит, чем просто в «Программинг микроконтроллеров».
                              0
                              сначала не позволяла карма, сейчас добавил, спасибо
                              +1
                              Робот Вася в самом начале пути :) За идею с пластиком спасибо, в остальном все очень уж банально. Да ещё и ассемблер — нафига он тут, с квантованием в полсекунды? Максимум что вы достигнете с сервами, 100-200Гц цикла (а вообще они на 50 расчитаны), для этого C/C++ вполне подходит. А ещё, без гироскопов нормльно ходить он не сможет, поверьте с ними гораздо интереснее.
                                0
                                квантование уже стоит 0.1 секунды и мы уже ходим но не совсем прямо. а насчет последнего готов поспорить, вскоре выложу видео нормальной ходьбы. но то что интересней, эт да
                                  0
                                  идея с белым термопластиком хорошая, спасибо.
                                    –1
                                    Я не понимаю что все зациклились на ходячих роботах?
                                    По моему проще купить готовую платформу робота и заняться программной частью

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                    Самое читаемое