roboforum.ru

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

Датчик направления

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

Re: Датчик направления

Сообщение Ворон » 12 ноя 2009, 02:37

Michael_K писал(а):
лапами не знаем КАК крутить

Не понял...
Описывать максимально быстро максимально широкие окружности,
стремясь удержать гиру в положении "до падения".
Если добились нужного положения и нулевой угловой скорости,
то опустить лапы в положение "приземляемся", стараясь не придать вращательный момент.
(например, максимально втянуть к ЦТ и выдвинуть от ЦТ в нужном направлении,
ну или компенсировать момент одной лапы моментом другой)

На гексаподе с 18 сервами все для этого есть, имхо,
хотя кинематика, конечно сложная.

те после каждого кругового движения сравнить куда изменился вектор и изменить врашение если не туда куда нам надо, так чтоли? момент инерции опять против нас будет..из за плеча осей вращение центра масс робота и врашающейся лапы.. :pardon:
Ворон
 
Сообщения: 1054
Зарегистрирован: 24 ноя 2008, 19:43
Откуда: Казань

Re: Датчик направления

Сообщение Michael_K » 12 ноя 2009, 02:44

Ворон, я вообще не понял вашей реплики. Поясните, плииз.

Что значит "после каждого кругового движения"? Корректировать вращение лапами можно
(и я бы сказал нужно) прямо при вращении - постоянно, как это делают балансеры, например.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Датчик направления

Сообщение Ворон » 12 ноя 2009, 02:45

ну вычислили же что вращать надо много и часто))баласнеры постоянно оцениают стоит ли продолжать вращение)
Ворон
 
Сообщения: 1054
Зарегистрирован: 24 ноя 2008, 19:43
Откуда: Казань

Re: Датчик направления

Сообщение Michael_K » 12 ноя 2009, 03:00

баласнеры постоянно оцениают стоит ли продолжать вращение)


Ну и тут так же... считать куда крутить и с какой скоростью, чтобы
прийти в нужное угловое положение с нулевой угловой скоростью.
(Я бы скорее привязал вычисления к скорости опроса гиры, чем к оборотам лап.)

ну вычислили же что вращать надо много и часто))

Ну... это понятия относительные... :)

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

Re: Датчик направления

Сообщение Ворон » 12 ноя 2009, 03:44

тогда самое простое определить начало падения и замереть ,но по условию игрушку 2кг кидает у автора 3 летний ребенок :o () сшибает..
Ворон
 
Сообщения: 1054
Зарегистрирован: 24 ноя 2008, 19:43
Откуда: Казань

Re: Датчик направления

Сообщение Michael_K » 12 ноя 2009, 04:34

тогда самое простое определить начало падения и замереть


Вот как раз и не факт! В этом-то и штука!!!

Допустим, подошел робот к краю стола, у него половина ног соскользнули-провалились.
Если он замрет, то полетит кубарем - будет в воздухе крутиться...
А если грамотно толкнуться или наоборот ноги подобрать и т.д., то может и удастся
минимизировать вращение. То есть не упасть, а, типа, спрыгнуть.

по условию игрушку 2кг кидает у автора 3 летний ребенок

Ну тут вообще без вариантов - ребенок же его с размаху в столб кидает,
причем одна нога в руке у ребенка остается :)))
Если только делать робота прочного и злопамятного, чтобы пресекал и наказывал :)))

Добавлено спустя 12 минут 7 секунд:
Хотя кинематика сложная получается.

Скорее всего параметры модели замерить точно не удастся
(например моменты инерции ног относительно разных осей и в разном
положении суставов будут разные)... Это тянет на адаптивную модель.
Вероятно ПИДами тут не обойдешься...
А решать пачку (ака систему) дифуров в частных производных на лету...
хм, радости мало.
Последний раз редактировалось Michael_K 12 ноя 2009, 05:25, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Датчик направления

Сообщение Ворон » 12 ноя 2009, 04:45

