Пользователь
0,0
рейтинг
3 августа 2012 в 00:45

Ectognathus, робот-хексапод на микро-сервах своими руками

Добрый день, уважаемые хабровчане. Представляю вашему вниманию статью, в которой я описываю процесс проектирования и создания шестиногого робота полностью с нуля. Вы не найдете здесь надоевших всем ардуин и готовых наборов «хексапод за 5 минут». Из-за большого объема информации, статья будет состоять из нескольких частей, описывающих разные этапы проектирования и освещающих грабли, на которые я наступал в процессе оного.
Итак, встречайте – Ectognathus.




Уже довольно давно я планировал собрать робота. Если быть точнее, я выбирал между несколькими вариантами – гусеничных и колесных роботов я отмел сразу, т.к. это довольно тривиальное решение, и выбор был, в основном, между квадрокоптером и хексаподом.
Меня всегда привлекали микро-квадракоптеры, но что меня в них всегда расстраивало – они очень недолго летали от аккумулятора. Как-то раз я вспомнил о том, что у меня валяются три микро-сервопривода, и за день собрал вот такого мелкого робота:



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

Начало разработки



Изначально мы планировали собрать робота с двумя сервами на ногу. Это снизило бы цену (12 сервоприводов против 18!) и энергопотребление. В конструкциях подобного рода один сервопривод управляет поворотом ноги в горизонтальной плоскости, второй – ее подъемом. Нога, как и в трехсервовом варианте состоит из двух частей, но соединены они рамкой, а не дополнительным сервоприводом. Таким образом, в крайних положениях нога может быть либо «поднята и прижата к телу», либо «опущена на поверхность и отставлена», в отличие от трехсервового варианта.
Для начала нужно было прикинуть конструкцию ноги, для чего я решил воспользоваться Google SketchUp 3D. На этот момент у меня на компьютере не было установлено ни одного машиностроительного сапра, и даже ни одной программы для 3D моделирования, поэтому я решил скачать бесплатную, и, по словам многих, простую программу от гугла. Итоговую модель планировалось, разумеется, делать в SolidWorks.
Забегая вперед, выскажу свое субъективное мнение. Даже для быстрых прикидок такого рода выбирайте SolidWorks. После того как я перешел на него, я понял что он удобнее в любом случае. Хотя бы за счет удобных привязок, иерархии моделей и т.п. Не говоря уж о том, что вам не придется делать двойную работу и перечерчивать модели из вашей 3Д проги в солид. У гугловской проги только три преимущества – бесплатность, вес (30 метров) и огромный репозиторий моделей, в который юзеры закачивают свои творения, так что, например, сервопривод там уже был.
Итак, начал я с гугл-скетча и начертил там вот такую прикидочную конструкцию:



После обдумывания, перечерчивания и снова обдумывания, она превратилась сначала в это:

image

а потом в это:



Все детали проектировались для фрезерования из алюминия, поэтому они должны были иметь либо плоскую форму, либо получаться в процессе гибки. Конечно, это по-прежнему был всего лишь скетч, да и не самый удачный вариант исполнения, но решено было приостановиться на этом и выбрать сервоприводы. Основными критериями стали размер приводов и их скорость. В основном на e-bay представлены стандартные сервоприводы и микросервы. У стандартных сервоприводов здоровый разброс параметров и цен, самое дорогое, что я видел – сервопривод за 300 баксов штука, момент которого был около 60 кг*см.
Микросервы в основном имели момент 1-2 кг*см и скорость около 0.1. Когда я только начал проектировать, я выбрал вот этот сервопривод, скорость которого была почти в два раза выше, чем у прочих микросервов, при таком же моменте. Но после того как я запросил чертежи, оказалось, что он совсем даже и не микро, а что-то среднее между микро и стандартным, и в итоге я выбрал те же самые сервоприводы, на которых сделал своего первого трехсервового робота, MG90S, которые стоят в три раза дешевле прошлых.
Также, чтобы дважды не заказывать, я выбрал в том же магазине аккумуляторы для робота. Когда я замерил ток, потребляемый трехсервовым роботом, я, честно говоря, был удивлен. По моим прикидкам он должен был потреблять около 300 мА, в реальности же значение тока скакало от 500 до 700 мА, то есть хексапод с 18 приводами должен был бы потреблять в шесть раз больше, около 4.5А при 6В питания. Так как ток получился немаленький, я решил взять какой-нибудь литий-полимерный аккумулятор подходящего размера. К сожалению, почти все литий-полимерные аккумуляторы большой емкости были очень длинными (8-12 см!), из-за чего пришлось бы делать туловище робота больше, чем я рассчитывал, но, к счастью, среди них нашелся вот такой.
Этот аккумулятор оказался не только меньше в длину, но еще и очень узким (штангенциркуль показал толщину 17 мм). Задавшись максимальным потреблением в 5А при 6В, то есть в 30 Вт, я решил поставить на робота два аккумулятора, что дало в сумме 2.4АЧ при 11.1В, то есть 26.64 ВтЧ.
Значит даже при максимальном потреблении робот должен жить от них 53 минуты.

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


Робот в окружении своих деталей.

В итоге я e-bay я заказал 20 сервоприводов MG90S, два аккумулятора и зарядное устройство для них. Весь заказ обошелся мне практически ровно в 200 баксов. После этого я наконец то установил солид и мы с другом начали настоящее проектирование.

Проектирование



На данном этапе мы разделили обязанности, друг начал перечерчивать в солид части ноги, а я занялся креплением сервоприводов. Собственно, это был один из основных узлов конструкции, который являлся первым сочленением ноги и крепился к туловищу, осуществляя поворот ноги в горизонтальной и вертикальной плоскости. Необходимо было перейти от скетча, изображенного ниже, к реальной конструкции.


При этом возникали следующие проблемы:
  1. MG90S, как и большинство сервоприводов, имеют ось только с одной стороны. Крепить их за одну ось не хотелось бы, так как это может создать нежелательные деформации.
  2. Пластиковые «уши» для крепления сервы также находятся только сверху, поэтому одной скобой было не обойтись.

Исходя из этого, первая конструкция держателя для двух сервоприводов вылилась в довольно очевидное решение, изображенное ниже:



Узел состоял из двух скоб, свинченных друг с другом, к которым привинчивались сервоприводы.
В скобе, предназначенной для крепления сервопривода, осуществляющего поворот в горизонтальной плоскости, было проделано отверстие напротив его оси, в которое предполагалось вставить винт, который должен был бы послужить продолжением оси.
Обе скобы получались из листового алюминия фрезеровкой и последующей гибкой. Солид предоставляет очень удобную утилиту, позволяющую получить развертку детали без каких либо усилий, за пару кликов – для этого достаточно нарисовать саму деталь в том виде, в каком вы хотите ее получить:



После чего выбрать в меню Insert — Sheet Metal — Convert to sheet metal, указать грань, относительно которой будем гнуть, толщину листа и радиус гибки:



После нажатия OK получаем итоговую деталь, разница видна невооруженным глазом:



В дереве операций слева, помимо собственно гибок, появилась еще одна, неактивная – Flat-Pattern. Активируя ее, мы получаем искомый контур для фрезеровки:



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



