Секвенсор, управление шагающими платформами, манипуляторами

Разработка стандартизированных модулей для домашнего робостроения.
Правила форума
Правила раздела OpenRobotics

Секвенсор, управление шагающими платформами, манипуляторами

Сообщение =DeaD= » 13 дек 2009, 11:23

Пора отделить тему от ORFA. Предлагаю обсудить здесь общие подходы к решению задач управления шагающими роботами (шестиногами, двуногими, гуманоидами) и всякими манипуляторами. Я вижу себе пачку однотипных задач в этих роботах.

Как мне кажется есть очевидная общая задача - "прямая кинематика" - по положению серв и структуре модели определить координаты всех узлов ноги\руки относительно туловища робота.

Менее очевидная общая задача - "обратная кинематика" - по требуемым координатам конечного звена ноги\руки робота определить положения серв, при которых эти координаты достигаются. Тут у шестинога задача решается достаточно просто и однозначно, а вот с более сложными системами может и не быть однозначности.

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

Добавлено спустя 1 минуту 37 секунд:
На выходе этой темы хотелось бы получить общие стандарты на функции расчетов прямой и инверсной кинематики, а также библиотеки их реализации на Си, компилируемые как под МК, так и под ПК.

Поэтому, demoontz, loox, приглашаю в эту тему, вы вроде как раз этим и занимаетесь или планируете заняться :wink:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Секвенсор, прямая и инверсная кинематика и т.п.

Сообщение avr123.nm.ru » 13 дек 2009, 12:28

А че не назвать топик так как и пишешь о чем он
общие подходы к решению задач управления шагающими роботами
?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Секвенсор, прямая и инверсная кинематика и т.п.

Сообщение EdGull » 13 дек 2009, 12:35

согласен с Авром
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение =DeaD= » 13 дек 2009, 12:38

Переименовал, надеюсь так будет понятней. Просто длина названия топика ограничена.

Добавлено спустя 2 минуты 59 секунд:
Первое что стоит обсудить - унифицированный подход к описанию механических моделей.
Я предлагаю делать это через вектора линейного смещения и матрицы поворота.
Чуть позже попробую описать, как себе это представляю, хотя надеюсь что такое матрицы поворота и так все представляют :). Они вытекают из sin(a+b) и cos(a+b)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение Angel71 » 13 дек 2009, 16:05

:oops: вот тут немного выкладок есть, может сгодится http://technomag.edu.ru/doc/133731.html
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение Michael_K » 13 дек 2009, 16:45

Имхо, было бы неплохо определить, что такое секвенсор.
И какое отношение он имеет, например, к прямой или обратной кинематике.
Для меня, честно скажу, это неочевидно...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение =DeaD= » 13 дек 2009, 17:27

2Michael_K: Вообще в названии темы указано управление шагающими платформами и манипуляторами. Надеюсь не нужно пояснять, что секвенсор и решение задач прямой и инверсной кинематики имеют отношение к этому управлению? ;)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение Michael_K » 13 дек 2009, 19:24

Что такое прямая кинемактика - знаю, что такое инверсная - тоже.
Ищу в гугле секвенсор - вижу что-то музыкальное :)
Я, допустим, из общелигнвистических соображений догадываюсь, что, видимо,
это некий софт(???), который выполняет некую последовательность(???) :)
Вот только, я не вполне понимаю, что за последовательность :wink: ,
и всегда ли вообще необходима такая последовательность.

P.S.
Сейчас пришел с балкона - снимал тапки...
сделал последовательно три шага левой ногой...
Правая стояла на месте.
И придержался рукой за косяк двери... :)
Последний раз редактировалось Michael_K 13 дек 2009, 19:42, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение blindman » 13 дек 2009, 19:41

Ищи ssc-32 sequencer
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение =DeaD= » 13 дек 2009, 19:45

Так, вернемся к главному.

Итак есть достаточно простая задача прямой и инверсной кинематики 3-сервной ноги 6-нога.
Для её решения нужно определять положение ноги при заданных положениях серв и наоборот - по положению конца ноги определять положение серв.

