Свой шагоход? Свой шагоход…. arduino.. arduino. DIY или Сделай сам.. arduino. DIY или Сделай сам. Блог компании Beget.. arduino. DIY или Сделай сам. Блог компании Beget. избушка на курьих ножках.. arduino. DIY или Сделай сам. Блог компании Beget. избушка на курьих ножках. робототехника.. arduino. DIY или Сделай сам. Блог компании Beget. избушка на курьих ножках. робототехника. Физика.. arduino. DIY или Сделай сам. Блог компании Beget. избушка на курьих ножках. робототехника. Физика. шагающий робот.. arduino. DIY или Сделай сам. Блог компании Beget. избушка на курьих ножках. робототехника. Физика. шагающий робот. шагающий стол.

Ладно… Чувствуется, что никто кроме меня вас об этом не спросит, поэтому, придётся мне: хотели ли бы вы свою собственную избушку на курьих ножках? :-B 

Не-не-не Баба-Яга может расслабиться: мы ни в коем разе не претендуем на её рабочее место — а всего лишь хотим приглядеться к её инженерному шедевру: довольно недурная так то штука: самый исторически первый пример шагохода, между прочим! 

Чем же для нас может интересна эта небезызвестная изба: исключительно своими ходовыми качествами, возможностью «уверенно перемещаться по пересечённой местности» и доставлять полезные грузы, в лице одной не особо приятной бабки

В общем, согласитесь, что ситуация вызывает некоторый интерес и желание обзавестись своим собственным шагоходом… ;-) 

Обычно, когда говорят о шагающих роботах, подразумевается большая вычислительная мощь, масса датчиков, быстродействующих и мощных приводов — а с некоторого момента ещё и интеграция нейросетей, позволившие быстро объединить физическое устройство конкретного робота, предварительный захват движений человека, а также нейросетевую обработку реальной ситуации, с выбором нужного сценария движений в конкретной среде, благодаря чему, плавность и естественность движения последних поколений роботов оказывает на зрителя не просто сильное впечатление, а и даже, в некоторой степени, оторопь, заставляя сомневаться, и говорить самому себе — «нет, такого быть не может, это какая-то графика»:

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

Тем не менее, несмотря на привлекательность подобных последних поколений роботов, цена их малодоступна для простых рядовых энтузиастов…

Но один весьма интересный способ, как можно приобщиться к миру шагоходов и мы его сейчас рассмотрим, причём, он особо привлекателен как раз тем, что позволяет обойтись без задействования сложных аппаратно-программных комплексов, а, в случае все задействования их, как мне удалось выяснить, обойтись всего лишь обычной Arduino Nano!* :-D 

*Понятно, что это совсем начальный вариант и лично я его чуть ли не сразу бы проапгрейдил, переведя на esp32 (беспроводные интерфейсы и удалённое управление это всё-таки сила, знаете ли!).

Считается, что основу шагающим машинам положили разработки русского математика Пафнутия Чебышева, чья разработка 1878 года произвела настоящий фурор на всемирной парижской выставке, так как в её основе впервые наглядно вращательное движение было преобразовано в поступательное шагающее, где само устройство состояло из 4, так называемых «лямда-механизмов»:

                                                                                                                                                                                 Arglin Kampling

                                                                                                         MichaelFrey

Как можно видеть, своё название «лямбда-механизм» получил из-за схожести с греческой буквой лямбда (λ).

Одним из основных недостатков подобного механизма считается относительно малый подъём ноги при ходьбе, а также, относительно малая длина шага.

Долгое время подобная конструкция удерживала пальму первенства, но, на переходе между 1980-х и началом 1990-х годов, с активным развитием робототехники, широким распространением компактных мощных персональных компьютеров и распространением относительно дешёвых микроконтроллеров, робототехника получила новое дыхание

Следствием этого явилась потребность переработать старинную кинематику, чтобы начать двигаться в сторону более эффективных шагающих роботов — думается, что для инженеров почти всегда было мечтой создать шагающий механизм и в этот исторический период эта мечта стала воплощаться в реальность… 

Видимо поэтому ответом на вызовы этого исторического момента и стала разработка в 1994 году Джо Кланном (Joe Klann) одноимённого «механизма Кланна», представлявшего с собой шарнирную конструкцию и предназначенную для имитации движения живых существ, где вращение кривошипа приводило в движение «ноги» роботизированного механизма:

