Найти тему

Конструкция умного Страуса. Часть 2. Компоненты.

Оглавление
3D-модель умного Страуса. Оранжевыми стрелками показаны шарниры (Hinge Joint) между физическими компонентами.
3D-модель умного Страуса. Оранжевыми стрелками показаны шарниры (Hinge Joint) между физическими компонентами.

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
Иерархия наследования объектов в ПО LiveBaster

Как видно из иерархии наследования, Базовый Компонент (БК) LiveBaster - это тот самый "кирпичик", из которого строится система управления любой сложности.

Если БК выполняет роль Датчика, то он получает на вход текущее состояние окружающей среды и передаёт управляющее воздействие на мотор - см. схему использования компонентов ниже.

Если БК выполняет роль Мотора, то он получает на вход управляющее воздействие от Датчика и передаёт уже своё управляющее воздействие на исполнительный механизм (мотор в суставе, мышца и т.п.), который непосредственно воздействует на изменения в окружающей среде- см. схему использования компонентов ниже.

Простейшая схема использования компонентов ПО LiveBaster
Простейшая схема использования компонентов ПО LiveBaster

Продолжение следует.

Вопросы категорически приветствуются!

Наука
7 млн интересуются