roboforum.ru

Технический форум по робототехнике.
Текущее время: 18 фев 2025, 18:51

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Алгоритм для ноги Хексапода
СообщениеДобавлено: 16 июн 2010, 00:05 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
И так СВЕРШИЛОСЬ. Выношу на рассмотрение робо-общественности реализованый алгоритм на С который вычисляет углы серв для ноги хексапода, или любой 3х сервной конечности, который можно впихнуть в любой 8 битный МК (где памти хватит).

Откопаны основные глюки, и вроде (тьху, тьху) работает,

Вся математика вынесена в файл Mathematics.c
Расчеты ведутся в фиксированой запятой.

Формат входных даных 1:10:5 . т.е. 5 см = 5*32, -5 см = 65536-5*32

Основные функции:

calcG(x,y); - Вычисление угла поворота ноги и длины на которую развернута нога для второй функции

CalcNextStep(z,wDlinaW); - вычисление углов на двух сервах ноги

Алгоритм положения ноги отабатывает следующим макаром:
(скрины с софтины отладчика моего творчиства, из отладчика пересылается только координата и калибровка)
Вложение:
Комментарий к файлу: 1 четверть координат
1_chetvertj.jpg
1_chetvertj.jpg [ 39.99 КиБ | Просмотров: 6813 ]

Как показано для 2 и 3 четверти, ноги поджимаем под себя.
Вложение:
Комментарий к файлу: 2 четверть координат
2_Chetvertj.jpg
2_Chetvertj.jpg [ 20.26 КиБ | Просмотров: 6814 ]

Вложение:
Комментарий к файлу: 3 четверть координат
3_chetvertj.jpg
3_chetvertj.jpg [ 34.72 КиБ | Просмотров: 6818 ]

Вложение:
Комментарий к файлу: 4 четверть координат
4_chetvertj.jpg
4_chetvertj.jpg [ 42.51 КиБ | Просмотров: 6813 ]


Результат первых тестов смотрим на фото:
Вложение:
Комментарий к файлу: Буква Е
results.jpg
results.jpg [ 118.27 КиБ | Просмотров: 5689 ]


По ходу отладки алгоритма буду обновлять версии файлов.

Результат выкладывается в таком виде чтоб чаще вдохновение приходило


Вложения:
Комментарий к файлу: мейн плюс математика
nogkontr_v1.1.zip [12.68 КиБ]
Скачиваний: 0


Последний раз редактировалось Aseris 29 июн 2010, 13:22, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 18 июн 2010, 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: 18 май 2009, 16:20
Сообщения: 29
Откуда: Днепропетровск
прог. языки: Vb,C,C++
Круто!!Маладца))) Заходи в скайп, потрындим. Мой ник eksia-savage


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 25 июн 2010, 18:09 
Не в сети
Аватара пользователя

Зарегистрирован: 18 май 2010, 00:32
Сообщения: 59
Откуда: Харьков
прог. языки: C, Haskell
Однако баги присутствуют:
if ((x=0)&&(y<0))
{
wDlinaW=k-176; //(176 = 5,5)
wGamma=51472;
return;
}
Имелось в виду x==0?

_________________
Here I am, brain the size of a planet, and they ask me to take you to the bridge!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 29 июн 2010, 13:18 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
Угу, но как ни странно с этой ошибкой движения правильно отрабатываются :oops:
поправил и выложил в версии 1.1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 10 окт 2010, 20:18 
Не в сети

Зарегистрирован: 10 окт 2010, 20:11
Сообщения: 1
Привет всем, Aseris если не сложно скажи в какой ты проге делал мат модель ноги, и как возможно отслеживать положение конкретной сервы, чтобы знать что операция завершилась. Или алгоритм строиться на уверенности что серва стала на свое место и ей ничего не мешает при этом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 18 ноя 2010, 16:34 
Не в сети
Аватара пользователя

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

Если актуально,
то формулы писал на бумажке, пробовал сначала сам вывести, где бы были одни и те же тригонометрические операции, в итоге дошел до того-же что и linxmoition на своем фениксе. В данной теме выложена программа для вычисления углов для сервоприводов по x,y,z координатам кончика ноги на целочисленной математике.

Отслеживание делал по измерению напряжения на резисторе сервы, модифицировал ее. Но пока это все лежит на полочке, переделываю механику.

Для проверки корректности работы алгоритма и табулирования тригонометрических функций использовал matlab.

Граф. интерфейс для тестирования написан на дельфи, о чем жалею, ибо надоело преобразовывать код pascal -> c, для новой механики с 4 сервами на ногу буду все на матлабе писать.

Алгоритм движения шестинога окончательно еще не прописан, но в тестовом варианте идет пока без отслеживания положения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 18 ноя 2010, 21:03 
Не в сети
Аватара пользователя

Зарегистрирован: 06 янв 2006, 03:02
Сообщения: 496
Откуда: Москва
прог. языки: VHDL, C++, Matlab
ФИО: Павел
Aseris писал(а):
Извиняюсь за поздний ответ, не заметил что кому-то тема интересна,

Если актуально,
то формулы писал на бумажке, пробовал сначала сам вывести, где бы были одни и те же тригонометрические операции, в итоге дошел до того-же что и linxmoition на своем фениксе. В данной теме выложена программа для вычисления углов для сервоприводов по x,y,z координатам кончика ноги на целочисленной математике.

Отслеживание делал по измерению напряжения на резисторе сервы, модифицировал ее. Но пока это все лежит на полочке, переделываю механику.

Для проверки корректности работы алгоритма и табулирования тригонометрических функций использовал matlab.

Граф. интерфейс для тестирования написан на дельфи, о чем жалею, ибо надоело преобразовывать код pascal -> c, для новой механики с 4 сервами на ногу буду все на матлабе писать.

Алгоритм движения шестинога окончательно еще не прописан, но в тестовом варианте идет пока без отслеживания положения.


А у тебя робот к компу как подключается?
У меня в Матлабе работает ФТДИ. Я с неё данные прямо в симулинк принимаю.
Вот как образец, сигналы с инерциалки:


Вложения:
imu2.jpg
imu2.jpg [ 415.7 КиБ | Просмотров: 4603 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 19 ноя 2010, 02:34 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
Комп - Мост USB-I2C, USB-UART - спинной мозг робота пока только на делфи реализовано до матлаба руки вот только сейчас дошли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 09 янв 2014, 13:48 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
EIN_ENGEL писал(а):
У меня в Матлабе работает ФТДИ. Я с неё данные прямо в симулинк принимаю.
Поделитесь пожалуйста кодом или проектом для MATLAB чтоб данные с COM принимать как у вас и графики строились. :Bravo:

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 05 мар 2014, 11:37 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
да принятие прямо в симулинк - это интересно)

а так в консоли serial и жмем F1 и наслаждаемся хэлпом матлаба

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм для ноги Хексапода
СообщениеДобавлено: 11 мар 2014, 18:09 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
или так http://www.mathworks.com/help/matlab/ma ... l-i-o.html

http://www.mathworks.com/help/matlab/ma ... -disk.html

_________________
Читайте !


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO