вторник, 24 февраля 2015 г.

Танец в круге

1. Команды ожидания в Роболаб

а) Ожидание интервала времени
б) Ожидание показаний датчика освещенности:

Жди светлее, чем... (0...100)


Жди светлее на... (-100...100)


Жди темнее, чем...(0...100)


Жди темнее на...(-100...100)

2. Операторы цикла

У каждого цикла обязательно указывается блок начала и блок конца. Все команды, находящиеся между ними, составляют тело цикла (повторяются).



Цикл с бесконечным числом повторений




Цикл с заданным числом повторений (количество повторений указывается в модификаторе блока начала)

3. Танец в круге на одном датчике

Робот живет внутри круга, за пределы которого нельзя выходить. Для выполнения этой задачи надо собрать стандартную трехколесную тележку: два передних колеса ведущие, одно заднее подвижное на шарнире. Спереди по центру расположен датчик освещенности, направленный строго вниз и находящийся на расстоянии около 10 мм от пола.

Робот ставится в центре и при старте должен двигаться внутри круга, не выходя за его пределы.

Алгоритм действий "Танец в круге" таков:
  1. ехать вперед, пока показания датчика не понизятся на 5 пунктов (лучше 10);
  2. отъехать немного назад (примерно полсекунды);
  3. развернуться примерно на 120-150 градусов (тоже по времени);
  4. повторять пункты 1-3 бесконечно.
Пример программы на языке Robolab выглядит следующим образом:
Параметры, указанные в модификаторах, подберите самостоятельно: степень понижения освещенности на черной линии (8), время отъезда назад (50/100) и время поворота (60/100).

4. Танец в круге на двух датчиках

Поставьте еще один датчик сзади и напишите программу по которой робот "танцует в круге", реагируя не только на линию впереди, но и на линию сзади.

Алгоритм движения на двух датчиках
  1. Робот едет вперед пока не почувствует понижение освещенности на переднем датчике.
  2. Как только передний датчик среагировал, робот едет назад до тех пор пока не почувствует понижения освещенности на заднем датчике.
  3. Повторять пункты 1-2 бесконечно

Возможно движение назад должно происходить не по прямой, а по кривой, для того, чтобы робот не двигался по одной и той же линии вперед-назад. Программу движения вам предстоит написать самостоятельно.

Комментариев нет:

Отправить комментарий