Оглавление:

Навигация робота с датчиками обуви, без GPS, без карты: 13 шагов (с изображениями)
Навигация робота с датчиками обуви, без GPS, без карты: 13 шагов (с изображениями)

Видео: Навигация робота с датчиками обуви, без GPS, без карты: 13 шагов (с изображениями)

Видео: Навигация робота с датчиками обуви, без GPS, без карты: 13 шагов (с изображениями)
Видео: БОКОВУШЕЧКА У ТУАЛЕТА в плацкарте 2024, Ноябрь
Anonim

By obluobluFollow About: oblu - это комнатный датчик навигации Подробнее об oblu »

Робот движется по заранее запрограммированной траектории и передает (по Bluetooth) информацию о фактическом движении на телефон для отслеживания в реальном времени. В Arduino заранее запрограммирован путь, а oblu используется для определения движения робота. oblu передает информацию о движении в Arduino через равные промежутки времени. Исходя из этого, Arduino контролирует движения колес, позволяя роботу следовать по заранее заданному пути.

Шаг 1: КРАТКОЕ ВВЕДЕНИЕ

КРАТКОЕ ВВЕДЕНИЕ
КРАТКОЕ ВВЕДЕНИЕ

Проект заключается в том, чтобы заставить робота двигаться по заранее заданному пути с точностью, без использования GPS, Wi-Fi или Bluetooth для определения местоположения, даже не карты или плана расположения здания. И нарисуйте его фактический путь (в масштабе) в реальном времени. Bluetooth можно использовать вместо провода для передачи информации о местоположении в реальном времени.

Шаг 2: ИНТЕРЕСНАЯ ПРЕДЫСТОРИЯ

ИНТЕРЕСНАЯ ПРЕДЫСТОРИЯ
ИНТЕРЕСНАЯ ПРЕДЫСТОРИЯ

Основная цель нашей команды - разработать устанавливаемые на башмак пешеходные навигационные датчики. Однако к нам обратилась академическая исследовательская группа с требованием управлять роботом внутри помещения и одновременно отслеживать его положение в реальном времени. Они хотели использовать такую систему для картирования излучения в закрытой камере или обнаружения утечки газа в промышленной установке. Такие места опасны для человека. ищем надежное решение для внутренней навигации нашего робота на базе Arduino.

Наш очевидный выбор для любого модуля датчика движения (IMU) был "oblu" (см. Изображение выше). Но сложность заключалась в том, что существующая прошивка oblu подходила для установки на лапах в помещении Pedestrian Dead Reckoning (PDR) или пешеходной навигации, простыми словами. Производительность PDR oblu в помещении в качестве IMU на лапах весьма впечатляет. Наличие приложения для Android (Xoblu) для отслеживания oblu в режиме реального времени в качестве датчика обуви добавляет преимущества. Однако проблема заключалась в том, чтобы использовать существующий алгоритм, основанный на модели ходьбы человека, для навигации и наблюдения за роботом.

Шаг 3: КРАТКОЕ ВВЕДЕНИЕ В "oblu"

Image
Image
ОПИСАНИЕ СИСТЕМЫ
ОПИСАНИЕ СИСТЕМЫ

oblu - это миниатюрная недорогая платформа разработки с открытым исходным кодом, предназначенная для носимых приложений обнаружения движения. Это литий-ионная аккумуляторная батарея, позволяющая заряжать встроенную батарею через USB. Он имеет встроенный модуль Bluetooth (BLE 4.1) для беспроводной связи. "oblu" содержит 32-битный микроконтроллер с плавающей запятой (Atmel AT32UC3C), который позволяет решать сложные навигационные уравнения на борту. Следовательно, нужно выполнить всю обработку движения на самом облаке и передать только окончательный результат. Это делает интеграцию oblu с ассоциированной системой чрезвычайно простой. «oblu» также содержит массив с несколькими IMU (MIMU), который позволяет объединять датчики и улучшает характеристики обнаружения движения. Подход MIMU добавляет «облу» уникальности.

