linvinus писал(а):Как считать одометрию по двум ведущим колёсам понятно.
Я хочу попробовать другой способ.
в идеале я думаю надо скрестить их оба с данными инерциалки еще
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
примерно так и хочу, у недорогих инерционных датчиков только yaw уплывает, его я и планировал компенсировать при помощи рояльного колеса.
Можно смешивать угловую скорость платформы которую получил с рояльного колеса со скоростью гироскопа, так можно компенсировать постоянный дрейф гироскопа, но в динамике погрешность останется, и тогда непонятно кому больше верить гиро или рояльному колесу.
R3 forum87/topic15337.html R2 roboforum.ru/forum102/topic13980.html R4 roboforum.ru/post336339.html#p336339 Делать надо хорошо - плохо получится само!
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Сегодня погонял по полу, выявился ещё неприятный момент, при движении только вперёд рояльное колесо не выходит в нулевую позицию, залипает в положении +- 1 градус, видимо конструкция неудачная получилась. Если руками вращать то вроде вилка крутится свободно, а вот когда под весом робота видимо возникает дополнительная сила трения которая больше чем сила трения колеса о пол, поэтому рояльное колесо немного не доворачивается, причём отклонение зависит от того куда был до этого поворот.
Ну а пока вот так крутятся моторы в динамике, задаю произвольно скорость мышкой (скорость в левой части экрана), моторы отрабатывают.
Последний раз редактировалось linvinus 18 июн 2016, 14:34, всего редактировалось 1 раз.
R3 forum87/topic15337.html R2 roboforum.ru/forum102/topic13980.html R4 roboforum.ru/post336339.html#p336339 Делать надо хорошо - плохо получится само!
На мой взгляд для устранения этой ситуации стоит использовать плоское в профиле колесо, точка контакта должна быть линия, моменты на возвращения колеса в 0 должны быть выше, либо отбросить эти значения возле 0 и учитывать уже частоту вращения колёс, при равных скоростях принимать направление за 0. При окончании поворота колёса будут иметь равную угловую скорость, а колесо направления ещё не будет повёрнуто прямо, будет возникать проскальзывание колеса, видимо надо будет играть алгоритмом изменения скорости поворота и возвратом в прямолинейное движение. По моему идея себя исчерпала, может иметь вспомогательное значение для контроля движения и направления, стоит опираться на другие источники информации.
Согласен колесо оказалось не очень хорошим, но что смог найти.
По моему идея себя исчерпала,
спокойно, волков бояться в лес не ходить
я ещё когда только первый раз собрал рояльное колесо понял свою ошибку. я взял подшипник в котором не смог просвелить отверстие, пришлось вкручивать в вилку рояльного колеса болты с трёх сторон чтобы зажать втулку подшипника в вилке рояльного колеса.
вилка из капролона, материал очень мягкий, поэтому вилка тупо растянулась, чтобы вилка не задевала корпус подшипника из за перекоса, который возникает из за растяжения, я подсунул маленький шарик, чтобы он катался по краю корпуса подшипника, т.е. сделал дополнительный микроподшипник, короче сплошные костыли.
Проблему исправил, купил водопроводный хомут для шлангов подпилил его и обжал вилку, теперь наоборот вилка обжимает втулку, поэтому больше ничего не перекашивает и ничего не растягивается.
Вот так получилось.
работает неплохо, +- 0.5 градуса во время движения, но я полагаю что так и должно быть, моторы не идельно точно поддерживают скорость
Последний раз редактировалось linvinus 16 июн 2016, 14:27, всего редактировалось 1 раз.
R3 forum87/topic15337.html R2 roboforum.ru/forum102/topic13980.html R4 roboforum.ru/post336339.html#p336339 Делать надо хорошо - плохо получится само!
Вот что у меня в массиве предсказания компенсации залипания (anti-cogging feed forward) Для правого
Для левого
отрицательные значения т.к. мотор крутится в другую сторону, особенность алгоритма. нет, не знаю почему так, работает нормально и вперёд и назад, снимал данные при вращении вперёд
Добавлено спустя 2 часа 52 минуты 25 секунд:
сгладил в octave, сало более равномернее
Добавлено спустя 33 минуты 17 секунд: Как пружина
всегда возвращается в то положение где должно быть какая бы сила не действовала, проворачивал на несколько слотов, возвращается в точное положение.
bldc с сенсором можно ставить в суставы робота будет похоже на настоящую мышцу, вот только пока у меня максимальная скорость ограничена, я полагаю она меньше чем могла бы быть.
R3 forum87/topic15337.html R2 roboforum.ru/forum102/topic13980.html R4 roboforum.ru/post336339.html#p336339 Делать надо хорошо - плохо получится само!
Судя по прилагаемым усилиям, непонятно зачем там вообще редуктор. Директдрайв надо было делать. А название bldc можно? Не перематывал? Понимаю, что скорее всего давал название, но склероз, экзамены сессия...
может во видео кажется что мощность больше? за ротор рукой можно остановить, чтобы остановить за колесо нужно приложить очень серьёзное усилие. если робот упирается в стену колёса скрепят но продолжают вращаться.
ещё я немного лопухнулся, лысые колёса плохо по пушистым коврикам ездят.
ну если быть точным то 0.612 км/ч (0.17*60*60/1000)
Последний раз редактировалось linvinus 18 июн 2016, 01:47, всего редактировалось 1 раз.
R3 forum87/topic15337.html R2 roboforum.ru/forum102/topic13980.html R4 roboforum.ru/post336339.html#p336339 Делать надо хорошо - плохо получится само!
осталось поставить более маломощный БЛДС двигатель на рояльное колесо вместо датчика угла поворота и считывать по нему, за одно будет подпружинен а угол считать по мощности подаваемой на обмотки. Косинунсосинусный вращающийся трансформатор, сельсин, такие на станках с магнитной лентой стояли, прямое управление по записанным аналоговым сигналам. сигналам