Деад обещал все запроста просчитать))
Ворон
 
Сообщения: 1054
Зарегистрирован: 24 ноя 2008, 19:43
Откуда: Казань

Re: Датчик направления

Сообщение Alex080969 » 12 ноя 2009, 08:28

avr123.nm.ru писал(а):У меня ж нет слона, как я измерю ?

Добавлено спустя 4 минуты 48 секунд:
=DeaD= писал(а): идея вполне реализуемая ?

Этож сколько оборотов надо сделать при падении чтоб дальномером определить где поверхность на которую упадем ???

Теперь столкните игрушку с края стола ( этож не долго ) и посмотрите сколько она сделает оборотов до падения.

==========

Повторение - мать учения ! Поэтому повторю. Для приближения к решению этой НЕ простой задачи рекомендую использовать - 6 DOF IMU - есть разные и есть хорошие типа ADIS http://analog.com

В последние модели и компас встроен. http://www.analog.com/en/sensors/inerti ... oduct.html

ну в принципе если на корпусе робота будет хотя бы два дальномера (спереди и с зади) то уже реально можно видеть как мы падаем и сколько примерно осталось.
(Срочно второй дальномер прикупить надобно)

Добавлено спустя 16 минут 42 секунды:
=DeaD= писал(а):2Michael_K: Круг ты конечно нарисуешь, вот только с какой скоростью и сколько таких кругов надо лапами рисовать? ;) А это сервами надо крутить, а им даже положение чаще, чем 50 раз в секунду передать нельзя. Сколько ты кругов нарисуешь сервами за секунду?

Для начала надо определится с каким то одним примером.
(Предпологаем что робот может разворачивать корпус)
1.Пусть бот стоит спиной к краю стола.
2. Мы его толкаем в то место хде должна быть грудь....
3. Сенсоры бота показывают изменение положение тела.
Действия робота №1:
1. Попытка сохранить положение(например наклон корпуса вперёд + отставить одну ногу назад)
2. Попытка не удалась(опрокидываемся)
3. Определяем что падаем спиной .
4. Расчитываем траекторию движения(выясняем что приземлимся не на голову, а на спину)
4-1. Подтягиваем руки к корпусу (чтобы уменьшить момунт инерции верхней части торса)
4-2. Одновременно раздвигаем ноги)чтобы увеличить момент инерции нижней чати)
4-3. Разворачиваем торс лицом вниз
4-5. Разводим руки в стороны (увеличиваем момент инерции)
4-6. Одновременно с руками сдвигаем ноги
4-7. Разворачиваем нижнюю часть
4-8. Вытягиваем руки вперёд
4-9. В зависимости от оставшегося расстояния начинаем сгибать руки
5. Расчитываем траекторию движения(выясняем что приземлимся на голову (большая угловая скорость))
5-1. Вытягиваем руки вперёд и начинаем движения руками вверх и за голову
5-2. Сдвигаем ноги и отводим их назад
5-3. Проверяем ориентацию в пространстве
5-4. Вытягиваем руки вперёд
5-6. В зависимости от оставшегося расстояния начинаем сгибать руки
6. Пытаемся схватится за то что толкает :D

вот вроде так..

Добавлено спустя 18 минут 14 секунд:
Ворон писал(а):тогда самое простое определить начало падения и замереть ,но по условию игрушку 2кг кидает у автора 3 летний ребенок :o () сшибает..

:D Ну вообще то ему 3,5 года, и большой грузовик которы не меньше 2 кг запустил метра на полтака(правда с разворота). По заднице то он получил, но где гарантии что в 4 года он несделает то же с роботом?

Добавлено спустя 8 минут 39 секунд:
Ворон писал(а):
Michael_K писал(а):
лапами не знаем КАК крутить

