roboforum.ru

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

Поворотная "голова" робота

Обсуждаем рождающиеся мысли и результаты экспериментов.

Поворотная "голова" робота

Сообщение Vovan » 19 окт 2006, 21:47

Идея такая: шасси (неважно какое, но может двигаться во все стороны), поворотная "голова" с двумя "ушами", "голова" реагирует на звук поворотом в сторону источника звука (это уже есть, работает хорошо, проблема с бинаруальным слухом давно решена), после поворота головы в сторону источника звука робот должен выровнять положение своего "тела" тоже в направлении источника звука.
Хотелось бы предложений: при помощи каких датчиков и алгоритма осуществить функцию выравнивания "тела" робота относительно повёрнутой "головы", причём "голова" должна сохранить своё положение в пространстве.
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение Myp » 20 окт 2006, 00:44

эмммм
гироскоп

ну или подруливать, повернул на 10 грудусов телом, ушами поворочал, ещё на 10 градусов, и так пока совсем не выровняеться тело с головой
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Vovan » 20 окт 2006, 11:36

Хм... гироскоп... тогда уж спутниковая навигация :D
Про "подруливание" непонятно... чего "ушами" то зря ворочать - звука больше нет?
Я вот думаю в сторону обычного энкодера или потенциометра через АЦП... Хотя и то и другое ставит проблемы относительно трансформации поворотов головы и тела... Т.е. "голова", во-первых, должна быть на одной оси с осью поворота "тела" (иначе погрешность), а во-вторых моменты вращения (Vуг.*t) их должны быть строго одинаковы...
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Поворотная "голова" робота

Сообщение =DeaD= » 20 окт 2006, 14:00

Vovan писал(а):Хотелось бы предложений: при помощи каких датчиков и алгоритма осуществить функцию выравнивания "тела" робота относительно повёрнутой "головы", причём "голова" должна сохранить своё положение в пространстве.


Ну вы даете :)

У вас разве автомобиль который не может на месте повернутся?

Если шасси может крутиться на месте - значит мы знаем на сколько повернута голова и начинаем синхронно поворачивать голову в нейтраль и с такой же угловой скоростью шасси в обратную сторону.

Всё.
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение Vovan » 20 окт 2006, 14:24

У вас разве автомобиль который не может на месте повернутся?
Может.
Если шасси может крутиться на месте - значит мы знаем на сколько повернута голова
вот я и спрашиваю технически чем лучше мерять? (ИМХО энкодером проще и технически програмно)
начинаем синхронно поворачивать голову в нейтраль и с такой же угловой скоростью шасси в обратную сторону.

М....да-с...
Что такое "синхронно" - это понятно мне, но не роботу, у них же разные прИводы поворота, отсюда разница. Понятно, что у одного из приводов скоростных возможностей больше, но как енту угловую скорость уравнЯть с другой? Иными словами помощью чего: производится считывание угловой скорости (поворота шасси), затем эта, но уже трансформированная угловая скорость и в обратную сторону задаётся на другой прИвод (привод головы)?
Я вижу работу узла так: прозвучал звук - голова, с большой угловой скоростью повернулась на звук; затем (или потОм) медленно поворачивается шасси, а голова, с угловой скоростью шасси, поворачивается в обратную сторону до её нейтрали. Всё просто!
Однако как, всё же, последнее действие засинхронить?
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение Myp » 20 окт 2006, 15:21

Vovan писал(а):
У вас разве автомобиль который не может на месте повернутся?
Может.
Если шасси может крутиться на месте - значит мы знаем на сколько повернута голова
вот я и спрашиваю технически чем лучше мерять? (ИМХО энкодером проще и технически програмно)
начинаем синхронно поворачивать голову в нейтраль и с такой же угловой скоростью шасси в обратную сторону.

М....да-с...
Что такое "синхронно" - это понятно мне, но не роботу, у них же разные прИводы поворота, отсюда разница. Понятно, что у одного из приводов скоростных возможностей больше, но как енту угловую скорость уравнЯть с другой? Иными словами помощью чего: производится считывание угловой скорости (поворота шасси), затем эта, но уже трансформированная угловая скорость и в обратную сторону задаётся на другой прИвод (привод головы)?
Я вижу работу узла так: прозвучал звук - голова, с большой угловой скоростью повернулась на звук; затем (или потОм) медленно поворачивается шасси, а голова, с угловой скоростью шасси, поворачивается в обратную сторону до её нейтрали. Всё просто!
Однако как, всё же, последнее действие засинхронить?
___________
С уважением
Vovan



зачем вобще сначало головой в сторону звука поворачивать ??
всё равно не получиться крутить 2 привода в разные стороны с одной угловой скоростью,
разве что только очень медленно,
даже если привода ШИМом управлять всё равно в конце нестыковка будет, хотябы из за разной инерционности приводов
почему нельзя сразу всё шасси поворачивать??
если проблема слуха решена то вместо 2х ухов сделать 3 уха. определили точно направление звука и крутим всё шасси сразу

на крайняк такой алгоритм:
услышали звук
повернули голову
повернули шасси
довернули голову на угол поворота шасси со знаком минус

а если под шасси быдет неровная поверхность то даже повернув голову и шасси на один угол повернёться только голова на нужный угол
а на какой угол повернёться щасси зависит от внешних условий(гололёд под левым передним колесом например)
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение -= Александр =- » 20 окт 2006, 15:42

Вопрос: а что мешает на звук повернуть сразу все шасси?  :wink:
Ну а про голову - в идеале конечно гироскоп нужен, а для привода - шаговый мотор. Тогда можно и положение знать и на нужный угол крутить.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Vovan » 20 окт 2006, 15:45

