Балансирующий робот
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Балансирующий робот
Зачетно! Есть идеи как улучшить качество регулирования? В первую очередь перерегулирование и колебания.
- Eugene
- Сообщения: 60
- Зарегистрирован: 10 май 2011, 20:29
- Откуда: Электросталь
- Контактная информация:
Re: Балансирующий робот
И еще фотографии
Человек в своей жизни ни в чем не может быть уверен, кроме того, что ему придется с ней расстаться. Джордж Мередит
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Балансирующий робот
Как, по вашим ощущениям, жесткость конструкции? Жестче первоначальной из деталей конструктора?
- Eugene
- Сообщения: 60
- Зарегистрирован: 10 май 2011, 20:29
- Откуда: Электросталь
- Контактная информация:
Re: Балансирующий робот
По поводу дерганья вблизи нуля... думаю надо использовать другие коэффициенты для ПИДа, которые будут использоваться только, когда угол отклонения не больше 5 градусов например.
Плюс что на счет этой строчки? if(torque>5) map(torque,0,255,30,255);
И еще вопрос. Я правильно понял что начальная положение, к которому будет стремиться робот при балансировании задаем мы, при установке робота в вертикальное положение?
Т.е. допустим вы включаем робота и держим его под углом 45 градусов от вертикали... робот же будет пытаться находиться в этом положении (45 градусов)?
Т.е. как такового нуля нет? Или у меня что-то не так работает.
Плюс что на счет этой строчки? if(torque>5) map(torque,0,255,30,255);
И еще вопрос. Я правильно понял что начальная положение, к которому будет стремиться робот при балансировании задаем мы, при установке робота в вертикальное положение?
Т.е. допустим вы включаем робота и держим его под углом 45 градусов от вертикали... робот же будет пытаться находиться в этом положении (45 градусов)?
Т.е. как такового нуля нет? Или у меня что-то не так работает.
Человек в своей жизни ни в чем не может быть уверен, кроме того, что ему придется с ней расстаться. Джордж Мередит
- Eugene
- Сообщения: 60
- Зарегистрирован: 10 май 2011, 20:29
- Откуда: Электросталь
- Контактная информация:
Re: Балансирующий робот
Конструкция значительно прочнее и не создает дополнительных колебаний из-за своей нежесткости, но при этом она и тяжелее.Григорий Зайцев писал(а):Как, по вашим ощущениям, жесткость конструкции? Жестче первоначальной из деталей конструктора?
Данные моторы работаю на пределе с ней. Если аккумулятор поднять выше, то уже не справляются, робот начинает быстро ехать вперед и заваливается, не успевают моторы его поднять.
Так же для более стабильной работы все же что-то еще надо сделать с колесами, т.к. даже так имеется приличная "восьмерка".
На видео попробую заснять.
Оргстекло резал и сверлил в рекламном агентстве... сделали за копейки.
Для разметки отверстий под крепеж платы ардуино использовал этот чертеж
http://arduino.cc/blog/2011/01/05/nice- ... mega-2560/
1 mil = 0.0254 мм - при таком переводе размеров отверстия попали один в один, с точностью до 0.5мм
Моторы не очень хорошо получилось прикрепить, т.к. внутри мешают ребра жесткости. И отверстия в корпусе самих моторов не очень ровно просверлил.
Получились оси не на одной прямой немного.
Человек в своей жизни ни в чем не может быть уверен, кроме того, что ему придется с ней расстаться. Джордж Мередит
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Балансирующий робот
Это реализация зоны нечувствительности. Регулятор не реагирует на маленькие рассогласования.if(torque>5) map(torque,0,255,30,255)
.Я правильно понял что начальная положение, к которому будет стремиться робот при балансировании задаем мы
Все верно. В алгоритме предусмотрена однократная калибровка при запуске программы - calibrateSensors(). Попробуйте убрать калибровку и использовать жестко заданное значение уставки "0".
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Балансирующий робот
Название агентства в студию!Оргстекло резал и сверлил в рекламном агентстве... сделали за копейки.
- Eugene
- Сообщения: 60
- Зарегистрирован: 10 май 2011, 20:29
- Откуда: Электросталь
- Контактная информация:
Re: Балансирующий робот
Да оно местное =) Не Московское. За 200 руб. на станке с ЧПУ выпилили всё.Григорий Зайцев писал(а):Название агентства в студию!Оргстекло резал и сверлил в рекламном агентстве... сделали за копейки.
Еще там лазер есть, но он занят был... им еще лучше можно сделать.
Человек в своей жизни ни в чем не может быть уверен, кроме того, что ему придется с ней расстаться. Джордж Мередит
- Eugene
- Сообщения: 60
- Зарегистрирован: 10 май 2011, 20:29
- Откуда: Электросталь
- Контактная информация:
Re: Балансирующий робот
Все верно. В алгоритме предусмотрена однократная калибровка при запуске программы - calibrateSensors(). Попробуйте убрать калибровку и использовать жестко заданное значение уставки "0".
Ну просто так функцию калибровки из setup () нельзя убрать. Там как минимум задается масштаб для гироскопа.
Если просто убрать функцию, то в GUI интерфейсы все данные неправильные идут.
Человек в своей жизни ни в чем не может быть уверен, кроме того, что ему придется с ней расстаться. Джордж Мередит
- Eugene
- Сообщения: 60
- Зарегистрирован: 10 май 2011, 20:29
- Откуда: Электросталь
- Контактная информация:
Re: Балансирующий робот
И вот собственно сами пластины из оргстекла.
Человек в своей жизни ни в чем не может быть уверен, кроме того, что ему придется с ней расстаться. Джордж Мередит