С этого достаточно простого примера, пожалуй, и начнем. Вопрос №1: как описать модель многозвенной ноги.
Предложение: Описать её как последовательность векторов сдвига координат (матрица 1х3 или 3х1 элемента) и матриц вращения системы координат (матрица 3х3 элемента).

Тогда система из 3 суставов с базовой точкой (x0,y0,z0) будет описываться набором из 3 матриц вращения и 3 векторов перехода к следующей базовой точке.

А сами повороты сервы всегда считать в системе координат X-Y.

Правда если работать в таком общем формате, то скорее всего простая задача прямой и инверсной кинематики 3-звенной ноги шестинога будет ни разу не простой :)

2demoontz: Как думаешь? Стоит ввязывать сразу в общий случай или попроще с шестиногом сделаем?

Добавлено спустя 2 минуты 4 секунды:
Michael_K писал(а):Сейчас пришел с балкона - снимал тапки...
сделал последовательно три шага левой ногой...
Правая стояла на месте.
И придержался рукой за косяк двери... :)

Вопрос в предопределенности движений, а не в том, что движение надо планировать и контролировать на некотором верхнем уровне который я и называю секвенсором от типового ssc-32 секвенсора для управления шестиногом.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение Duhas » 13 дек 2009, 20:00

ну да.. софт, позволяющий записывать последовательность положений серв )

вот када ИИ бум растить, тада на 1 ноге начнем прыгать )))

ПС :) ето новый смайлик? я чтот его не узнаю )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение Michael_K » 13 дек 2009, 20:01

Ну я так и думал, только при чем здесь кинематики всякие.
Как я понял - достаточно тупо
серву 1 в позицию 123,
серву 7 в позицию 11 и т.д.

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

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

Понятно, что надо много чего учитывать - физические ограничения суставов, удобные
с точки зрения энергетики положения, положения ЦТ и ориентации тела, динамику в идеале
и т.д. Но, имхо, такой механизм может быть более "естественным", чем тупой секвенсор...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение =DeaD= » 13 дек 2009, 20:23

2Michael_K: Задача - управление шагающими платформами и манипуляторами, а всё остальное - её решения, тупые или не очень, но решения. Считается сиквенс или нет на ходу - вопрос тоже не первой важности.

Пока предлагается начинать с простого - секвенсор для шестинога и двунога + управление манипулятором, но сразу начинать обобщать задачи надо, т.к. дальше можно будет и на ходу под неровные поверхности подстраиваться и в динамике обсчитывать модель, да вообще много чего делать можно :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение Michael_K » 13 дек 2009, 20:34

Описать её как последовательность векторов сдвига координат (матрица 1х3 или 3х1 элемента) и матриц вращения системы координат (матрица 3х3 элемента).

Сделать софтинку, которая построит таблички для каждой ноги.
Таблички засунуть в МК... Интерполировать линейно, если уж совсем с памятью туго.
Для трехзвенной ноги, имхо, будет достаточно просто и прямая и инверсная...

Такое решение будет на уровне МК достаточно универсальным.
А на уровне ПК, может быть и навороченным.
Можно ввести в табличку некие коэффициенты,
(например, энергоемкости или точности позиции и т.д.)
чтобы МК, исходя из задачи, мог выбирать, по каким кривулинам выгоднее гонять ноги.

Добавлено спустя 2 минуты 13 секунд:
Я имею в виду не таблички - последовательности движений,
а таблички позиций "ступней" от позиций серв.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Секвенсор, управление шагающими платформами, манипуляторами

Сообщение =DeaD= » 13 дек 2009, 20:39

Таблички позиций ступней от позиций серв? Допустим у сервы 200 позиций, для 3 сервной ноги это зашибись табличка 200х200х200 = 8'000'000 записей.

Добавлено спустя 1 минуту 19 секунд:
И вообще я пока не вижу чего там космического из технологий расчета, что не влезет в МК по скорости обработки.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

След.

Вернуться в Open Robotics

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

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