Эта модель позволила наконец измерить массу робота. Результаты получились следующие:
18 сервоприводов по 13.5 грамм каждый = 243 грамма, округляем до 250 г.
Два аккумулятора по 75 грамм = 150 г
Конструкция (без вырезов в туловище), выполненная из листового алюминия 2 мм толщиной = 400 г.
Таким образом, суммарный вес робота составил 800 грамм. Исходя из этого значения и предельного момента сервопривода (2.2 кг*см), а также долгого просмотра различных видео на youtube, посвященных хексаподам, были выбраны длины деталей ног (те длины, что были использованы в модели, изображенной выше, были взяты лишь временно).
В результате, вертикальная часть ноги, «голень», решено было сделать 110 мм, горизонтальную, «бедро» — 60 мм, что давало отношение близкое 1:2, которое обычно и наблюдается у хексаподов, и момент 6*0.8 = 4.8 кг*см. Один сервопривод, разумеется, не в состоянии поднять такой вес, но у нас целых шесть ног, три из которых постоянно поддерживают туловище, поэтому предельный момент, приходящийся на один сервопривод можно принять равным 4.8 / 3 = 1.6 кг*см. На самом деле, так как в подъеме ноги участвуют два привода, реальный момент оказывается еще примерно в два раза меньше, то есть около 600 г*см. При желании, можно было вычислить точные значения при помощи сапра, дополнив модель нагрузками, но я решил остановиться на прикидочном значении, так как приводы обещали сильно его превосходить.

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




Узел состоит из двух совершенно плоских деталей с прорезями под выступы сервоприводов и свинчивается при помощи двух стандартных стоек. В качестве оси, как и раньше, выступает винт, который, однако, пришлось заменить винтом со скрытой головкой. В противном случае, один из приводов бы упирался в головку винта.
Ноги тоже были перерисованы, во-первых была приведена в соответствие длина их частей, а во-вторых их форма была изменена на более декоративную, чтобы не производить впечатление запчастей из детского конструктора:



Наконец, итогом всей работы стала новая модель робота, которую я представляю вашему вниманию:



Тогда же робот получил имя Ectognathus (от insecta ectognatha, одного из названия насекомых, также величаемых hexapoda, шестиногие), за которое спасибо еще одному моему другу.
После того, как модель была завершена, достаточно было скинуть солидворксовские файлы в любую контору, занимающуюся фрезеровкой и получить желаемые детали. А так как все они в итоговом варианте были плоскими, то никаких дополнительных операций не требовалось и сразу после фрезеровки можно было уже свинчивать конструкцию, предварительно закупившись винтами, подшипниками, стоечками и гаечками.
На этом проектирование закончилось и началось…

Производство



