3D-модель умного Страуса создавалась для экспериментов, с целью исследования Самодостаточного ИИ LiveBaster.
Почему именно Страус?
Причин было несколько:
1. Минимальные затраты времени на моделирование - 3D-модель была создана из стандартных компонентов игрового движка Unity3D.
2. Максимальная сложность управления моделью. Чем сложнее - тем проще отлаживать программу управления. Это звучит парадоксально, но на самом деле, есть простое объяснение этой закономерности - из-за сложности все ошибки в алгоритмах и программной реализации "выпячиваются" наружу. Ошибки становится проще заметить и следовательно, далее их исправить - всего лишь "дело техники".
В чём сложность управления?
1. Строение лап. Всего 3 пальца, а значит - неустойчивость всей конструкции. Достаточно одного неаккуратного движения и Страус может моментально провернуться, под действием силы тяжести на любой случайный угол, в произвольном направлении.
2. Крылья. Махание крыльями приводит к большой вибрации всей конструкции, значит буквально все датчики будут иметь на входе крайне много нестабильных данных, фактически, случайный шум.
3. Длинная шея. Аналогично, как с крыльями - дополнительная вибрация на всю конструкцию и как следствие - много шума на датчиках.
Используемые встроенные компоненты Unity3D:
1. 3D объекты: куб (cube), сфера (sphere), капсула (capsule), четырёхугольник (quad)
2. Физическое тело (rigidbody)
3. Шарнирное соединение (hinge joint)
4. Неподвижное соединение (fixed joint)
5. Скриптовый язык программирования: C #
Компоненты ПО LiveBaster:
1. Базовый Компонент (БК)
2. Датчик
3. Мотор
Как видно из иерархии наследования, Базовый Компонент (БК) LiveBaster - это тот самый "кирпичик", из которого строится система управления любой сложности.
Если БК выполняет роль Датчика, то он получает на вход текущее состояние окружающей среды и передаёт управляющее воздействие на мотор - см. схему использования компонентов ниже.
Если БК выполняет роль Мотора, то он получает на вход управляющее воздействие от Датчика и передаёт уже своё управляющее воздействие на исполнительный механизм (мотор в суставе, мышца и т.п.), который непосредственно воздействует на изменения в окружающей среде- см. схему использования компонентов ниже.
Продолжение следует.
Вопросы категорически приветствуются!