Не понял...
Описывать максимально быстро максимально широкие окружности,
стремясь удержать гиру в положении "до падения".
Если добились нужного положения и нулевой угловой скорости,
то опустить лапы в положение "приземляемся", стараясь не придать вращательный момент.
(например, максимально втянуть к ЦТ и выдвинуть от ЦТ в нужном направлении,
ну или компенсировать момент одной лапы моментом другой)

На гексаподе с 18 сервами все для этого есть, имхо,
хотя кинематика, конечно сложная.

те после каждого кругового движения сравнить куда изменился вектор и изменить врашение если не туда куда нам надо, так чтоли? момент инерции опять против нас будет..из за плеча осей вращение центра масс робота и врашающейся лапы.. :pardon:

Насчёт круговых движений вы ошибаетесь - они неособо помогут.
Тут надо управлять моментом инерции соответственно чтобы замедлить вращений достаточно развести в стороны всё что разводится
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

Re: Датчик направления

Сообщение =DeaD= » 12 ноя 2009, 08:45

Michael_K писал(а):Хотя кинематика сложная получается.

Скорее всего параметры модели замерить точно не удастся
(например моменты инерции ног относительно разных осей и в разном
положении суставов будут разные)... Это тянет на адаптивную модель.
Вероятно ПИДами тут не обойдешься...
А решать пачку (ака систему) дифуров в частных производных на лету...
хм, радости мало.

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

Re: Датчик направления

Сообщение Alex080969 » 12 ноя 2009, 08:52

Ну и наверное надо подвести какой-то итог уже написанного.
Лично сделал следующие выводы:
1. Для реализации данной опции необходимо что-бы бот мог не только знать свою ориентацию в пространстве, но и рассчитывать траекторию полёта и ориентацию корпуса в момент приземления.
2. Необходимо оценить быстродействие и мощьность сервоприводов
3. Необходимо рассчитать силы действующие на конечности бота(да и на корпус) в экстремалных условиях, и обеспечить заданную прочность при изготовлении
4. Однозначно что пластмассовые шестерёнки повылетают после первого же приземления :(

Ставлю себе задачу:
1. создать боты для экспериментов. это будет просто пенал, содержащий необходимые датчики , контроллер, радиомодуль для связи с ПК (наверно воспользуюсь блютузом)
2. Создаём ПО для контроллера
3.Пишем отладочную прогу для ПК
4. начинаем повсякому кидать наш недо-бот на всякие достаточно мягкие поверхности и на ПК смотреть графики траекторий )
Последний раз редактировалось Alex080969 12 ноя 2009, 09:22, всего редактировалось 1 раз.
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

Re: Датчик направления

Сообщение =DeaD= » 12 ноя 2009, 09:19

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

Re: Датчик направления

Сообщение Alex080969 » 12 ноя 2009, 09:33

Нее.. это будет 5-ым шагом. Для начала мы должны научится расчитывать ориентацию в пространстве в произвольный момент времени, траекторию движения(пригодится и при ходьбе) оптимизировать этот код под быстродействие, а уж потом приступим к экспериментам по стабилизации и управлению ориентацией в полёте.
Кстате данные расяёты вполне могут пригодится при ходьбе бота, в особенности при беге. Вес рук мы же будем знать и соответственно можно расчитат создаваемые моменты инерции и использовать это для стабилизации при беге(размахивает же человек руками при беге)
Последний раз редактировалось EdGull 12 ноя 2009, 09:41, всего редактировалось 1 раз.
Причина: Устное предупреждение. Не нужно цитировать предыдущий пост.
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

Re: Датчик направления

Сообщение =DeaD= » 12 ноя 2009, 09:40

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

Re: Датчик направления

Сообщение Duhas » 12 ноя 2009, 10:19

robobrain нас спасет ))) каждый раз када бот будет неправильно приземляться будет его наказывать )) на 1000-ный раз все будет ок )))))

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

Re: Датчик направления

Сообщение =DeaD= » 12 ноя 2009, 10:39

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

Пред.След.

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

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

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