Так как эта статья уже получилась довольно объемной, подробности перехода от модели к реальному устройству и сопутствующие проблемы и косяки (коих оказалось весьма немало!) описаны в следующей статье.
Спасибо за внимание!
@Ariman
карма
352,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

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

  • +7
    Спасибо, на самом интересном завершили пост, но мы будем следить и ждать.
    • +2
      Хорошая политика для сериала :)
  • +3
    Отлично!!! А не могли бы вы до новой статьи рассказать, где вы заказывали производство деталей и сколько обошлось?
    • +4
      Рассматривал несколько вариантов — фирмы, занимающиеся резкой/фрезеровкой (легко находятся в интернете по соответствующему запросу) и частников, обычно сотрудничающих с моддерами. В фирмах есть обычно ограничение на минимальный заказ, дешевле 5к, по-моему и нет. С частниками проще, да и материал у них же можно прикупить.
      Но в итоге обратился к бывшему одногруппнику, у которого тоже был фрезер, и вырезал со скидочкой)

      Несмотря на скидочку, вышло мне это в 5000 рублей — но это плата за мои косяки, которые я опишу в следующей статье. Если коротко — вырезал несколько тестовых деталей, потыркал, понял, что надо фиксить, пофиксил, вырезал новые тестовые, понял что ок, вырезал всю партию.

      Отлаженный заказ выйдет дешевле.
      • 0
        Вот эти ошибки, самое важное… я ожидал это увидеть в статье… буду ждать, пишите.
        • 0
          Это в следующей будет, в эту уже не влезало.
  • +3
    Спасибо за статью, очень мало такого материала в рунете. С нетерпением жду продолжения.
  • 0
    Замечательно! Спасибо за статью. Хотелось бы услышать рекомендации по выбору тех самых сервоприводов.
    • +1
      Про приводы в следующей статье отдельно скажу. Так сказать, воспою хвалебную песнь китайским производителям, это просто адский ппц…
  • +2
    А прыгать, прыгать-то он сможет?
    • +1
      Судя по конструкции, насчет прыгать не скажу, а вот делать жест НЕТ_ТЫ с тремя сервами на ногу сможет запросто)
  • 0
    Ждем продолжения. Автору спасибо!
  • 0
    А почему выбрали материал-алюминий. Нельзя ли было изготовить их из пластика? Получился бы легче, вроде бы есть достаточно прочные материалы. Даже напечатать на 3D принтере по-моему можно…
    • +3
      Где вы будете искать 3D принтер? А из листового металла рабочий с любого завода изготовит вам детали. И вообще металл красивее и приятнее пластмассы ^_^
      • 0
        Судя по профилю, автор поста живет в Москве. Здесь куча фирм занимающаяся 3D-прототипированием, только присылай модель в электронном виде. Примеры приводить не буду, чтобы не рекламировать, гугл кому нужно поможет. Вопрос только в цене, именно поэтому я и спросил, рассматривался ли автором этот вариант или нет.
        • +1
          Вот кстати нашел примерные цены одной из фирм:
          Объем, куб. см Стоимость, руб. за 1 куб. см.
          0-30 Минимальный заказ — 1200 руб.
          30-100 40 руб.
          100-1000 35 руб.
          более 1000 цена договорная
          Стoимoсть мoдели рассчитывается исходя из ее полезного объема. Т.е. при цене рассчитывается именно объем пластика, из которого изготовлена модель, но не объем модели.
      • +1
        Спасибо, очень интересная статья, просто мечта. Но вопрос про алюминий встал сразу.
        Почему алюминий, а не пластик? С пластиком на корпусе можно было бы сэкономить грамм 250-300, фактически треть веса со всеми вытекающими. Болты тоже на картинках довольно большие.
        Ладно, не пластик, но почему толщина 2 миллиметра? А не один или не пол? Получается бронированный шестиног? :)
        Насколько я понимаю, наиболее выгодно делать ноги наиболее лёгкими, вынося как можно больше массы в корпус или к основанию ноги, а в вашем случае сервы в суставах. Можете прокомментировать?
        Сколько занял период виртуального моделирования?

        Дальше встали вопросы про датчики и проводку, но это не к данной статье :)
        Спасибо за интересный материал, буду ждать следующие выпуски с нетерпением :)
        • 0
          А почему мне пишете, я не автор статьи, я только комментарий написал :)
          • 0
            Упс :) Вы ответили, а я вам ответил :)
        • +1
          Ну выше сказали вполне правильно — «вообще металл красивее и приятнее пластмассы ^_^», вот поэтому и выбрал)
          Толщина такая, чтобы не гнулся от малейшей нагрузки — 0.5 мм алюминия гнется моментально.
          К тому же масса в ногах все равно сосредоточена в сервах, они под 14г весят, нога весит намного меньше, даже алюминиевая. Впрочем, в итоге я-таки взял другой материал — обстоятельства заставили, это описано во второй статье, которую я только что выложил)
  • +1
    Насчет сервомашинок: мои SG90 почему-то выдавали всего треть заявленного момента при напряжении питания 5В. Не знаю, попались мне такие экземпляры, или у них момент нормируется при самом высоком напряжении питания (7В кажется).

    А вообще идея красивая :)
    • +1
      У них совести нет, а не момент при 7В нормируется. Во второй статье подробно описал этот момент, читайте на здоровье)
      Сам подавал 7В на сервы, один черт, еле тянут, да еще и сгореть могут если их застопорить при таком напряжении.
  • +2
    Что будет мозгами робота?
    • 0
      Описал это во второй статье. Ссылка в конце этой.
  • 0
    Спасибо за подробность, очень интересно.
  • 0
    Товарищ, хотелось бы посмотреть на код и схему подключений.

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