всё равно не получиться крутить 2 привода в разные стороны с одной угловой скоростью,
это почему? Ведь и вопрос о том же.
разве что только очень медленно
да как угодно!
даже если привода ШИМом управлять всё равно в конце нестыковка будет, хотябы из за разной инерционности приводов
совсем не в тему: вопрос о нейтрали не поднимается - слишком это элементарно.
почему нельзя сразу всё шасси поворачивать??
Да можно! Уже давно прибегает на звук! (писАл же "проблема решена, работает")
если проблема слуха решена то вместо 2х ухов сделать 3 уха. определили точно направление звука и крутим всё шасси сразу
а три зачем? Я про вертикальную составляющую ничего не спрашивал, а если в плоскости два "уха" хватает. Мождь другая идея бинаурального слуха с тремя ушами? Так это не сюда. А всё шасси мне не надо, всё шасси уже ходит на звук запросто и давно.
довернули голову на угол поворота шасси со знаком минус
Просто повернуть - неинтересно... Надо СИНХРОННО! (см. посты выше)
а на какой угол повернёться щасси зависит от внешних условий(гололёд под левым передним колесом например)
а вот это ужЕ интересно! Действительно, в зависимости от поверхности на которой стоИт шасси зависит точность его поворота. Но это, уже, следующий этап работы, а сначала надо решить задачу (образно говоря) на ровной и равномерной поверхности. Однако если будет решена 1-я задача (о синхронном повороте), то никакой гололёд не помешает, пока будет "тело" стоять - голова тоже будет стоять...
To Мур: если есть желание подумать над конкретной задачей (см. первый пост темы) - пожалуйста! Придумывать новые конструкции в обход поставленной задачи - не требуется (это я про три уха и всё шасси). :D
___________
С уважением
Vovan
Последний раз редактировалось Vovan 20 окт 2006, 16:14, всего редактировалось 2 раз(а).
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение Vovan » 20 окт 2006, 16:01

To Александр:
а для привода - шаговый мотор. Тогда можно и положение знать и на нужный угол крутить.

положения и угла мало! Есть ещё один необходимый параметр :wink: который и отвечает за синхронность действия приводов.
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение -= Александр =- » 20 окт 2006, 16:11

А зечем синхронность? Знаем углы - отрабатываем моторами - получаем нужное положение. А если есть гироскоп - соединяем его с мотором поворота головы и делаем удержание позиции, а щасси уже рулит как хочет, гироскоп с мотором сохранят направление головы. кстати это самый лучший вариант, т.к. нет никакой привязки к приводу, неважно по какой поверхности он едет и вообще хоть его ногами пинай - голова сохранит позицию. а гироскоп проще всего самому сделать, ИМХО механического тут вполне хватит. Повернули голову - раскрутили гироскоп - и можно рулить шасси.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Vovan » 20 окт 2006, 16:26

Ну, зачем синхронность - отвечать в лом. Нужна и всё!
С гироскопом понятно. Наверное я никого не удивлю на этом форуме, если откажусь от идеи, чем начну в такую (третьестепенную) функцию гироскоп лепить. Этот вариант был задолго до обращения в форум...
Однако мысль вот какая: голова повернулась - получили угол.
На этот же угол поворачиваем шасси (пока всё просто). Однако если есть угол можно же сразу повернуть голову на этот же угол, но в обратную сторону, как только шасси начало поворот (а точнее разворот).
Остаётся: зная скорость разворота шасси (а её можно сделать постоянной), с такой же скоростью и башку поворачивать...
Разве не так? И получим синхронный разворот на нужный угол без гироскопа.
Вопрос же, стоИт так: см. 1-й пост.
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение Myp » 20 окт 2006, 18:53

эмммм
тогда другое предложение
дискретное
высчитать  такой алгоритм
типа 20 секунд поворот шасси на 360 градусов
5 секунд поворот головы на 360 градусов
ну и зная нужный угол межды шасси и головой
включать привод шасси и головы наоч короткое время=)

типа 0.5 сек включаем шасси 0.025 секунды включаем голову
и чередуем до момента выравнивания =)
если сделать очень дискретно то движение будет практически плавное=)


блин
этож я опять ШИМ описал....

смысл в том что импульсы ШИМа на 2 привода засинхронизировать какнибудь между собой
100 импульсов на шасси 1 импульс на голову
ну и высчитать нужное соответствие межды импульсами на готовой конструкции(подогнать чтоб точно было)
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Vovan » 20 окт 2006, 19:35

типа 0.5 сек включаем шасси 0.025 секунды включаем голову
и чередуем до момента выравнивания =)
если сделать очень дискретно то движение будет практически плавное=)


блин
этож я опять ШИМ описал....

смысл в том что импульсы ШИМа на 2 привода засинхронизировать какнибудь между собой
вот именно!
Но как: как расчитать ентот коэффициент и "вложить" его програмно?
Думаем...
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение -= Александр =- » 20 окт 2006, 19:56

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

Про гироскоп: а я все-же думаю что его полезно иметь на борту, ведь не только для поворота головы, а вообще для навигации можно его использовать.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Myp » 20 окт 2006, 20:42

Vovan писал(а):
типа 0.5 сек включаем шасси 0.025 секунды включаем голову
и чередуем до момента выравнивания =)
если сделать очень дискретно то движение будет практически плавное=)


блин
этож я опять ШИМ описал....

смысл в том что импульсы ШИМа на 2 привода засинхронизировать какнибудь между собой
вот именно!
Но как: как расчитать ентот коэффициент и "вложить" его програмно?
Думаем...
___________
С уважением
Vovan


да никак, методом научного тыка=)
а вобще гироскоп форева
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

След.

Вернуться в Идеи

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

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

cron