Внутренние вычисления oblu основаны на ходьбе человека. oblu выдает смещение между двумя последовательными шагами и изменение курса. Как - когда ступня касается земли, скорость подошвы равна нулю, т.е. подошва стоит в неподвижном состоянии. Таким образом oblu обнаруживает «ступеньки» и исправляет некоторые внутренние ошибки. И это частое исправление ошибок приводит к отличным характеристикам отслеживания. Так что здесь кроется загвоздка. Что, если наш робот также ходит таким же образом - двигаться, останавливаться, двигаться, останавливаться… Фактически, oblu может использоваться для любого объекта, движение которого имеет регулярные нулевые и ненулевые моменты. Таким образом, мы продвинулись вперед с облу и в кратчайшие сроки смогли собрать нашего робота и систему слежения.

Шаг 4: В ЧЕМ ПОЛЕЗНОСТЬ "oblu"?

Мы проводим почти 70% времени в помещении. Таким образом, существует множество приложений, требующих навигации людей и машин в помещении. Наиболее часто используемым решением для определения местоположения является спутниковая система GPS / GNSS, которая подходит для наружной навигации. Он не работает в помещении или в городской среде, недоступной для ясного неба. К таким приложениям относятся геообследование трущоб или территорий под густым навесом деревьев, внутренняя навигация роботов, определение местоположения спасателей для тушения пожаров, несчастных случаев на шахтах, городских боевых действий и т. Д.

Предшественник oblu был представлен как очень компактный датчик-башмак (или датчик PDR) для позиционирования пожарных, который позже был модернизирован и модифицирован как платформа разработки с широкими возможностями настройки для производителей, которые ищут простые и точные- доступное решение для инерционного зондирования для навигации людей и роботов внутри помещений. На данный момент пользователи oblu продемонстрировали свои приложения в отслеживании пешеходов, промышленной безопасности и управлении ресурсами, тактическом контроле, геообследовании свободной от GPS области, самонавигационном роботе, вспомогательной робототехнике, играх, AR / VR, лечении двигательных расстройств, понимании физики. движения и т. д. oblu подходит для приложений с ограниченным пространством, например носимое обнаружение движения. Его также можно использовать в качестве беспроводного IMU благодаря встроенному Bluetooth. Наличие встроенной возможности обработки с плавающей запятой вместе с массивом из четырех IMU делает возможным объединение датчиков и обработку движения в самом модуле, что, в свою очередь, приводит к очень точному обнаружению движения.

Шаг 5: ИСТОРИЯ ПРОЕКТА

Image
Image

История этого проекта в видео…

Шаг 6: ОПИСАНИЕ СИСТЕМЫ

Робот движется по заранее запрограммированной траектории и передает (по Bluetooth) информацию о фактическом движении на телефон для отслеживания в реальном времени.

В Arduino заранее запрограммирован путь, а oblu используется для определения движения робота. oblu передает информацию о движении в Arduino через равные промежутки времени. Исходя из этого, Arduino контролирует движения колес, позволяя роботу следовать заранее заданному пути.

Путь робота запрограммирован как набор отрезков прямой. Каждый сегмент линии определяется его длиной и ориентацией по отношению к предыдущему. Движение робота остается незаметным, то есть он движется по прямой линии, но небольшими отрезками (для простоты назовем «шагами»). В конце каждого шага oblu передает в Arduino длину шага и степень отклонения (изменение ориентации) от прямой линии. Arduino корректирует выравнивание робота на каждом шаге при получении такой информации, если обнаруживает отклонение от заранее заданной прямой линии. Согласно программе, робот всегда должен двигаться по прямой линии. Однако он может отклоняться от прямой линии и может двигаться под определенным углом или перекошиваться из-за неидеальности, таких как неровная поверхность, дисбаланс массы в сборке робота, архитектурный или электрический дисбаланс в двигателях постоянного тока или случайная ориентация переднего свободно работающего колеса. Сделайте один шаг … исправьте направление … двигайтесь вперед. Робот также движется назад, если он проходит больше, чем запрограммированная длина этого конкретного сегмента линии. Длина следующего шага зависит от оставшегося расстояния, которое необходимо преодолеть для этого конкретного сегмента прямой линии. Робот делает большие шаги, когда расстояние, которое нужно преодолеть, больше, и делает меньшие шаги ближе к месту назначения (то есть к концу каждого отрезка прямой линии). oblu передает данные на Arduino и телефон (через bluetooth) одновременно. Xoblu (приложение для Android) выполняет некоторые простые вычисления для построения пути на основе информации о движении, полученной от робота, которая используется для отслеживания в реальном времени на телефоне. (Построение пути с помощью Xoblu показано на втором изображении).

