Изучение робототехники с помощью Python
книга

Изучение робототехники с помощью Python : проектирование, моделирование, программирование и прототипирование интерактивного автономного мобильного робота с нуля с помощью Python, ROS, Open-CV

Автор: Лентин Джозеф

Форматы: PDF

Издательство: ДМК Пресс

Год: 2019

Место издания: Москва

ISBN: 978-5-97060-749-7

Страниц: 250

Артикул: 95510

Возрастная маркировка: 16+

цена: 590
Купить и скачать Читать фрагмент

В данной книге рассказывается, как с нуля построить автономный мобильный обслуживающий робот, с помощью которого можно подавать еду в квартире, гостинице и ресторане. Благодаря подробным пошаговым инструкциям читатель узнает весь процесс разработки робота – начиная с теоретической части (принципы дифференциального привода, кинематики и обратной кинематики) и заканчивая практической реализацией (сборка отдельных компонентов, согласование приводов и датчиков с контроллерами). Много внимания уделено программной части – использованию метаоперационной системы ROS, моделированию в Gazebo, обработке изображений в OpenCV, разработке GUI робота на Qt и Python. Издание предназначено для широкого круга читателей, увлеченных робототехникой, программированием и самостоятельной сборкой различных DIY-устройств.

Составители
Введение
Глава 1. Начало работы с операционной системой для робота (ROS)
Технические условия
Введение в ROS
Концепции ROS
Установка ROS на Ubuntu
Введение в catkin
Создание пакета ROS
Введение в Gazebo
Итоги
Вопросы
Глава 2. Основные понятия роботов с дифференциальным приводом
Математическое моделирование робота
Введение в систему дифференциального привода и кинематику робота
Прямая кинематика дифференциального робота
Объяснение уравнений прямой кинематики
Обратная кинематика
Итоги
Вопросы
Дополнительная информация
Глава 3. Моделирование робота с дифференциальным приводом
Технические требования
Требования к сервисному роботу
Приводной механизм ходовой части робота
Выбор двигателей и колес
Результаты проектирования
Конструкция шасси робота
Установка LibreCAD, Blender и MeshLab
Установка LibreCAD
Установка Blender
Установка MeshLab
Создание 2D CAD-чертежа робота с помощью LibreCAD
Конструкция опорной плиты робота
Конструкция нижней и верхней стоек
Конструкция колеса и крепления для колеса и мотора
Конструкция опорного колеса
Конструкция средней плиты
Конструкция верхней плиты
Работа с 3D-моделью робота с использованием Blender
Скрипты Python в Blender
Введение в API Blender Python
Скрипт Python модели робота
Создание модели URDF-робота
Создание пакета описания ChefBot в ROS
Итоги
Вопросы
Дополнительная информация
Глава 4. Моделирование дифференциального привода робота , управляемого операционной системой ROS
Технические условия
Начало работы с симулятором Gazebo
Графический интерфейс пользователя Gazebo
Работа с симулятором TurtleBot 2
Перемещение робота
Создание симуляции в Chefbot
Преобразование глубины изображения с помощью лазерного сканера
Теги и плагины URDF для моделирования Gazebo
Визуализация данных датчика робота
Начало работы с одновременной локализацией и картографированием
Создание карты с помощью SLAM
Начало работы с адаптивным методом локализации Монте-Карло
Реализация AMCL в среде Gazebo
Автономная навигация Chefbot в отеле с использованием Gazebo
Итоги
Вопросы
Дополнительная информация
Глава 5. Проектирование оборудования и схем ChefBot
Технические условия
Спецификации оборудования Chefbot
Структурная схема робота
Двигатель и энкодер
Драйвер двигателя
Встроенный контроллер
Ультразвуковые датчики
Инерциальный блок измерения (акселерометр и гироскоп)
Kinect/Orbbec Astra
Центральный процессор
Динамики/микрофон
Источник питания/аккумулятор
Как работает оборудование ChefBot
Итоги
Вопросы
Дополнительная информация
Глава 6. Согласование приводов и датчиков с контроллером робота
Технические условия
Согласование редукторного двигателя постоянного тока с Tiva C LaunchPad
Дифференциальный привод колесного робота
Установка Energia IDE
Код взаимодействия с двигателями
Интерфейс квадратурного энкодера с Tiva C Launchpad
Обработка данных энкодера
Код согласования квадратурного энкодера
Работа с приводом Dynamixel
Работа с ультразвуковыми датчиками расстояния
Согласование HC-SR04 с Tiva C LaunchPad
Работа с ИК-датчиком расстояния
Работа с инерционным измерительным модулем
Инерциальная навигация
Взаимодействие MPU 6050 с Tiva C LaunchPad
Код согласования в Energia
Итоги
Вопросы
Дополнительная информация
Глава 7. Согласование датчиков зрения с ROS
Технические требования
Список робототехнических датчиков зрения и библиотек для работы с изображением
Pixy2/CMUcam5
Веб-камера Logitech C920
Kinect 360
Intel RealSense серии D400
Датчик глубины изображения Orbbec Astra
Введение в OpenCV, OpenNI и PCL
Что такое OpenCV?
Что такое OpenNI?
Что такое PCL?
Программирование Kinect с использованием Python ROS, OpenCV и OpenNI
Как запустить драйвер OpenNI
Интерфейс ROS в формате OpenCV
Согласование Orbbec Astra с ROS
Установка драйвера Astra-ROS
Работа с облаками точек с помощью Kinect, ROS, OpenNI и PCL
Открытие устройства и создание облака точек
Преобразование данных облака точек в данные лазерного сканирования
Работа в SLAM с помощью ROS и Kinect
Итоги
Вопросы
Дополнительная информация
Глава 8. Создание аппаратного обеспечения ChefBot и интеграция ПО программного обеспечения
Технические требования
Сборка ChefBot из ранее изготовленных деталей и комплектующих
Конфигурирование бортового компьютера ChefBot и установка пакетов ChefBot ROS
Согласование датчиков ChefBot с Tiva C LaunchPad
Встроенный код для ChefBot
Написание драйвера Ros Python для ChefBot
Функции исполняемого файла ChefBot ROS
Элементы Python ChefBot и запуск файлов
Построение карты комнаты с помощью SLAM в ROS
ROS: локализация и навигация
Итоги
Вопросы
Дополнительная информация
Глава 9. Разработка графического интерфейса для робота с использованием Qt и Python
Технические требования
Установка Qt на Ubuntu 16.04 LTS
Взаимодействие Python и Qt
PyQt
PySide
Работа с PyQt и PySide
Представляем Qt Designer
Сигналы и слоты Qt
Преобразование UI-файла в код Python
Определение и добавление слота в код PyQt
Работа с приложением Hello World GUI
ChefBot – управление с помощью графического интерфейса
Установка и работа с rqt в Ubuntu 16.04 LTS
Итоги
Вопросы
Дополнительная литература
Подводим итоги
Предметный указатель

Все отзывы о книге

Чтобы оставить отзыв, зарегистрируйтесь или войдите

Рецензии на книгу

Чтобы писать рецензии и получать вознаграждения за рекомендации книг, станьте экспертом