Составление программы движения робота по окружности на языке VPL
Одним из первых бытовых роботов был робот-пылесос Roomba, разработанный в 2002 году компанией iRoomba. Он представляет собой роботизированное устройство для уборки квартиры. Основное движение робота – движение по окружности. Видео. Представьте себя программистом. Перед вами стоит следующая задача: протестировать движение симулятора робота-пылесоса в виртуальной среде. Для этого вам нужно на языке VPL cоставить программу, которая заставляет робота iRobotCreate двигаться по окружности заданного радиуса.
Назовите базовые активности языка VPL.Опишите структуру активности Data (данные).Посредством чего активности взаимодействуют между собой?С помощью какого сервиса подключается симулятор робота для тестирования программы?
Какие активности нужны? Data – для ввода данных (радиус окружности и скорость робота).Join – для объединения потоков данных в один.3. Calculate – для расчета напряжения, подаваемого на колеса.
В каком случае робот едет по окружности? Если напряжение, подаваемое на одно колесо робота равно напряжению подаваемому на другое колесо, то робот едет по прямой линии.Если напряжение будет отличаться, то траектория движения робота будет смещаться в сторону колеса с меньшим напряжением.
Создание сервиса, рассчитывающего напряжение Поместим на диаграмму активностьНазовем ее TurningRadiusДважды щелкнем на иконке активности, чтобы войти в окно редактора. Опишем действие сервиса следующей схемой.
Схема сервиса
Описание входных и выходных данных для сервиса Вернемся в окно диаграммы. Опишем входные данные для сервиса с помощью схемы. Выходные данные направим на сервис GeneticDifferentialDrive, связывающий программу с конкретным роботом-симулятором.
Подключение робота-симулятора iRobotCreate В свойствах сервиса GeneticDifferentialDrive выберем симулятор робота iRobotCreate.
Тестирование программы Запустите программу и понаблюдайте за движением робота.Поэкспериментируйте с программой: увеличьте радиус движения и скорость робота.Вместо симулятора iRobotCreate подключите симулятор Lego NXT Tribot. Запустите программу. Что произошло с роботом?
Заключительное задание Напишите мини-эссе от имени двух роботов: iRoomboCreate и Lego Nxt Tribot о том, как они выдержали сегодняшнее испытание.
Электронные ресурсы