roboforum.ru

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


Нужна помощь с четвероногом

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

Re: Нужна помощь с четвероногом

Сообщение Robo_hobo » 26 мар 2020, 15:39

Aseris писал(а):Обратная кинематика для шестинога, вроде даже на форуме было. или гуглить inverse kinematic
Тот же open dog смотреть

Open dog смотрел, больно как-то ухищренно он механику выдумывает. Сегодня на работе, немного переделал свой код, теперь все считает точно, правда пока в одной плоскости для 2dof. Задачка на Питоне, но в целом все понятно, можно перенести в любой другой вид.
Все сверял на калькуляторе и на бумаге, работает. Сегодня занесу это дело в ардуино, посмотрим как будет на деле. Единственное нужно будет подумать как перевести угл колена, у меня серво работает через рычаг.
Вот сам код:
Код: Выделить всёРазвернуть
import math
l1 = 12  #длинна плеча
l2 = 14  #длинна предплечья
x = -1   #координата Х
y = 19   #координата Y

B = (x**2)+(y**2)    #прямая 0-(x, y)
B = math.sqrt(B)
q1 = math.acos(x/B)
q1=math.degrees(q1)
print("q1 = ", q1)
q2 = math.acos(((l1**2-l2**2)+B**2)/(2*B*l1))
q2 = math.degrees(q2)
print("q2 = ", q2)
Q1 = q1 - q2
print("Угол плеча: ", Q1)

Q2 = math.acos((l1**2+l2**2-B**2)/(2*l1*l2))
Q2 = 180 - math.degrees(Q2)
print("Угол предплечья: ", Q2)

Собственно может пригодится кому-то, углы сразу показывает в градусах.
Q1 - угол для плеча относительно Х
Q2 - угол для предплечья относительно плеча.
Robo_hobo
 
Сообщения: 21
Зарегистрирован: 16 янв 2020, 14:41

Re: Нужна помощь с четвероногом

Сообщение Angel71 » 26 мар 2020, 23:00

поискать, допустим с таким запросом "inverse kinematics library python" не догадались? полно готовых библиотек на с++, питоне и куче других языков. если не подключил и работай, то как минимум можно за основу взять. вместо использования print подумайте, может всё же удобней будет использовать графику.
Аватара пользователя
Angel71
 
Сообщения: 10574
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Нужна помощь с четвероногом

Сообщение Robo_hobo » 27 мар 2020, 11:26

Angel71 писал(а):. вместо использования print подумайте, может всё же удобней будет использовать графику.

Конечно было бы удобнее, я просто пока не дошёл до визуализации питона и где, в чем это можно сделать, через стороннюю программу или через библиотеки самого питона. Так что пришлось сверять значения с теми что на бумаге) Недавно прочитал про vPython вроде так называется, хочу попробовать.
Вчера я все затестил на ноге, ставит ногу куда нужно, код работает, единственное, что предплечье двигается через рычаг, так что я сейчас пытаюсь вывести соотношение градусов сервы от градусов самого предплечья.
Серва двигает по окружности и меняет свой угол равномерно по отношению ко времени, а вот предплечье идет по нарастанию и ближе к 60 по 120 имеет самое большое изменение угла относительно времени, и с 120 - 180 снова уменьшает градусы (В общем очевидно) Буду думать как из сопоставить.
Robo_hobo
 
Сообщения: 21
Зарегистрирован: 16 янв 2020, 14:41

Re: Нужна помощь с четвероногом

Сообщение Robo_hobo » 05 апр 2020, 15:57

На карантине выпало немало времени свободного, допечатал платформу с ногами, пока достаточно для отладки движений.
Хотел бы услышать совет по поводу кода, создал я сейчас начал завязывать все через функции void ну и через millis снова.
То есть, создаю к примеру 4 функции с описанием и расчетами ИК для каждой по X и Y.
В итоге описывается так, в основном теле арограммы:
void frontL(x, y) - значения куда хотим переместить левую переднюю лапу подставляя цифры под X и Y.
Ну и соответственно под остальные 3 лапы.
Так как временные задержки отсутствуют и все четыре функции будут прогоняться множество раз, пока условия функций не будут выполнены, в нашем случае 3 угла серв для каждой ноги, то они будут выполняться одновременно.
Может есть какие-то другие способы применения ИК для ног?
Вложения
IMG_20200404_212323.jpg
IMG_20200405_011828.jpg
Robo_hobo
 
Сообщения: 21
Зарегистрирован: 16 янв 2020, 14:41

Re: Нужна помощь с четвероногом

Сообщение Robo_hobo » 26 апр 2020, 14:19

Карантин идет, работа тоже идет. Робот пошел, все удачно, правда с этой постановкой ног он все время стремился сесть на зад, немного не учел центр тяжести, но в целом он не плохо ходил, но устойчивость была не очень, так что я выкинул половину робота и пересобрал на новых ногах, так стало гораааздо лучше, центр тяжести стал ровно по середине, почти, что хорошо сказалось на ходьбе. Организовано два режима, ходьба на месте, когда поднимаются обе ноги на крест на крест и ходьба в таком же режиме. Ноги перестали скаблить пол. Постараюсь на днях залить видео на ютуб, чего я еще ни разу не делал. А пока фото самой платформы. И еще работает функция стабилизации, правда пока без хоть бы, а просто на месте, выравнивания корпус в зависимости от наклона поверхности на которой стоит. Пробовал это объеденить с ходьба, но его колошматит не по детски, надо будет думать как это реализовать.
Так же пока думаю как добавить сюда ось Z для перемещения ног не только по точкам X(длинна) т Y(высота) но и стороны. Ведь сервы для крена расположены так.. Окружность которая вращается строго по центру, а сама конечность начинается на самой линии окружности, строго с ее левого и правого края, в зависимости от стороны ног..

Добавлено спустя 2 минуты 33 секунды:
Те кто следит за этой темой, может догодаться, что постановка ног взята у ANYmal, швейцарской компании))
Вложения
IMG_20200423_161738.jpg
IMG_20200423_161722.jpg
Robo_hobo
 
Сообщения: 21
Зарегистрирован: 16 янв 2020, 14:41

Re: Нужна помощь с четвероногом

Сообщение Robo_hobo » 27 апр 2020, 22:26

Пока печаталась новая крышка для преобразователь, решил провести провода по другому, от акка, что бы видно не было. Провёл, в итоге подключил в неправильной полюсовке, как итог, сгоревший преобразователь..
Robo_hobo
 
Сообщения: 21
Зарегистрирован: 16 янв 2020, 14:41

Пред.

Вернуться в Новичкам или основы основ роботостроения.

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

Сейчас этот форум просматривают: Bing [Bot] и гости: 7

cron
Mail.ru counter