Состояния и события. Сенсоры

Поведение робота - это череда сменяющих друг друга состояний (состояние движения, состояние поиска и т. п.). Смена состояний происходит в зависимости от внешних событий. Робот регистрирует события при помощи различных датчиков. Всё поведение робота можно схематично изобразить в виде диаграммы переходов между состояниями.

Пример 3.1. Диаграмма переходов "Состояние 1 → Событие → Состояние 2" соответствующая движению робота до чёрной линии:
Диаграмма переходов: движение робота до чёрной линии
  1. Робот находится в состоянии движения.
  2. Датчик света регистрирует понижение яркости до некоторого порогового значения - это новое событие, которое можно назвать "робот доехал до чёрной линии".
  3. В результате регистрации события робот меняет своё состояние на бездействие (остановка).
Таким образом, можно сказать, что робот должен всё время ждать возникновения событий. Для этого в среде NXT-G имеется специальный блок Wait (Ждать):
Варианты блока Wait в общей палитре
Источниками событий могут являться:
  • различные датчики (сенсоры): цвета, освещённости, касания, и пр.;
  • таймер;
  • кнопки NXT-блока;
  • сообщения от других роботов, переданные по Bluetooth соединению.
Далее в этой теме мы рассмотрим работу с некоторыми наиболее часто используемыми датчиками.