Практикум по спецкурсу «Введение в робототехнику».

Автор: , ассистент кафедры математики, логики и интеллектуальных систем в гуманитарной сфере РГГУ. 2011 год.

Оглавление

Предисловие....................................................................................................................................... 3

Решение робототехнических задач в симуляторе........................................................................... 3

Обзор робототехнических симуляторов................................................................................. 3

О среде Simbad.......................................................................................................................... 3

Установка......................................................................................................................... 4

Запуск.............................................................................................................................. 4

Компиляция и запуск из командной строки................................................................ 4

Устройство программы. ................................................................................................. 4

Создание проекта Simbad в NetBeans.......................................................................... 5

Задачи в симуляторе Simbad.................................................................................................... 5

Задача 1. Робот, следующий на свет. ............................................................................ 5

НЕ нашли? Не то? Что вы ищете?

Постановка задачи. ............................................................................................... 5

Устройство программы робота............................................................................. 5

Смена кинематической модели............................................................................ 6

Работа с источниками света................................................................................. 6

Работа с датчиками освещённости...................................................................... 6

Задача 2. Робот, приезжающий в заданную точку....................................................... 7

Постановка задачи................................................................................................. 7

Устройство пространства и времени в симуляторе............................................ 7

Алгоритм................................................................................................................ 8

Задача 3. Нахождение пути робота на заданной карте методом Дейкстры.............. 8

Постановка задачи................................................................................................. 8

Способ решения.................................................................................................... 8

Подзадачи............................................................................................................. 10

Задача 4. Определение координат робота в пространстве путем решения дифференциального уравнения. ..................................................................................................................... 10

Постановка задачи............................................................................................... 10

Решение................................................................................................................ 10

Задача 5. Использование пропорционального регулятора для решения задачи езды вдоль стены 11

Постановка задачи............................................................................................... 11

Подключение ультразвуковых дальномеров..................................................... 11

Использование ультразвуковых дальномеров................................................... 12

Релейный регулятор............................................................................................ 12

Пропорциональный регулятор........................................................................... 12

Задача 6. Навигация по трём маякам........................................................................... 12

Постановка задачи............................................................................................... 12

Реализация распознавания цвета....................................................................... 13

Решение................................................................................................................ 13

Задача 7. Поиск пути в лабиринте............................................................................... 13

Постановка задачи............................................................................................... 13

Решение................................................................................................................ 13

Задача 8. Движение по неизвестной карте с датчиками........................................... 13

Постановка задачи............................................................................................... 13

Решение................................................................................................................ 14

Алгоритм.............................................................................................................. 14

Расширение задачи.............................................................................................. 14

Изучение платы Arduino.................................................................................................................. 14

Введение.................................................................................................................................. 14

Технические требования........................................................................................................ 15

Описание среды, установка................................................................................................... 15

Практические задачи.............................................................................................................. 15

Задача 1. Знакомство с платой..................................................................................... 15

Задача 2. Работа с выходами......................................................................................... 15

Задача 3. Работа с последовательным портом............................................................ 16

Задача 4. Работа со входами......................................................................................... 16

Задача 5. Управление мотором..................................................................................... 17

Дополнительные задачи......................................................................................................... 17

Работа с сервомашинкой.............................................................................................. 17

Поворот на источник света.......................................................................................... 18

Решение робототехнических задач на мобильном роботе........................................................... 18

Описание робота POP-BOT................................................................................................... 18

Состав набора................................................................................................................ 18

Сборка............................................................................................................................ 19

Программирование....................................................................................................... 19

Устройство платы.......................................................................................................... 20

Задачи с роботом..................................................................................................................... 20

1. Сборка робота............................................................................................................ 20

2. Отъезд от препятствий............................................................................................. 21

3. Езда по линии с одним датчиком............................................................................ 21

4. Езда по линии с двумя датчиками........................................................................... 21

5. Калибровка................................................................................................................ 21

6. Езда с компасом......................................................................................................... 21

7. Энкодеры.................................................................................................................... 22

Предисловие

Эти материалы написаны по опыту преподавания спецкурса в весеннем семестре в РГГУ совместно с проф. Павловским. Практическая часть курса состояла из трёх основных частей:

1.  Решение робототехнических задач в симуляторе

2.  Основы электроники и программирования микроконтроллера

3.  Решение задач на реальном роботе

В значительной степени формулировки задач на симуляторе Simbad (особенно задачи 3,4 и 7) взяты из курса Howie Choset университета Карнеги-Меллона (http://generalrobotics. org).

Решение робототехнических задач в симуляторе

Обзор робототехнических симуляторов

Далее перечислены самые популярные робототехнические симуляторы. Принципиальным было свободное распространение, поэтому в список не попали такие известные программы, как Webots, LabView или Marilou.

Microsoft Robotics Studio (http://www. /robotics/)

Player Project (http://playerstage. /)

Simbad (http://simbad. )

Симулятор

Язык программирования

3D-визуализация

Физический движок

Поддержка

ОС

Лицензия

Microsoft Robotics Studio

Visual Programming Language (VPL), языки. NET

Есть

Nvidia PhysX

Малое количество документации

Windows

Различные; с 2008 года — свободно распространяется

Player/

Stage/

Gazebo

C++

Есть (в Gazebo - Ogre3D)

Open Dynamic Engine (ODE)

Есть руководство пользователя

POSIX

GNU GPL

Simbad

Java

Есть (Java3d, OpenGL)

Нет

Есть справочник по API

Любая

GNU GPL

Описанные далее задачи могут быть выполнены в любом симуляторе. Мы выбрали Simbad из-за простоты установки и запуска.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5