Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Nox: Самостоятельно собранный робот с SLAM на базе ROS для перемещения по дому

Обзор проекта

Nox — это дифференциально-управляемый робот, построенный на платформе ROS, Raspberry Pi и Arduino. Оснащённый камерой Kinect 360, он выполняет одновременную локализацию и картографирование (SLAM) в реальном времени, а также обнаруживает препятствия.

Изначально задуманный как модульная база, проект эволюционировал в полностью автономную платформу. Робот способен строить карту окружения (с использованием gmapping), определять своё положение на ней и планировать безопасные маршруты к заданным точкам.

Энергетика и механика

Питание обеспечивает аккумулятор Li-Ion 11,1 В. Два двигателя постоянного тока 12 В (107 об/мин), приобретённые на Banggood, обеспечивают достаточную скорость, однако приоритет отдан точным энкодерам для плавной навигации. Передняя панель корпуса съёмная, что позволяет быстро заменять аккумуляторы разной длины. Индикатор уровня заряда предупреждает о необходимости подзарядки.

Конструкция шасси

Шасси спроектировано для бесшовной интеграции Kinect. Выбрана элегантная треугольная форма, вдохновлённая современным дизайном и эстетикой «Deus Ex». Тщательная проработка в CAD-системе обеспечила профессиональный внешний вид и удобную проводку.

Индикация состояния

Светодиоды статуса — переработанные от новогодней светящейся палочки — дают наглядные сигналы: три быстрых вспышки означают, что Arduino ещё не подключён к ROS-мастеру; «дыхание» (плавное затухание/восстановление) указывает на активную навигацию, при этом частота мигания пропорциональна скорости робота.

Структура

Дифференциальный привод размещает оба двигателя на общей оси. Деревянная база с двумя опорными колёсиками обеспечивает устойчивость; в задней секции находятся стыкованные платы для Raspberry Pi, Arduino и остальной электроники.

Внешний корпус выполнен из вручную вырезанной чёрной пластиковой пластины; в будущих версиях планируется переход на 3D-печать.

Аппаратная часть

В ядре системы — Raspberry Pi 3B под управлением Ubuntu и ROS, доступная по Wi-Fi и SSH для удалённого управления. ROS обрабатывает одометрию, планирование навигации и SLAM на данных Kinect. Pi передаёт команды скорости на Arduino Mega 2560, который через Adafruit Motor Shield управляет двигателями в ПИД-режиме. Данные энкодеров возвращаются на Pi для точной одометрии.

После экспериментов с Uno и Leonardo выбор пал на Mega 2560 благодаря большему объёму памяти и прерываниям для чтения энкодеров.

Kinect 360 — центральный сенсор проекта: недорогая (≈25 €) 3D-камера, выдающая глубину для gmapping, а также видео, акселерометр и микрофонную решётку — ценный ресурс для будущих расширений.

Управление питанием построено на двух DC-DC преобразователях: двигатели запитаны напрямую от 11,1 В батареи, Pi, Arduino и энкодеры — от 5 В, а Kinect получает стабилизированные 12 В.

Программное обеспечение

Проект работает на ROS Kinetic. Единственный пользовательский узел — nox_controller — вычисляет одометрию из данных скоростей двигателей. Кинематическая модель следует подходу, описанному в работе «On Differential Drive Robot Odometry with Application to Path Planning». Публикуются ковариационные матрицы для последующей сенсорной фузии.

Управление двигателями пока осуществляется прямыми PWM-командами; ПИД-регулятор отключен, но будет откалиброван для повышения точности. Обратная связь от энкодеров уже обеспечивает удовлетворительную стабилизацию скорости.

Подробнее: Nox – робот для перемещения по дому (ROS)

Производственный процесс

  1. Создание робота на Arduino и Raspberry Pi: пошаговое руководство
  2. Создание умного робота с Bridge Shield — интеграция Raspberry Pi и Arduino
  3. DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
  4. ANDY — многоцелевой гуманоидный робот
  5. Робот-будильник на колесах: умная мобильная система пробуждения на Raspberry Pi и Google Calendar
  6. Создание моторизированного робота-крипера Minecraft на Arduino
  7. JQR Четвероногий автономный робот: DIY шагающий робот для автономной навигации и спасения
  8. Archimedes: Робот-совица с ИИ для распознавания эмоций
  9. EMAR Mini: Компактный открытый робот экстренной помощи для борьбы с COVID-19
  10. Построение Wi-Fi-управляемого робота на Raspberry Pi с Python — пошаговое руководство