Свой шагоход? Свой шагоход… - 3

По некоторым данным длина «шага» (то есть горизонтального участка движения) механизма Кланна примерно вплоть до половины длиннее, чем у механизма Чебышева. Кроме того, если посмотреть на траекторию движения «стопы» (на картинке ниже — зелёная траектория в самом низу), то, можно увидеть, что длинная горизонтальная траектория движения сменяется относительно высоким подъёмом ноги (это же можно увидеть и на анимированной картинке выше), — таким образом, можно сказать, что, в общем случае, роботы, построенные с использованием механизма Кланна обладают большей проходимостью на пересечённой местности:

                                                                                                                                                                                           Joseph KlannMarkings, MichaelFrey

Тем не менее, такой резкий подъём ноги вверх вызывает некоторые проблемы, а именно вертикальное раскачивание платформы. 

Кроме того, из-за относительно малого количества ног, перемещение платформы происходит слишком рывкообразно в горизонтальной плоскости — проще говоря, платформа движется вперёд, совершая постоянные резкие рывки вперёд (это мы ещё увидим ниже). 

С этим борются, изменяя точку крепления бедра или увеличивая число ног вплоть до 6-8-12, вместо начального минимального количества (4). 

Тем не менее, примерно в те же годы, практически параллельно с механизмом Кланна, начал развиваться и альтернативный механизм, получивший название «механизма Янсена», по имени своего изобретателя Тео Янсена (Theo Jansen)— нидерландского физика и художника (закончил факультет прикладной физики, а потом стал художником-самоучкой), одним из самых известных творений которого является приводящийся в движение дуновением ветра довольно большой шагающий робот, инопланетного вида — «Береговая Птица» («Strandbeest»):

Занятно, что на своём сайте, говоря о периодах эволюции этого механизма, сам автор пишет, что в начальный период 1991-1993 года, во время разработки одной из самых первых модификаций робота, он сразу же применил новые технологии — оптимизировал длины сегментов ноги, с использованием генетического алгоритма и своего компьютера Atari. 

Таким образом, наверное, можно сказать, что механизм Янсена — является первым в истории компьютерно-оптимизированным шагающим механизмом!  

Основной отличительной способностью механизма Янсена от предыдущего механизма Кланна, является повышенная плавность «ходьбы», за счёт использования большего количества сегментов ноги:

                                                                                                                                                                                                                                          MichaelFrey

Очень хорошо это видно в следующем, несколько шуточном (но всё равно весьма познавательном) видео, где сравниваются, в условиях виртуальной среды, шагоходы типа Кланна и Янсена, одновременно:

Тем не менее, если посмотреть на описываемую стопой подобной конструкции ноги траекторию, то, можно заметить (на картинке ниже), что она всё равно не идеально горизонтальная и представляет собой весьма пологую дугу, опирающуюся в крайних точках на поверхность опоры:

                                                                                                                                                                                                                        MichaelFrey

Результатом этого является малозаметная, но, всё же, относительно существенная вибрация, особенно при ходьбе по твёрдым, ровным поверхностям.

С другой стороны, учитывая, в какие годы разрабатывался этот механизм, ему можно простить вообще всё — можно сказать, что он и так оптимизирован насколько возможно, по тем меркам! :-)  

Кстати, к слову, — на этой же картинке выше вы можете видеть оптимальные размеры сегментов для данного типа ноги…

Тем не менее, как мы видим, некоторая проблема всё равно сохранялась и, в какой-то момент (2008 год), одному из разработчиков компьютерных игр пришла в голову идея оптимизировать этот механизм, для чего он написал на С++ приложение, которое автоматически и очень быстро разрабатывало конструкции ноги типа Янсена, меняя длины сегментов, и заставляя разработанные конструкции соревноваться друг с другом в части способности к максимально горизонтальному движению в нижней части, скорости движения и минимальному использовании материала (то есть, чтобы ногу можно было создать в реальной жизни, используя минимальное количество строительных материалов). 

Затем, у лучших вариантов автоматически отбирались «гены» (как он это называет), то есть, параметры, приведшие к улучшению, после чего примешивались к следующему поколению ног (генерация шла, наподобие эволюции живого существа, поколение за поколением), а также производились «генетические мутации» — чтобы попробовать найти неожиданные новые варианты. 

