MMA7361+платформа 2wd

zugni
Offline
Зарегистрирован: 14.06.2015

Подскажите навичку можно ли использовать mma7361 на 2wd робота чтоб он ехал ровнее ?

или посоветуйте что не буть дельное) 

zugni
Offline
Зарегистрирован: 14.06.2015

Здается мне похоже нет. 

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

zugni пишет:

Здается мне похоже нет. 

круглые колёса поставить можно

zugni
Offline
Зарегистрирован: 14.06.2015

Может слышали можно ли использовать акселерометр для робота на платформе 2wd чтоб его при езде прямо не вело в сторону ?

zugni
Offline
Зарегистрирован: 14.06.2015

если можно то отнеситесь серьезно к этому (

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

zugni пишет:

если можно то отнеситесь серьезно к этому (

куда уж серьёзней - я плачу.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Клапауций 999 пишет:

куда уж серьёзней - я плачу.

сколько платишь? ( достал калькулятор)

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

Puhlyaviy пишет:

сколько платишь? ( достал калькулятор)

горько плачу - уйди, старушка, я в печали.

sectortll
Offline
Зарегистрирован: 22.07.2015

zugni пишет:

Может слышали можно ли использовать акселерометр для робота на платформе 2wd чтоб его при езде прямо не вело в сторону ?

В принципе, почему бы и нет,.

К примеру, балансирующий на двух колесах механизм - уже не диковинка и мой коллега в качестве хобби построил такой и из его опыта:

1. Разброс значений выдаваемых аккселерометром. фильтрации данных, фильтр Калмана или простое сглаживание

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

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

 

Joiner
Offline
Зарегистрирован: 04.09.2014

наверное проще обороты каждого колеса считать и сравнивать

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Joiner пишет:

наверное проще обороты каждого колеса считать и сравнивать

или оттриммировать моторы заранее ? 

sectortll
Offline
Зарегистрирован: 22.07.2015

Joiner пишет:

наверное проще обороты каждого колеса считать и сравнивать

Не, если прокрутится, из-за неравномерного покрытия или усилия, то нехорошо будет. Хотя, это ведь я фантазирую, что задумал топик стартер, если машинка на радио управлении, то да хватит с головой (главное, что б прямо ехала), а если робот с ии то способ ориентации "считая шаги" не очень подходящ.

 

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

sectortll пишет:

Joiner пишет:

наверное проще обороты каждого колеса считать и сравнивать

Не, если прокрутится, из-за неравномерного покрытия или усилия, то нехорошо будет. Хотя, это ведь я фантазирую, что задумал топик стартер, если машинка на радио управлении, то да хватит с головой (главное, что б прямо ехала), а если робот с ии то способ ориентации "считая шаги" не очень подходящ.

дифференциал ? для колёсной , а не танковой модели...

zugni
Offline
Зарегистрирован: 14.06.2015

Привет всем сделал на аккселиромере вроде норм но не сказать что уж хорошо та было но все же лучше мне тут на соседнем форуме сказали что можно еще и ШИМом регулировать буду пробовать 

sectortll
Offline
Зарегистрирован: 22.07.2015

zugni пишет:

Привет всем сделал на аккселиромере вроде норм но не сказать что уж хорошо та было но все же лучше мне тут на соседнем форуме сказали что можно еще и ШИМом регулировать буду пробовать 

Если код основывается на голой дате с датчика, то, однако, быстренько, конгратулейшн (как говорят у них).

Или библиотеки существуют с функциями типа WhereIsNordGodDamned()?

Так что там у тебя ездило криво? Как конкретно данные с аккселерометра обрабатываешь? 

zugni
Offline
Зарегистрирован: 14.06.2015

вчера очень я долго сидел на дним где то на гуглил пример на форуме и понему дальше делал свое 

http://www.unity3d.ru/distribution/viewtopic.php?f=105&t=26794

http://habrahabr.ru/post/250823/

http://www.youtube.com/watch?v=hfAdH1Q_zzU

 

sectortll
Offline
Зарегистрирован: 22.07.2015

zugni пишет:

...и понему дальше делал свое 

Ну да, именно это и интересно, чтение даты с этого датчика, вещь в принципе, тривиальная.

Самое интересное тут как ты обрабатываешь эти данные. Понимать и обяснять моторчикам насколько ты сошел с маршрута по показаниям аккселерометра - вот где "мякотка". Разве что самый простой случай: "едем строго вперед.

Ну вот самое простое что мне приходит в голову:

Присабачить аккселерометр на машинку строго по продольной оси, ну пусть Х.

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

1. Складываем накапливающиеся величины ускорений. То есть каждый переодический такт чтения складывем с историческим. Пример: первое чтение оказалось положительное ускорение 100 (допустим это левая сторона), запоним, что 100, следующие -70 (правая), ок, складываем получаем 30, запоминаем.

2. Во время такта управления моторами, пытаемся привести величену ускорения ближе к нулю. Ессено, что это на следующих чтениях будет понятно, насколько успешно.

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

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

zugni
Offline
Зарегистрирован: 14.06.2015

sectortll пишет:

zugni пишет:

...и понему дальше делал свое 

Ну да, именно это и интересно, чтение даты с этого датчика, вещь в принципе, тривиальная.

Самое интересное тут как ты обрабатываешь эти данные. Понимать и обяснять моторчикам насколько ты сошел с маршрута по показаниям аккселерометра - вот где "мякотка". Разве что самый простой случай: "едем строго вперед.

Ну вот самое простое что мне приходит в голову:

Присабачить аккселерометр на машинку строго по продольной оси, ну пусть Х.

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

1. Складываем накапливающиеся величины ускорений. То есть каждый переодический такт чтения складывем с историческим. Пример: первое чтение оказалось положительное ускорение 100 (допустим это левая сторона), запоним, что 100, следующие -70 (правая), ок, складываем получаем 30, запоминаем.

2. Во время такта управления моторами, пытаемся привести величену ускорения ближе к нулю. Ессено, что это на следующих чтениях будет понятно, насколько успешно.

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

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

как все отредактирую и скену скетч сюда с пояснениями и коментами).