Автономный робот с автоматическим управлением
В ходе выполнения этой задачи основной целью является автоматизация парковки нашего вертикального робота с рулевым управлением. Для этого мы используем синюю арену. На арене есть две прямоугольных коробки. Наша задача — автоматизировать перемещение из одной коробки в другую с остановкой во второй коробке.
Управляя роботом вручную, попробуем припарковать робота с перемещением из начального в конечное положение.
Логика
В случае с автономным роботом с рулевым управлением нам нужно переместить робота из изначального положения и припарковать его в зоне остановки.
- Сначала нужно двигаться прямо. Переместим робота вперёд.
- Установим угол поворота направо. Переместим робота вперёд.
- Затем установим угол поворота налево. Переместим робота вперёд.
- И, наконец, установим угол поворота так, чтобы робот двигался вперёд. Переместим робота вперёд.
Установкой скорости и времени движения робота займёмся при написании кода.
Напишем код!
Здесь нам понадобится особое расширение — Quarky Ultimate Robots для рулевого управления.
- Возьмём и перетащим блок when green flag clicked (при нажатии зелёного флага) из панели Events (События).
- Добавим блок set () angle to () (установить угол () на ()) из расширения Quarky Ultimate Robot. Выберем направление движения — налево, установим значение угла на 130.
- Добавим ещё один блок set () angle to () (установить угол () на ()). Выберем направление движения — направо, установим значение угла на 40.
- Добавим ещё один блок set () angle to () (установить угол () на ()). Выберем направление движения — прямо, установим значение угла на 90.
- Возьмём блок set robot orientation as () (установить положение робота на ()) из панели Robots (Роботы). Откроем выпадающий список и установим его на значение vertical (вертикальное).
- Добавим блок steer straight (направление вперёд) из расширения Quarky Ultimate Robot.
- Захватим блок wait () seconds (ждать () секунд) и поместим его под блоком steer straight (направление вперёд). Установим задержку в 1 секунду.
- Добавим блок go () at () % speed for () seconds (идти () при () % скорости в течение () секунд) под блок wait () seconds (ждать () секунд). Выберем backward (назад), установим скорость на 80%, а время — на 1,2 секунды.
- Затем захватим команду steer right (повернуть направо) из расширения Quarky Ultimate Robot и поместим его под блок go () at () % speed for () seconds (перемещаться () при () % скорости в течение () секунд).
- Добавим задержку в 1 секунду, установив блок wait () seconds (ждать () секунд) из панели Control (Управление).
- Добавим блок go () at () % speed for () seconds (идти () при () % скорости в течение () секунд) под блок wait () seconds (ждать () секунд). Выберем forward (вперёд), установим скорость на 80%, а время — на 1,8 секунды.
- Затем захватим команду steer left (повернуть налево) из расширения Quarky Ultimate Robot и поместим его под блок go () at () % speed for () seconds (перемещаться () при () % скорости в течение () секунд).
- Добавим задержку в 1 секунду, установив блок wait () seconds (ждать () секунд) из панели Control (Управление).
- Добавим блок go () at () % speed for () seconds (идти () при () % скорости в течение () секунд) под блок wait () seconds (ждать () секунд). Выберем forward (вперёд), установим скорость на 80%, а время — на 2 секунды.
- Затем захватим команду steer right (повернуть направо) из расширения Quarky Ultimate Robot и поместим его под блок go () at () % speed for () seconds (перемещаться () при () % скорости в течение () секунд).
- Добавим задержку в 1 секунду, установив блок wait () seconds (ждать () секунд) из панели Control (Управление).
- Добавим блок go () at () % speed for () seconds (идти () при () % скорости в течение () секунд) под блок wait () seconds (ждать () секунд). Выберем backward (назад), установим скорость на 80%, а время — на 1 секунду.
Код готов!!!
Скорость и время движения робота регулируются в соответствии с требованием.
Итоговое испытание
Для проведения испытаний поместим вертикального робота с рулевым управлением в первую прямоугольную коробку, включим автоматизацию и припаркуем робота с рулевым управлением в месте остановки.