|
xtriyi
|
|
Сенсор(ы) положения в пространстве для "слепого" робота20.12.2011, 06:29. Показов 17001. Ответов 16
Метки нет (Все метки)
Посоветуйте, пожалуйста, что использовать для решения моей задачи. Требуется определить положение "слепого" робота в пространстве - хотя бы относительно точки, в которой он был в момент включения. Интересует положение:
1) по осям X и Y (Z - опционально) 2) азимут (в какую сторону смотрит) Задача 1 решалась бы с помощью GPS, будь у него точность повыше раз так в 100 :) Можно было бы использовать какие-то радиомаяки, но в этом случае теряется автономность. Обе задачи бы решались хотя бы приблизительно при идеальном сцеплении с поверхностью через обратную связь от приводов, но увы... Почитал про гироскопы, акселлерометры, компасы - в результате в голове каша. Где можно пройти ликбез? Что можете посоветовать из конкретных компонентов для решения этой задачи? |
|
| 20.12.2011, 06:29 | |
|
Ответы с готовыми решениями:
16
Описание класса для представления положения объекта в пространстве Написать программу вычисления координат положения руки робота для момента времени t1 Построение пути для мобильного робота в двумерном пространстве |
|
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
|
|
| 20.12.2011, 07:59 | |
|
Если относительно точки где включилось питание, то все проще. Достаточно просто отслеживать пройденный путь в каждую сторону с помощью простейших одометров, состоящих из фотоэлемента и диска с прорезями (как в шариковых мышках)
0
|
|
|
xtriyi
|
||
| 20.12.2011, 08:25 | ||
Обратная связь с приводами, как я уже сказал, есть - хотя конструктивно выполнена иначе. |
||
|
0 / 0 / 0
Регистрация: 14.06.2004
Сообщений: 166
|
|
| 20.12.2011, 08:40 | |
|
Можно использовать цифровой компас или гироскоп для определения азимута.
От проскальзывания спасет датчик наподобие датчика оптической мыши, но вот проблему с переносом с места на место даже он не решит. Для ее решения нужна система "абсолютного" позиционирования, наподобие GPS, но самому сделать нечто подобное с приемлемой точностью ИМХО не реально. Хотя, если говорить о движении по заранее подготовленному небольшому участку - можно разложить в определенных точках RFID метки. Наехав на такую метку и зная, где она лежит, робот будет достаточно точно знать свои координаты, а азимут опять же укажет гироскоп. Другое дело, что для применения на практике идея не годится.
0
|
|
|
xtriyi
|
||
| 20.12.2011, 09:15 | ||
Резюмируя, могу ли я утверждать, что: 1) Компас даёт ТОЛЬКО ориентацию в пространстве относительно нигнитного поля Земли (и прочих посторонних нигнитиков :) 2) Гироскопический датчик - "пуп Земли" - мне может дать ТОЛЬКО угол в пространстве относительно "канонического" состояния (момент включения итд) 3) Акселлерометр может измерить ТОЛЬКО ускорение и никак не постоянную скорость. ? Как следствие, ни один из этих датчиков нельзя использовать для восстановления координат - хотя бы относительно начальной точки. Следовательно, нужны внешние источники сигнала, на которые робот бы мог ориентироваться - GPS, радиомаяки, RFID-метки. // Вон насекомые тоже по Солнцу навигацию строят, судя по тому, что от искусственных источников освещения начинают глючить :) Либо. Он увы - должен быть зрячим, а это ставит ряд саааавсем других задач... :) |
||
|
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
|
||
| 20.12.2011, 10:32 | ||
0
|
||
|
xtriyi
|
||
| 20.12.2011, 11:07 | ||
Проблему абсолютного позиционирования зрение не решает, но делает менее актуальной. |
||
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
| 20.12.2011, 11:32 | |
|
Датчик оптической мыши - это фактически микрокамера, смотрит в пол и проскальзывания колес ей побоку. Но от переносов не спасет.
Есть вариант с акселерометром - если интегрировать показания акселерометра по времени, мы получим моментальную скорость. Если интегрировать скорость - получим перемещение. Но, понятное дело, будет накапливаться ошибка.
0
|
|
|
xtriyi
|
|||
| 20.12.2011, 12:59 | |||
|
|||
|
SWK
|
||
| 20.12.2011, 13:01 | ||
Сам давно над этим думаю. Более - менее однозначно ни один из методов не решает (кроме навигаторов, но у них, как упоминалось, недостаточная для комнатного робота точность). Я уже неоднократно выкладывал свои соображения по этому поводу, как в своих, так и чужих темах. Просмотрите темы раздела Робототехника, там много уже накопилось. Если же коротко - нужно использовать несколько методов одновременно, дополняя и уточняя друг друга. Более - менее точным и наиболее информативным является круговое сканирование УЗ локатором с достаточно узким лучом, и дальностью от 0,2-0,3 до 5-10м. Точность определения расстояний им довольно высока, (до долей сантиметра), а уговое разрешение - порядка 30 и менее градусов. Имея данные этой круговой панорамы в памяти для точки старта, можно вычислить перемещения относительно ее и для других точек, лежащих в пределах отсканированного участка. В дополнение - хранить в памяти также карту помещения или местности, полученную при первичном обследовании доступной территории, и делать привязку к ней текущего положения, также отслеживать перемещения одометрами колес, уточнять свое положение и границы территории, а также препятствия, датчиками ближней зоны - ИК локатором, датчиками столкновения бамперов, можно использовать также для привязки расположенные по территории маячки (например, на кормушке - зарядном усиройстве). Азимут отслеживать (или уточнять) также по гироскопу. Магнитный компас вряд ли будет работать хорошо в роботе, среди кучи железа и нигнитов (по крайней мере, в моем роботе). От акселерометров тоже мало толку, при малых скоростях и перемещениях робота. Да и обьем вычислений с ними получается большой, а погрешность велика... |
||
|
xtriyi
|
|
| 20.12.2011, 18:58 | |
|
SWK, спасибо за детальный разбор ситуации. Я так понял, задача "интересует всё прогрессивное человечество", а не только новичков робототехнике типа меня :) Идеального решения пока не найдено, в конечном счёте конкретная реализация будет зависеть от решаемых задач. Будем думать, чего хотим в первую очередь :)
|
|
|
Rotomd_Disshoym
|
|
| 22.12.2011, 01:33 | |
|
Решения есть, но они очень дороги.
Если интересно - надо смотреть в сторону БИНС (бесплатформенные инерциальные навигационные системы). Координаты вычисляются по показаниям датчиков угловых скоростей и акселерометров. Показания интегрируются, отсюда очень жесткие требования к точности датчиков и задания начального положения, так как все ошибки при интегрировании накапливаются. Из-за необходимости прецизионных датчиков система получается очень дорогой. |
|
|
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 351
|
|
| 28.12.2011, 04:31 | |
|
Где-то здесь кто-то писал о УЗ (ультра звук) навигации, я немного пораскапывал, первая проблема, непонятно где взять излучатели и микрофоны, частоты нужны около мегагерца для приемлемой точности. Дальше надо детектировать сигнал и точное время его приема, есть о чем подумать. Возможны схемы с одним подвижным излучателем и множеством неподвижных приемников либо наоборот, что будет лучше, тоже надо думать. Вычисление координат по полученным задержкам кажется уже более простой задачей, для меня.
Не знаю, что означало слово "слепого" в начале темы, но есть ещё один интересный более простой в аппаратной части но более сложный в совтверной способ, использовать камеру и обработку последовательности изображений с целью поиска опорных точек (можно и искуственные маяки расставить, тогда все несколько проще) и реконструкции их 3-х мерных координат, а по их изменениям определение координат камеры. Насколько я знаю эта тема уже разработанная, есть много публикаций, хотя сам я занимался этим очень мало. Ну и всегда полезно объединять подобные методы с инерциальной навигацией для взаимной компенсации недостатков.
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
|
||
| 28.12.2011, 06:09 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 351
|
||
| 28.12.2011, 06:39 | ||
Приходят по ночам всякие идеи. Ставим камеру на двух-осевом подвесе (две сервы или шаговых) так чтобы можно было следить за целью, цель - робот с мигающим светодиодом или ещё каким то видимым маяком. Алгоритм обработки картинки простой и может бытьреальзован на PC т.к. камера не двигается, в качесве камеры любая web. Надо поворачивать подвес так чтобы маяк был в центре изображения, улы поворота при этом дают напрвление, остается оценить расстояние, по размеру или делая проекцию на пол если робот ползучий. Хотя можно камерой и не двигать если она имеет достаточно широкий угол, тогда механическая часть отсутсвует и все совсем просто. Недостатки очевидны, препятсвия загораживающие робота от камеры и возможно плохая точность.
0
|
||
|
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
|
|
| 28.12.2011, 06:53 | |
|
Как вариант - посылка синхронного радиосигнала, но с разной несущей. Если будет 4 источника (по углам), то имеем 4 "разных" сигнала. Разница по времени в приеме этих сигналов можно пересчитать в относительные координаты. Тот же GPS только боком ;)
0
|
|
|
SWK
|
||
| 28.12.2011, 09:36 | ||
Лазерные дальномеры для измерения малых расстояний используют измерение сдвига фазы или интерференцию, что тоже в самоделках довольно сложно реализовать. Звук - более реально, тут имеем уже около 3мс на метр (в один конец), или 30 мксек на сантиметр, что легко меряется микроконтроллерами. Но при использовании в реальных условиях, особенно в помещениях, нужно учитывать наличие препятствий, поглощений и отражений сигналов... Идеально обсчитывается только сферический зеркальный конь в вакууме бесконечного обьема. |
||
| 28.12.2011, 09:36 | |
|
Помогаю со студенческими работами здесь
17
Формирование положения изображений в ограниченном пространстве. Определение положения в пространстве посредством акселерометра Узнать углы положения смартфона в пространстве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|