Спецкурс 1, лабораторная работа №4 Задание: Реализовать алгоритм случайного перемещения по лабиринту робота с обходом препятствий. Робот – iRobot, сенсор – лазерный дальномер. Среда разработки: Microsoft Robotics Developer Studio.
В архиве три реализации данного задания: 1. Упрощенная асинхронная версия: тоже самое, но без корректирования движения и углов доворота (для ознакомления).
2. Полная версия (асинхронная): робот случайным образом перемещается по "лабиринту", ориентируясь по показаниям сенсора. В асинхронном режиме движки робота и сенсор работаю асинхронно. Движение прекращается по сигналу прерывания от сенсора. Для наиболее корректного функционирования этого алгоритма уменьшите число во втором блоке data (время движения по прямой в мс) а так же скорость движения и поворота робота. Но перемещаться в этом случае он буде о...очень медленно.
3. Полная версия (синхронная): робот случайным образом перемещается по "лабиринту", ориентируясь по показаниям сенсора. Работа сенсоров и движков реализуеться через очередь команд. Гибко настраивается. Для наиболее корректного функционирования этого алгоритма см. комменты в самой программе.
Лаба сдана. В качестве доказательства работоспособности программы преподаватель требовал подтверждение: запуск программы на ноутбуке либо видео работающей программы (аккуратно снимите на фотоаппарат или мобилу).
P.S. На самом деле идеально реализовать сие задание невозможно в рамках нашего курса, как бы вы не старались.
P.P.S. Кошка не осилила :)
|