roboforum.ru

Технический форум по робототехнике.

робот-паук

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Re: робот-паук

Сообщение Aseris » 23 июн 2010, 19:03

Для простоты расчета лучше считать что в один момент (самый нехороший) все приходится на одни серву :)
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: робот-паук

Сообщение cupuyc » 28 июн 2010, 01:04

По поводу сил объясняю. Есть кинематика ноги. Описывается двумя уравнениями связи [угол поворота сервы 1] = f1([высота поднятия лапы], [азимутальный угол поворота лапы]), [угол поворота сервы 2] = f2([высота поднятия лапы], [азимутальный угол поворота лапы]). Эти уравнения я нашёл в аналитическом виде. Дальше, для расчёта в реальном времени аппроксимировал их полиномами. Момент силы, который развивает лапа можно найти по принципу виртуальных перемещений Даламбера. То есть усилие на манипуляторе будет выражаться через частные производные от уравнений связи f1 и f2 и через моменты сервомеханизмов. Исходя из того, что максимальные моменты сервомеханизмов 1.8 кг*см, вертикальная составляющая силы получается >= 5Н. Сам робот весит 400г, т.е. силы хватит даже для того, чтобы стоять на одной лапе :)))

Переделал электронику под ARM7. Добавил новое видео. Там нарезка, т.е. сначала идёт старое, потом новое. Выбрал моменты.
(подправил ютумбу. MegaBIZON)

Скоро сделаю датчики усилия. Мерить усилие по току сервомеханизма - ужасная гадость. Работает только при статических нагрузках. При вращении сервомеханизма получается гадость. Нужно делать поправки на скорость вращения, мало того, скорость и момент коррелируют между собой. Так что сделал (пока что только опытный образец) датчик на пружинке и оптопаре.
cupuyc
 
Сообщения: 27
Зарегистрирован: 13 сен 2009, 22:50
Откуда: Пермь

Re: робот-паук

Сообщение MegaBIZON » 28 июн 2010, 14:09

Дядька, ты общепризнано крут :)
Вопчем такое дело: закинь в первый пост все эти ролики и нащёлкай (и туда же кинь) фоток - и будет твоему павуку место в золотом фонде - как за интересную инженерную мысль и простое её воплощение :good:
.............солнце светит, птички поют, я - зелёный бамбук меня тянет к солнцуЯ - зелёный бамбук, я - зелёный бамбук , меня тянет к солнцу. Я - не огурчик и не лягушка, я - зелёный бамбук. Меня курят...............
Аватара пользователя
MegaBIZON
 
Сообщения: 6285
Зарегистрирован: 12 янв 2007, 00:34
Откуда: Масква

Re: робот-паук

Сообщение pashteet » 28 июн 2010, 14:39

нуу, воплощение совсем не простое, там уравнений целая туча. Паук отличный!
Аватара пользователя
pashteet
 
Сообщения: 930
Зарегистрирован: 28 авг 2009, 12:50
Откуда: Волжский
Skype: pashok0988
ФИО: Павел Петрович

Re: робот-паук

Сообщение MegaBIZON » 28 июн 2010, 15:54

Я о механическом воплощении. Оно если даже ни не самое простое, то уж точно самое рациональное. А управление сервами да, явно уравновешивает простоту механики, занятно зашкаливая в сторону сложности :)
.............солнце светит, птички поют, я - зелёный бамбук меня тянет к солнцуЯ - зелёный бамбук, я - зелёный бамбук , меня тянет к солнцу. Я - не огурчик и не лягушка, я - зелёный бамбук. Меня курят...............
Аватара пользователя
MegaBIZON
 
Сообщения: 6285
Зарегистрирован: 12 янв 2007, 00:34
Откуда: Масква

Re: робот-паук

Сообщение GIGOLAS » 28 июн 2010, 16:05

Duhas писал(а):на счет боится статики.. для таких девайсов, имхо, вполне актуально.. это не МК довольно деревянный... т.е. при работе полезны всякие ESD сэйф паяльники и тд.. у меня как оказалось паяльник от станции не дружит с землей осцила.... хз сколько там вольт - не мерил.. но мегу я так сжег ) ну или покоцал - тоже не изучал особо последствия..


Ето как у нас на работе, стоит шкаф управление в нем две земли, одна обычная а вторая аналоговая. Все знаете сетодиоды старые еше корпус в метале. Ну вот проводил профилактику, а прикола незнал что нельзя трогать землю обычную и аналоговую. И дотронулся до корпуса светодиода а другой рукой до земли так пи3...ло что был в шоке пару минут. Оказалось всегото разность потенциалов почти в 200 вольт.

Ответ не к теме но навеяло воспоминания незабываемые
По жизненному опыту я точно знаю, что есть определённый тип людей, который считает что все ему должны.
Я отношу себя к противоположному типу, который постоянно считает себя виноватым в чём либо.
Ненавижу когда кто то пользуется моими недостатками.
Аватара пользователя
GIGOLAS
 
Сообщения: 302
Зарегистрирован: 22 сен 2008, 22:15
Откуда: Раменки 43

Re: робот-паук

Сообщение Aseris » 29 июн 2010, 13:30

А быстрее паучок может передвигаться?
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: робот-паук

Сообщение cupuyc » 29 июн 2010, 22:37

Теоретически может. Из аналитических расчётов максимальная скорость ~20см/сек. Но я не рискую запускать на полную - там пластиковые редукторы, может шестерни съесть.

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

Код: Выделить всёРазвернуть
  inline float calculate_servo0_position(float z_coord, float az_coord)
  {
    const float x = az_coord * 1.24556040763854980000f + 0.50000000000000000000f;
    const float x_1 = x, x_2 = x * x_1, x_3 = x * x_2;
    const float y = z_coord * 0.01351351384073495900f + -0.64864861965179443000f;
    const float y_1 = y, y_2 = y * y_1, y_3 = y * y_2;
 
    return  (-0.30742821097373962000f + -1.21247673034667970000f * y_1 + 0.80889540910720825000f * y_2 + -0.75817310810089111000f * y_3) +
      x_1 * (1.22287416458129880000f + 2.14566111564636230000f * y_1 + -5.42543697357177730000f * y_2 + 4.22106027603149410000f * y_3) +
      x_2 * (0.60016727447509766000f + -5.94708108901977540000f * y_1 + 14.01125717163085900000f * y_2 + -9.62817096710205080000f * y_3) +
      x_3 * (0.16122572124004364000f + 3.06335139274597170000f * y_1 + -8.72798919677734370000f * y_2 + 6.08712720870971680000f * y_3);
  }

  inline float calculate_servo1_position(float z_coord, float az_coord)
  {
    const float x = az_coord * 1.24556040763854980000f + 0.50000000000000000000f;
    const float x_1 = x, x_2 = x * x_1, x_3 = x * x_2;
    const float y = z_coord * 0.01351351384073495900f + -0.64864861965179443000f; 
    const float y_1 = y, y_2 = y * y_1, y_3 = y * y_2;
 
    return  (-1.67683899402618410000f + 1.95054543018341060000f * y_1 + -0.66672599315643311000f * y_2 + 0.07815618067979812600f * y_3) +
      x_1 * (2.90688586235046390000f + -0.55844748020172119000f * y_1 + -3.58689117431640620000f * y_2 + 3.22610092163085940000f * y_3) +
      x_2 * (-1.08384442329406740000f + -3.24297237396240230000f * y_1 + 12.17271041870117200000f * y_2 + -8.63321113586425780000f * y_3) +
      x_3 * (0.16122573614120483000f + 3.06335115432739260000f * y_1 + -8.72798919677734370000f * y_2 + 6.08712720870971680000f * y_3);
  }

  void set_position(float z_coord, float az_coord)
  {
    m_az_coord = az_coord;
    m_z_coord = z_coord;

    m_servo0.set_position(paws::calculate_servo0_position(m_z_coord, m_az_coord));
    m_servo1.set_position(paws::calculate_servo1_position(m_z_coord, m_az_coord));
  }


всё это на МК atmega32 на частоте 16Мгц высчитывается за 1мс. На at91sam7s256 вообще копейки.

MegaBIZON, я попозже выложу материалы. Сейчас делаю датчики силы. Нужно с ними закончить, отладить программу и пр. Тогда будет чем хвастаться :))
cupuyc
 
Сообщения: 27
Зарегистрирован: 13 сен 2009, 22:50
Откуда: Пермь

Re: робот-паук

Сообщение Aseris » 30 июн 2010, 14:52

2: cupuyc - Ты движения в какойто софте моделировал или все на черновике вручную прикидывал?
и какой софтой коэффициенты рассчитывал для формул?
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: робот-паук

Сообщение MegaBIZON » 30 июн 2010, 17:41

акей :)
.............солнце светит, птички поют, я - зелёный бамбук меня тянет к солнцуЯ - зелёный бамбук, я - зелёный бамбук , меня тянет к солнцу. Я - не огурчик и не лягушка, я - зелёный бамбук. Меня курят...............
Аватара пользователя
MegaBIZON
 
Сообщения: 6285
Зарегистрирован: 12 янв 2007, 00:34
Откуда: Масква

Re: робот-паук

Сообщение cupuyc » 30 июн 2010, 21:54

cupuyc - Ты движения в какойто софте моделировал или все на черновике вручную прикидывал?

Как такового 3d моделирования я не производил. Единственное - нарисовал, модель в КОМПАС 3D, но это так - для оформления курсовой работы. Затем хотел сделать, чтобы эта модель ходила в OpenGL. В общем-то отобразить её на экран у меня получилось, а вот на моделирование движений в OpenGL я забил.

Расчёт кинематики делал вручную. После того, как я забил систему уравнений в Maple, он мне выдал решение где-то страниц на 20 :shock: Поэтому пришлось решать самому. Формулы получились довольно громоздкие (не на 20 страниц, конечно). Вычислялись где-то 30мс на AtMega32 на частоте 16Мгц. Поэтому решил формулы аппроксимировать полиномом.

Что касается расчёта коэффициентов полинома - тут я поступил несколько хитрее, чем воспользоваться обычным MatCad'ом. Я написал сишную прогу, которая вычисляет эти коэффициенты по указанным параметрам робота. Т.е. создаю конфиг. В нём указываю на какой пин какая серва повешена, размеры лап и т.п. Этот конфиг парсит моя прога, вычисляет необходимые коэффициенты и генерирует хидер, который используется при сборке проекта для МК. Для численных методов используется ALGLib.

Система управления написана на C++ в среде IAR for ARM.
cupuyc
 
Сообщения: 27
Зарегистрирован: 13 сен 2009, 22:50
Откуда: Пермь

Re: робот-паук

Сообщение Kozinaka » 19 авг 2010, 15:33

А что на концах тяг соединяющих качалку сервы и опорную площадку ноги? Шарики или обычные ушки с винтами? Там же по идее должны возникать усилия на вынос тяги из плоскости поворота качалки сервы - опорный треугольник, он же описывает концами дугу, если его, например, обоими сервами одновременно отталкивать или притягивать.
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

Пред.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23