Таким образом, oblu воспринимает движение и передает информацию о движении на Arduino и телефон через равные промежутки времени. Основываясь на запрограммированном пути и информации о движении (отправляемой oblu), Arduino контролирует движения колес. Движение робота НЕ управляется дистанционно, за исключением команд запуска / остановки.

Для прошивки oblu посетите

Код робота Aurduino можно найти на

Шаг 7: МОДЕЛИРОВАНИЕ ПУТИ

МОДЕЛИРОВАНИЕ ПУТИ
МОДЕЛИРОВАНИЕ ПУТИ
МОДЕЛИРОВАНИЕ ПУТИ
МОДЕЛИРОВАНИЕ ПУТИ

Лучше всего управлять роботом, если он ходит только по прямым отрезкам. Следовательно, путь должен быть сначала смоделирован как набор отрезков прямых линий. На рисунках есть несколько примеров путей и их представления с точки зрения смещения и ориентации. Так запрограммирован путь в Arduino.

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

Шаг 8: СБОРКА ЦЕПИ

ЦЕПНАЯ СБОРКА
ЦЕПНАЯ СБОРКА

Схема системной интеграции верхнего уровня. Arduino и oblu являются частью аппаратной сборки. UART используется для связи между Arduino и oblu. (Обратите внимание на соединение Rx / Tx.) Направление потока данных только для справки. Вся аппаратная сборка связывается со смартфоном (Xoblu) по bluetooth.

Шаг 9: ЦЕПНАЯ СХЕМА

ПРИНЦИПИАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА
ПРИНЦИПИАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА

Подробные электрические соединения между Arduino, oblu, драйвером двигателя и аккумулятором.

Шаг 10: ПРОТОКОЛ СВЯЗИ:

Ниже показано, как происходит обмен данными между датчиком oblu, установленным на роботе, и смартфоном, то есть Xoblu:

Шаг 1: Xoblu отправляет команду START на oblu Шаг 2: oblu подтверждает получение команды, отправляя соответствующий ACK на Xoblu Шаг 3: oblu отправляет пакет DATA, содержащий информацию о смещении и ориентации для каждого шага, на каждом шаге, в Xoblu. (шаг = всякий раз, когда обнаруживается нулевое движение или обнаруживается остановка). Шаг 4: Xoblu подтверждает получение последнего пакета DATA, отправляя соответствующий ACK в oblu. (Цикл шагов 3 и 4 повторяется до тех пор, пока Xoblu не отправит STOP. При получении команды STOP, oblu выполняет шаг 5) Шаг 5: STOP - (i) Остановить обработку в oblu (ii) Остановить все выходы в oblu. подробности START, ACK, DATA и STOP

Шаг 11: КАК РАБОТАЕТ "oblu" IMU (необязательно):

Представляем некоторые ссылки на обзор oblu и основные принципы работы датчиков PDR на лапах:

Доступный исходный код oblu ориентирован на ножную навигацию. И он лучше всего оптимизирован для этой цели. В видео ниже описывается его основной принцип работы:

Вот пара простых статей о датчиках PDR, устанавливаемых на лапах: 1. Отслеживать мои шаги

2. Продолжать отслеживать мои шаги

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

Шаг 12. Посетите oblu.io (необязательно)

Image
Image

Посмотрите видео о возможных применениях «облу»:

---------------- Пожалуйста, делитесь своими отзывами, предложениями и оставляйте комментарии. Наилучшие пожелания!

Шаг 13: КОМПОНЕНТЫ

1 oblu (платформа разработки IMU с открытым исходным кодом)

1 умный мотор-робот автомобильный аккумуляторный ящик комплект шасси DIY кодировщик скорости для Arduino

1 макетная плата без пайки половинного размера

1 штекер / гнездо перемычки

2 Конденсатор 1000 мкФ

1 Драйверы двигателя Texas Instruments с двойным H-образным мостом L293D

1 Arduino Mega 2560 и Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH перезаряжаемый

Рекомендуемые: