Создание робота-курьера с искусственным интеллектом: Общие сведения
Теперь настало время создать нашего собственного робота-курьера с искусственным интеллектом! Робот-курьер должен двигаться по маршруту, проверить, достиг ли он нужного места назначения без каких-либо столкновений, и доставить посылку.
В нашем случае, целью робота будет двигаться по маршруту вперёд, останавливаться на контрольных точках и распознавать числовые карточки, чтобы проверить, достиг ли он нужного места назначения, и обновить статус доставки, включив зелёный цвет светодиодов.
Давай установим площадку таким образом и разместим опознавательные/числовые карточки в следующих местах:
Перемещение к контрольной точке 1
Понимание логики
В качестве робота-курьера с искусственным интеллектом мы будем использовать нашего робота, двигающегося по маршруту. Вот как это будет работать.
Для того, чтобы успешно достичь контрольной точки 1, нам нужно сделать следующее:
- Подготовить робота к работе, присвоив начальные пороговые значения ИК датчиков и параметры скорости.
- Затем выполнить движение по маршруту, одновременно проверяя активны ли оба датчика. Если оба датчика активны, мы знаем, что достигли контрольной точки, и нам надо остановиться.
- Затем нам нужно проанализировать данные с камеры и распознать числа:
- Если число 1 распознано, тогда мы достигли места назначения.
- Если число 1 не распознано, тогда нам нужно продвинуть робота вперёд, пропустить эту контрольную точку и выполнить шаг 2.
Напишем код!
- Из панели Sensors (Датчики), выбераем два блока set () IR sensor threshold to () (задать_пороговое значение ИК датчиков_) и добавляем их над блоком turn () video on stage with () % transparency (включить_видео с_% прозрачностью). Задаем пороговые значения двух ИК датчиков, которые мы вывели на предыдущем занятии.
- Добавляем блок set parameter F (), T1 (), T2 () (задать параметр F_, T1_, T2_), чтобы задать параметры скорости робота. Вставляем значения из предыдущего задания.
- А теперь добавляем блок do line following (выполнить движение по маршруту) из панели Robot (Робот) в блок forever (всегда).
- Внутри блока do line following (выполнить движение по маршруту) добавляем блок stop robot (остановить робота). Добавляем другой код под блоком stop robot (остановить робота).
- Теперь добавим блок stop all (остановить всё) из панели Control (Управление) внутрь ветки if, чтобы остановить робота, когда число 1 распознано.
- И добавляем блок go () at speed () % (двигаться_со скоростью_%) внутрь ветки else, чтобы двигаться вперёд и пропустить текущую контрольную точку.
Готово! Мы завершили нашу программу. Запускаем её, нажав на зелёный флажок и любуемся результатом!