Сенсоры и эффекторы RBS-системы

Сенсоры и эффекторы, используемые при моделировании следования вдоль стены, очень похожи на сенсоры и эффекторы, которые применяются для моделирования огибания препятствий. Все они в программном коде представляются в виде методов класса Brain и передаются в RBS-систему в качестве указателей на фушащи (вместе с указателем на экземпляр класса). Это означает, что мы можем получать доступ к переменным экземпляра класса Brain с помощью механизма обратного вызова.
Сенсоры "прощупывают" окружающую среду впереди (угол 0°) и сбоку (угол 45'') на расстоянии нескольких шагов анимата. Если в заданных пределах они обнаруживают препятствие, возвращается значение true, в противном случае — значение false.
Эффекторы изначально были реализованы в виде прямых вызовов функций интерфейса Move () и Turn (). Однако это приводило к тому, что движения были "рваными", поэтому впоследствии мы заменили их на вызовы операций RBS-системы, которые давали более сглаженные значения (скользящее среднее — идеальное решение). На поворотах это не так заметно, а вот для движения вперед это очень важно.