В результате такого подхода и использования современного программного обеспечения, просчёт шёл очень быстро, как он сам говорит «на десятки поколений в секунду», а общая эволюция потребовала тысяч поколений, — результатом подобной работы явилась высокооптимизированная конструкция ноги, отличающаяся от конструкции Янсена — как по соотношению длин сегментов, так и из-за появления новой точки крепления и закруглённых «пальцев». 

Ниже можно видеть пример, как выглядел просчёт, когда шла «эволюция»:

Всё это вместе позволило добиться практически идеального горизонтального движения, кроме того, устранив проскальзывание стопы во время нахождения в одном месте (в точке опоры). 

Ниже можно видеть, как выглядит кинематика окончательного варианта, по сравнению с классическим механизмом Янсена:

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

                                                                                                                                                                        Giliam de Carpentier, www.decarpentier.nl/carpentopod

Таким образом, любой желающий, может использовать эти размеры для создания своей версии шагающего устройства!

А теперь, самый интересный вопрос: а зачем это всё было нужно? :-)

Дело в том, что у автора последней разработки был далеко не теоретический, но и вполне себе практический интерес: используя результаты расчётов, он построил довольно потрясную вещь — радиоуправляемый журнальный столик-робот, который произвёл настоящий фурор в сообществе самодельщиков! 

Как можно видеть, плавность движения столика вне всяких похвал: при его перемещении, установленная на нём стеклянная посуда держится очень устойчиво:

Аппаратно-программную часть для проведения в движении столика он отдельно подробно не поясняет, но на этот счёт имеется следующая картинка (можно кликнуть, для увеличения):

                                                                                                                                                                         Giliam de Carpentier, www.decarpentier.nl/carpentopod

Как можно видеть, всё достаточно просто: микроконтроллер (довольно старый и простой — Arduino Nano), два драйвера двигателей, два отдельных двигателя — каждый блок ног приводится в движение отдельным двигателем (принцип поворота примерно похожий, как у гусеничной техники), а также литий-полимерные аккумуляторы. 

Таким образом, собрать подобную схему может практически любой, только я сам собирал бы уже, конечно, не на Arduino Nano, а на esp32, где код для беспроводного управления можно было бы взять здесь или здесь, соответствующим образом оптимизировав под себя (добавить в интерфейс кнопки вперёд-назад-влево-вправо и т.д.) и доделав управление двигателями, где код для управления двигателями можно посмотреть здесь.

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

Поэтому, включаем фантазию, и придумываем свой собственный столик, своей собственной конструкции…:-)

Насколько можно судить, идея довольно сильно «зашла» многим, что привело к возникновению множества модификаций, в том числе, с «зачатками интеллекта» :-D (в данном конкретном случае это шутка, но в целом, почему бы и нет?):

Таким образом, мы видим, что здесь имеется просто бесконечный простор для доработок и видоизменений! Например, я сразу подумал, что этот стол просто должен быть снабжён робо-рукой и компьютерным зрением — тогда, на его базе можно вполне себе «запилить» даже своеобразного помощника-ассистента! 

Или, ещё более интересный вариант: сделать всю эту конструкцию из металла, допустим, в виде квадрата — чтобы обладала высокой устойчивостью и не могла переворачиваться, установить посередине кресло(ла) с джойстиком и сделать аппарат для покатушек по пересечённой местности, оснастив бензиновым генератором, питающим электромоторы! 

На мой взгляд, это был бы потрясный аттракцион, который потенциально может привлечь большое количество желающих — ибо футуристично до упора: кататься на шагающих роботах по лесам, холмам…;-) 

Таким образом, мы видим, что даже у такого относительно простого устройства имеется большой потенциал для применений, для чего вовсе не обязательно иметь большие бюджеты или «сверхвысокие знания на острие технологий» — по сути, достаточно только энтузиазма и, может быть, чуть чуть желания?  ;-) 


Размещайте облачную инфраструктуру и масштабируйте сервисы с надежным облачным провайдером Beget.

Эксклюзивно для читателей Хабра мы даем бонус 10% при первом пополнении.

Воспользоваться

Автор: cnet

Источник