|
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
|
|
Определение скорости движения робота?12.02.2011, 04:55. Показов 46226. Ответов 48
Метки нет (Все метки)
Собственно сабж. Как можно определить скорость движения робота? Именно движения. А не вращения двигателей.
Планировал использовать акселерометр. Но я его угробил. И перед тем как заказывать новый думаю может есть какие нибудь более эффективный способы. Также подозреваю, что с акселерометрами в этом плане не все так гладко будет.
0
|
|
| 12.02.2011, 04:55 | |
|
Ответы с готовыми решениями:
48
Определение скорости движения тела Программа для движения робота в AVR Studio язык Assembler Ультразвуковой датчик для измерения скорости движения |
|
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
|
|
| 12.02.2011, 07:08 | |
|
Как не странно, но именно через скорость вращения двигателя можно узнать. Двигатель вращает колесами с определенной скоростью. Колесо совершает N оборотов в единицу времени. За один оборот проходится расстояние, равное длине окружности. Длинна окружности = 2*пи*радиус. Следовательно, если за секунду колесо совершает 10 оборотов, то пройденное расстояние = 10 длин окружности в секунду.
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
|
|
| 12.02.2011, 08:51 | |
|
Ну, это только в идеальных условиях. Колеса еще и буксовать могут. Абстрагируйтесь от них. Считайте, что движитель- воздушный винт.
0
|
|
|
SWK
|
|||
| 12.02.2011, 09:47 | |||
1. Cчитать отдельно для каждого из ведущих колес или гусеницы, по их разности также вычисляя угол поворота. Из этих данных несложно получить и скорость, но это в большинстве случаев для домашних мобильных роботов не имеет особого значения. 2. Определять непосредственно перемещение робота относительно поверхности, по которой движется. Например, по принципу оптической мыши. 3. Определять непосредственно пространственное положение робота. Например, относительно каких - то реперных маяков, или используя спутниковые навигаторы. Вариант 1 легко реализуется одометрами, установленными на колесе или его приводе. Точность определяется разрешением одометра и проскальзыванием (пробуксовкой) колеса или гусеницы. Например, при длине окружности колеса 200мм и количестве секторов диска одометра на нем = 50, в зависимости от алгоритма подсчета можно иметь точность от 4 до 1 мм на оборот колеса (без учета проскальзывания и ложных срабатываний или потери импульсов). Ложные срабатывания могут быть, например, если колесо не вращается, а дрожит, вызывая срабатывания одометра на границе сектора. В простых алгоритмах (простой счет импульсов с одной оптопары или с двух, но без учета предыдущего состояния) это приводит к накоплению ложного пути. Вариант 2 - проблемы возникают с отслеживанием поверхности, которая обычно неровная, что нарушает фокусировку или вызывает потерю пятна. Вариант 3, например, с использованием навигатора, не дает необходимой точности при малых перемещениях, например, в пределах комнаты. Вариант с маяками требует наличия этих маяков, сложных тригонометрических вычислений, а главное - сложно определять направление на маяк с высокой точностью.
При этом многие забывают о силе тяжести, создающей ускорение свободного падения. Например, я так и не смог доказать одному из своих знакомых, что акселерометр будет показывать ускорение свободного падения, если сам неподвижен. Его аргумент: "Если он неподвижен - ускорения нет. Если он будет падать - оно появится". На самом же деле наоборот. Если он будет падать, то должен будет показывать 0. Кроме того, если акселерометр не горизонтален, он будет раскладывать ускорение свободного падения по трем осям. Можно исключить постоянную составляющую из показаний, и учитывать только динамические изменения ускорений. Но это будет уже третья производная от пути по времени. (первая - это скорость, вторая - ускорение). И при равномерном прямолинейном движении ускорение равно нулю... И вообще, для малых скоростей, свойственных большинству мобильных роботов, возникающие ускорения слишком малы, что дает большие погрешности их измерения... |
|||
|
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 504
|
|
| 12.02.2011, 14:28 | |
|
Посмотрите на реализацию инерциальных систем наведения ракет.В теории там все как раз описано.Не требуется ни внешних маяков ни управления.Основываясь на показаниях гироскопов и акселерометров,а также количества топлива в секунду проходящего через ту или иную форсунку(в роботе - угловое положение колеса\двигателя)возможно довольно точно рассчитать текущее положение.Также требуется хорошо знать свойства среды,в которой двигается устройство и параметры самого устройства(вес,размеры,векторы тяги,центры тяжести)Еще в 70годах подобные системы достигали точности +-1км на дальности 15тыс км.
0
|
|
|
SWK
|
||
| 12.02.2011, 14:56 | ||
Казалось бы что может быть проще автоматного патрона. Но попробуйте изготовить дома вручную сотню штук, постреляйте с ними метров на 400, и посмотрите, какой получится разброс, по сравнению с заводскими... |
||
|
0 / 0 / 0
Регистрация: 19.07.2010
Сообщений: 270
|
|
| 12.02.2011, 15:05 | |
|
Оптимального способа нет, всё зависит от задач... И уже было описано выше... Для повышения точности можна использовать комбинированое измерение... Но как правило если идёт вопрос о домашнем роботе достаточно одометра (коректировать даные которого можно с помущью оптического дальномера или сонара). Если же большой робот то можна использовать джпс+датчик давления (трубку пито), коректируя значения темже одометрами, или акселерометрами.
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
|
||
| 12.02.2011, 15:06 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 19.07.2010
Сообщений: 270
|
|
| 12.02.2011, 15:08 | |
|
Ну имхо с автоматными патронами тоже не совсем правильный пример при наявности оборудования, и желания можна и в домашних условия получить хорошее качество.. проблема не в качестве а в соотношение (ресурсы(время в том числе)/качество*количество)
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 504
|
|
| 12.02.2011, 15:11 | |
|
Просто далеко не каждый может спроектировать систему подобного уровня.
0
|
|
|
0 / 0 / 0
Регистрация: 19.07.2010
Сообщений: 270
|
|
| 12.02.2011, 15:21 | |
|
Я бы сказал вопрос не стоит возможно ли спроектировать, а есть ли смысл? какой смысл например в точности позиционирования (скорости) домашнего робота?
0
|
|
|
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 69
|
|
| 12.02.2011, 15:22 | |
|
Можно еще добавить одно колесо, которое будет просто крутиться при движении объекта и по числу его оборолтов определять пройденный путь (получится нечто вроде датчика расстояния), тогда о пробуксовке можно забыть)))). Затем делим расстояние на время и получаем скорость)))
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 504
|
||
| 12.02.2011, 15:28 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 19.07.2010
Сообщений: 270
|
|
| 12.02.2011, 15:43 | |
|
Да кучу всего можна :) можна поставить маленький пропелер который будет крутиться от набегающего потока, таже трубка пито, в комнате можна использовать дальномеры, можна сделать систему радиолокации, можна как уже говорилось использовать метки, нигнитный компас, НО всё будет иметь свою точность, и не всегда будет пременимо.... Можна вообще у гаишников радар взять и самим следить за роботом и руками вводить скорость (ну или посадить человека :)...
0
|
|
|
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 69
|
|
| 12.02.2011, 15:47 | |
|
Ну вероятность пробуксовки такого колеса очень мала, так как его не крутит двигатель, а оно крутится за счет движения платформы. С застреванием можно бороться сделав к примеру пружинный прижим, насчет расположения тут подумать можно))) Так что, было бы желание...))))
0
|
|
|
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
|
|
| 12.02.2011, 15:54 | |
|
http://enc.lib.rus.ec/bse/010/001/245069039.jpg Под номером 5 - специальное колесо-путеизмеритель.
0
|
|
|
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
|
|
| 12.02.2011, 16:08 | |
|
На сайте электроникса, как собственно и здесь порекомендовали самый простой способ определения скорости(или пути).
Это поставить дополнительное колесико и по его вращению определять скорость. Но как это будет влиять на повороты. Это еще загадка. Скорость(или путь) необходимы для отрисовки пройденного маршрута. Зная маршрут можно вернутся в исходную точку. Я думал сделать привязку к вращению траков. Но если робот зацепится, то они двигаться не будет а скорость, в этом случае, отображаться будет.
0
|
|
|
SWK
|
|
| 12.02.2011, 16:15 | |
|
http://pics.qip.ru/1001D47.jpg |
|
|
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 504
|
|
| 12.02.2011, 16:35 | |
|
В случае с луноходом,робот имеющий не гусеницы а более четырех колес(опорных точек)может получать вполне правдивую информацию только от датчиков поворота колес(каждого в отдельности).Вводим условие -все колеса должны вращаться почти одновременно.Насколько "почти"?Это число можно вывести из предполагаемой скорости движения,вектора(вдруг робот поворачивает).Подбирается экспериментально(простейшая табличка,выведенная для разных скоростей на одной массе).Также если затормозилось одно-два колеса,сигналы от них считать неверными.То есть обрабатывая все восемь колес,алгоритмически определять какое из них буксует(не все ведущие,разумеется)и по этой картине можно составит довольно реальное представление о скорости и направлении движения.Чем больше колес-тем меньше будет ошибок(но тем больше длина робота и сложность обработки данных)Плюс-на каждое колесо придется поставить угловой датчик положения,на основе данных которого робот рассчитает свою скорость.
В случае гусеничных движителей можно попробовать сделать несколько систем - колеса,оптодатчик от мыши,хотя бы два маркера,и т.д.На основе этих данных интерполированием выводим текущую скорость и направление. Да,забыла - если у робота есть фрикционы,не дающие превысить определенное усилие на валу движка,можно снимать информацию и с них.Используя биты "буксует" "не буксует" тоже можно уточнять реальную ситуацию.Также очень желательно контролировать нагрузку двигателей каждого колеса(луноход с раздельными приводами) либо каждой гусеницы.При буксовке в воздухе усилие двигателя резко падает(и ток),а скорость увеличивается,это тоже нужно учитывать при разработке алгоритма. SWK,это реально такие доски существуют или же игра воображенияфотошоп?
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
|
||
| 12.02.2011, 17:18 | ||
Такое доп. колесо- самое простое решение задачи.
0
|
||
| 12.02.2011, 17:18 | |
|
Помогаю со студенческими работами здесь
20
С помощью потенциометра реализовать изменение скорости движения огонька (Arduino Uno) Определение скорости передачи данных по Ethernet
Запуск, Контроль скорости, Определение крайнего положения(перегрузки) электродвигателя. Двигатель есть(идёт по почте) по
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|