roboforum.ru

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


робот балансер, кто уже сделал?

Обсуждение и примеры готовых и самосборных компонент для построения роботов.

робот балансер, кто уже сделал?

Сообщение craft » 14 июн 2008, 19:22

Интересует тема робота балансера, кто уже реально занимался этой проблемой и сделал таки рабочую модель? поделитесь опытом, какие датчики и аппаратуру использовали, какие сложности возникли в ходе разработки?

Что думаете о контролере OSMC Speed Controller для мотора:
http://www.robotmarketplace.com/products/RP-OSMC.html ?

Еще очень интересно увидеть видео Ваших роботов балансеров!
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

Re: робот балансер, кто уже сделал?

Сообщение EdGull » 15 июн 2008, 11:40

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

Re: робот балансер, кто уже сделал?

Сообщение craft » 15 июн 2008, 17:11

EdGull писал(а):я конечно прошу прощения и всё такое... а тележечку 3-колесную вы батенька уже делали али сразу решили не мелочиться и начать с балансера?


я что-то нарушил в этом форуме? если Вас смутил контролер (почему такой мощный), то речь идет о балансере, на котором можно ездить человеку :roll:

Тема очень актуальна, думаю многие проходили через нее, есть желание обойти грабли, которые возможно обойти в ходе решения задачи, поэтому опыт др. людей, работающих в этой или смежных областях думаю очень будет полезен и не только мне.
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

Re: робот балансер, кто уже сделал?

Сообщение lebaon » 15 июн 2008, 17:21

дело в том, что балансер - это весьма сложный робот, с гемморойной отладкой,
и делали его не многие, александр вроде делал :)
и если нет базового опыта - лучше не соваться :wink:
поэтому эдгул хочет знать, готов ли ты? имеешь ли ты достаточный опыт? умеешь мк программировать?
на иноземных модулях разоришься :) тем более что с ними здесь мало кто вообще работал
глянь на контроллер деада - думаю подойдет :roll:
Аватара пользователя
lebaon
Безбашенный Теоретик
 
Сообщения: 1137
Зарегистрирован: 07 янв 2006, 18:30
Откуда: Подмосковье

Re: робот балансер, кто уже сделал?

Сообщение craft » 15 июн 2008, 17:58

сам я программер, программирую порядка 15 лет - это софт для ПС конечно, но есть опыт программирования и бульдозеров, могу черта запрограммировать, а отладка - это мой конек, такие стабильные модули и программы, как у меня редко кто пишет :D занимаюсь РУ моделями, а сейачс заинтересовался балансером - хочу сделать для своего ребенка.

По балансерам читал уже много конечно, но самой интересной статьей мне показалась эта:

http://www.tlb.org/scooter.html
и http://www.tlb.org/scooter2.html

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

По поводу буржуйских деталей: ну вроде приведенный контролер мотора стабилен к вибрациям и ударам + выдает отличные характеристики (предназначен для битв роботов, на одном из рос. сайтов я видел человек его использует - очень доволен). По этой ссылке: http://www.robotpower.com/catalog/ есть комплект Dalf OSMC Combo для управления двумя моторами - вроде то, что нужно. Если есть наши разработки сравнимые по качеству, было бы здорово их увидеть.

Обсудить алгоритм самой балансировки, т.е. алгоритм с использованием гиро + акселерометр, было бы вообще супер!
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

Re: робот балансер, кто уже сделал?

Сообщение EdGull » 15 июн 2008, 18:20

1. настоятельно рекоммендую заполнить город, проще будет саратников искать
2. так же настоятельно рекоммендую начать делать балансир с трех колесной тележки, потому что во-первых я так понял у вас батенька никакого опыта общения с МК нет и во-втрорых при разработке балансиров их всегда с начала подпирают двумя дополнительными колесиками для устойчивости.
3. если нет опыта разработки электроники рекоммендую приобрести МиниБота, там есть всё необходимое для робота-баласира кроме гироскопа и акселерометра которые очень будет лекго подпаять тремя проводками.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: робот балансер, кто уже сделал?

Сообщение craft » 15 июн 2008, 18:59

EdGull писал(а):1. настоятельно рекоммендую заполнить город, проще будет саратников искать
2. так же настоятельно рекоммендую начать делать балансир с трех колесной тележки, потому что во-первых я так понял у вас батенька никакого опыта общения с МК нет и во-втрорых при разработке балансиров их всегда с начала подпирают двумя дополнительными колесиками для устойчивости.


Да, Вы обсолютно правы, инфу заполнил, подпирать - согласен.

EdGull писал(а):3. если нет опыта разработки электроники рекоммендую приобрести МиниБота, там есть всё необходимое для робота-баласира кроме гироскопа и акселерометра которые очень будет лекго подпаять тремя проводками.


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

На данный момент самое основная проблема как раз и связана с тем, что в предлагаемом комплекте отсутствует, а именно - связка гироскопа и акселерометра и алгоритм обработки информации для получения двигающегося балансера.

Акселерометр сможет легко помочь в определении наклома находящегося на месте балансера - я правильно рассуждаю? но как использовать связку гиро + акселерометр для двигающегося с ускорением объекта пока мне не понятно. Только пожалуйста не отправляйте в яндекс или в поиск на форуме, я уже ознакомился с тем, что можно найти, например:
http://forum.roboclub.ru/IPBoard/index. ... c=672&st=0
http://slovari.yandex.ru/dict/bse/artic ... /66300.htm
и мн. др.

Кто-то может объяснить на пальцах приемлемо точное и стабильное решение - алгоритм (использующий такие датчики как гиро + акселерометр), которой может быть использован для балансировки двигающегося с ускорением робота (т.е. робот может разгонятся, замедляться ну и конечно двигаться равномерно)?
Последний раз редактировалось craft 15 июн 2008, 19:25, всего редактировалось 1 раз.
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

Re: робот балансер, кто уже сделал?

Сообщение EdGull » 15 июн 2008, 19:23

ну раз заполнил город, то давай попорядку.
Опиши как ты себе представляешь как работает акселерометр?

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

Re: робот балансер, кто уже сделал?

Сообщение craft » 15 июн 2008, 19:50

EdGull писал(а):ну раз заполнил город, то давай попорядку.
Опиши как ты себе представляешь как работает акселерометр?

Добавлено спустя 1 минуту 34 секунды:
т.е. какие сигналы он будет выдавать при каких внешниих воздействиях?


Какие сигналы - это в даташит. На данном этапе вопрос про программную реализацию. Акселерометр меряет суммарное ускорение, т.е. отклонение некой массы внутри прибора, т.к. гравитация действует постояно, то при наклоне акселерометра на пузырек внутри прибора будет действовать сила притяжения, которая и отклонит его, отсюда можно вычислить угол наклона, но все это замечательно, если акселерометр сам не двигается с ускорением. Насколько мне удалось оснакомиться с проблемой, большие умы ломают головы над решением этой задачи, но ответа в инете я пока не нашел. Например народ ломает голову как балансировать РУ самолет в полете автоматически, но пока что результаты таковы, что через 12 минут полета самолет будет думать, что вверх там где низ :) При исследовании темы я обнаружил работы на тему "Инерциальной навигационной системы" - что супер дорого и глобально, но и там за час полета погрешность в определении координат порядка 5 км.

Поэтому речь идет о достаточно точной апроксимации - алгоритме, который может быть использован в конкретном данном случае, т.е. чисто для балансера.
Последний раз редактировалось craft 15 июн 2008, 20:44, всего редактировалось 3 раз(а).
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

Re: робот балансер, кто уже сделал?

Сообщение EdGull » 15 июн 2008, 19:54

отсюда можно вычислить угол наклона

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

Re: робот балансер, кто уже сделал?

Сообщение Кирилл » 15 июн 2008, 19:58

советую сюда заглянуть : viewtopic.php?f=10&t=4055
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Re: робот балансер, кто уже сделал?

Сообщение EdGull » 15 июн 2008, 19:59

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

Re: робот балансер, кто уже сделал?

Сообщение craft » 15 июн 2008, 20:25

EdGull писал(а):
отсюда можно вычислить угол наклона

а причем тут акселерометр??? :shock:


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

Кирилл писал(а):советую сюда заглянуть : viewtopic.php?f=10&t=4055


Спасибо за ссылку, сейчас посмотрю.

Добавлено спустя 20 минут 3 секунды:
Ссылку посмотрел, ну это типичный случай того, как мерять угол с помощью акселерометра. К сожалению этот способ не подойдет для случая, когда сам акселеромерт двигается с ускорением, т.е. алгоритм подойдет только для определения угла наклона робота-балансера, стоящего на месте, а этого не достаточно.
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

Re: робот балансер, кто уже сделал?

Сообщение Виталий » 16 июн 2008, 00:37

Комплексирование подобных данных действительно нетривиальная для незнакомых с теорией фильтрации людей.
То что вам нужно называется фильтром Калмана-Бьюси (Калмана, Кальмана).
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: робот балансер, кто уже сделал?

Сообщение craft » 16 июн 2008, 14:20

Если возможно, могли бы Вы рассказать на пальцах, что к чему? В инете по этому поводу ничего подходящего для написания алгоритма обработки данных, поступающих с гиро + акселерометра я не нашел к сожалению. Возможно кому-то покажется надуманным использование именно этой связки приборов, но как я уже говорил, хотелось бы хоть частично обойти грабли уже решенные др. людьми и в этой связи я точно знаю, что роботы-балансеры, которые уже работают (и на которые можно найти описания в инете) используют именно связку гироскопа + акселерометра для балансировки.

Чисто теоретически, зная диаметр колес и скорости их вращения, можно вычислить ускорение движения робота, которое может быть использовано для корректировки данных акселерометра для получения вектора ускорения свободного падения и как следствие вектора НИЗА (или вверха, кому как удобнее). Алгоритм потенциально может работать при отсутствии пробуксовки, но что-то мне подсказывает, что способ не даст хорошего результата хотя бы потому, что его не используют в др. балансерах.

Вообщем если ни у кого нет работающих алгоритмов, давайте подискутируем, одна голова - хорошо, а на форуме - лучше! может и придем совместными усилиями к работающему алгоритму балансировки, используя гиро + аксель, а может выдумаем что-то новое :wink:
Аватара пользователя
craft
 
Сообщения: 16
Зарегистрирован: 14 июн 2008, 19:08
Откуда: Москва
прог. языки: C++, C#, Java, PHP, Object Pascal

След.

Вернуться в Готовые модули

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

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