400 likes | 1.02k Views
Проектирование и моделирование роботов в среде Дин-Софт РобСим 5. Евстигнеев Д.В. RobSim – средство моделирования и проектирования роботов. Дин-Софт РобСим 5. Дин-Софт – личный бренд Евстигнеева Д.В., как индивидуального предпринимателя.
E N D
Проектирование и моделирование роботов в средеДин-Софт РобСим 5 Евстигнеев Д.В.
RobSim – средство моделирования и проектирования роботов
Дин-Софт РобСим 5 • Дин-Софт – личный бренд Евстигнеева Д.В., как индивидуального предпринимателя. • НИКИМТ ИТУЦР, совместно с которым разрабатывался RobSim4, сделал свой RobSim5. • Чтобы не путать робсимы, новый РобСим будет называться «Дин-Софт РобСим 5».
Цель – быстрое моделирование роботов Не работает на новых операционных системах Цель – обучение проектированию роботов, включая электрические схемы и программное обеспечение Полностью переделанный графический и физический движок, адаптированный под новые и старые компьютеры В чем различия нового RobSim5 и старого RobSim4 Старый RobSim4 Новый Дин-Софт РобСим5
Что нового в Dyn-Soft RobSim 5? По-прежнему для разработки моделей используется3D Studio MAX, однако с новым, более удобным плагином
База данных компонентов В базе данных есть изображение изделия, цена, ссылка на документацию и продавца Двигатели, датчики и прочие устройства выбираются исключительно из базы данных Студенты больше не могут делать микродвигатели с мощность ракеты «Протон»
Редактор электрических схем и подключений Цель нововведения - студенты должны понимать внутреннее устройство робота
Редактор структурных схем программного обеспечения Разделение задач между пультом управления, бортовой ЭВМ и микропроцессорами приводного уровня
Редактор печатных плат и их принципиально-электрических схем
Редактор структурных схем программного обеспечения для микропроцессоров Настройка и использование аппаратных ресурсов микропроцессоров
Особенности редактора структурных схем программного обеспечения • Наличие типов данных (bool, char, short, int, float, double, и т.д.)Актуально при разработке ПО для микропроцессоров • Дробная и целочисленная реализация звеньев ТАУ Актуально для создания быстродействующих регуляторов • Учет быстродействия и объема памяти микропроцессоров Актуально для микропроцессоров • Организация протоколов обмена данными Построение протоколов обмена данными по WiFi, COM-портам, RS-485 и т.п. • Управление аппаратными ресурсами моделируемых ЭВМ Изучение микропроцессоров, не программируя их.
Возможность моделирования алгоритмов интеллектуального управления Источники сенсорной информации: Интеллектуальные системы на базе: • Стереозрение • «Детектор дороги» по изображению с одной камерына подобии системы управления БПЛА в НИР «Бластер» • Дальномеры • Инерциальная система • Модуль GPS/ГЛОНАСС • Построитель локальной карты местности • Нечеткая логическая система • Виртуальная машина с компилятором языка JavaScript Простой С++-подобный объектно-ориентированный язык для написания алгоритмов поведения • DLL-пользователя на C++ или Delphi
Режим испытания Испытания робота на тестовых сценах Режим «Игра» Игру можно пройти только на работающем роботе
Качественная 3D-графика • Расширения OpenGL • Совместимость со старыми и новыми компьютерами • Мультитекстурирование • Статические и динамические тени • Эффект отражения мира • Эффект Bump • Эффект Reflection • Эффекты воды и травы • и пр.
Роботом теперь управляет виртуальный оператор Оператор может подойти к роботу, включить его или выключить.Иногда, оператора даже видно в камере робота
Фильмы и слайд-шоу Модуль3D-визуализации Звуки и музыка Игровой сюжет Текстуры Сцены База данных электронных компонентов 3D Studio MAX Роботы Схемы Схемы Схемы Редактор печатных плат Редактор электрических схем и подключений Редактор принципиально-электрических схем Редактор алгоритмов программного обеспечения Внешние плагины Средства разработки Структура Dyn-Soft RobSim 5
Защита от «Списывания» студентов • Каждый студент называет робота своей фамилией. • Первое название, под которым сохранен робот, запоминается в файле модели. • При запуске проверяется соответствие названия файла и его первого названия. Если они не совпадают, то в режиме «Испытания» выдается предупреждение, а режим «Игра» не запускается. • В результате, если робот студента при запуске выдает предупреждение, то робота он делал не самостоятельно. • Если студент Иванов сдает робота, который называется Петров, то также факт «списывания» на лицо.
Документация и учебные пособия ПРОЕКТИРОВАНИЕРОБОТОВИ РОБОТОТЕХНИЧЕСКИХ СИСТЕМ Методические указания по проведению лабораторных работ Проектирование роботов и робототехнических систем в среде Dyn-Soft RobSim 5 Учебное пособие Евстигнеев Д.В. Разработка трехмерных моделей в 3D Studio MAX Учебное пособие Евстигнеев Д.В.
Особенности распространения • Модуль 3D-визуализации – распространяется бесплатно. • Средства разработки – на платной основе, защита от копирования. Для сотрудников каф.ПУ, и студентов каф.ПУ по специальным спискам распространяется бесплатно. Необходимо подать заявку через сайт
Физический движок Дин-Софт РобСим 5
Обзор физических движков • В Дин-Софт РобСим 5 собственный физический движок. • Физический движок – самостоятельная программная библиотека (обычно с интерфейсом на С++) для создания и моделирования физических взаимодействий объектов и механизмов в реальном времени. • Физический движок – это не программный комплекс типа Euler, UmLab и т.п. • ODE (игра «С.Т.А.Л.К.Е.Р.»). • Бесплатный физ.движок. • Проблемы: на простейших примерах показывает свою несостоятельность. • PhyX (игра «МЕТРО 2033»). • Условно бесплатный. • Аппаратная поддержка на видеокартах NVIDIA и игровых приставках XBox 360. • Проблемы: Ограниченный такт моделирования. Отсутствие поддержки сложных механизмов. Подходит только для игр. • Havok (игры «Control-Strike», «Half Life 2»). • Так и не попробовал. Проблемы те же, что и у PhyX.
Структура звена – главного элемента физ.движка Свойства звена Массив устройств (Двигатели, датчики и т.п.) Дочерние звенья • Масса • Локальный центр масс • Матрица тензора инерции • Радиус описанной сферы звена • Радиус описанной сферы модели … Иерархия привязанных геометрических объектов Дин. Параметры звена • Масса иерархии звеньев. • Глобальный центр масс иерархии звеньев. • Вектор вращательных и поступательных ускорений. • Вектор вращательной и поступательной скорости. • Матрица мирового преобразования 4x4. … … Массив объектов «Тело» (поверхностей столкновения), аппроксимирующих звено Основной объект звена
Управляемые двигателями Типы звеньев и механизмов 4-х звенный механизм Модель(6 степеней свободы) 3-х звенный механизм Ось Формируются автоматически путем анализа иерархии звеньев, заданной пользователем Линейное звено Гусеница Колесо Пружина Демпфер
+ + + + + + + + + + + + + + + + + + + + + + + + - Типы поверхностей столкновения box сфера цилиндр капсула mesh
Алгоритм расчета динамики • Расчет электрических схем • Обновление центров масс объектов • Приложение сил и моментов • Расчет скоростей звеньев • Расчет столкновений • Расчет положений звеньев • Расчет кинематики
R + - 1. Расчет электрических схем • Метод эквивалентного генератора • Способ моделирования цифровых сигналовс частотой выше частоты тактов моделирования: • Расчет по логической «1». • Расчет по логическому «0». • Учет логической формы сигнала (ШИМ, данные RS-232 и т.п.) U, G U0, G0 type signal
fi F0 3. Приложение сил и моментов Ур.Лагранжа II рода Применяется эквивалентная схема распределения усилий по звеньям робота. M2 r2 M1 r1 r0 M0
4. Расчет скоростей • Расчет ускорений, вызванных приложенными силами(a=F/m; =M/J) • К массам и инерциям добавляется инерция двигателей. • Добавление к ускорению следующих ускорений: • Ускорения свободного падения; • Центробежного ускорения; • Ускорений, вызванных движением родительского звена. • Учет сил и моментов трения. • Сила (момент) трения покоя (противодействует действующей силе, если скорость близка к нулю). • Динамическая сила (момент) трения. • Интегрирование ускорений, расчет скоростей( v = v0 + a·t; ω = ω0 + ·t ).
5. Расчет столкновений Оптимизация поиска столкновений Разбиение объектов сцены на модели: Если сферы, описывающие модели, пересекаются, тогда производится детальный поиск. Разбиение моделей на звенья: Если сферы, описывающие звенья, пересекаются, только тогда производится детальный поиск Использование сфер объектов «Тело»: Если сферы, описывающие тела, пересекаются, только тогда производится поиск столкновения двух тел Оптимизация поиска столкновения в Mesh: Использование сферы всего Mesh, сферы группы полигонов, сферы полигона. Заранее просчитаны параметры уравнения плоскости полигонов
P1 P2 P3 P4 v2, m2 v1, m1 Алгоритм расчета столкновений • Поиск точек столкновения тел. • Вычисление эквивалентной массы и импульса в каждой точке столкновения. • Понятие «кожа» для демпфирования столкновений • Поиск эффективной точки столкновения, как средневзвешенного положения всех точек столкновения звеньев (взвешивание величиной импульса). • Поиск эквивалентной массы и скоростей в эффективной точке столкновение и расталкивание (по скорости и по положению) группы звеньев по формулам нецентрального удара.
6. Расчет положений • Интегрирование скоростей, расчет положений (p=p0 + v·t; φ= φ0 + ω·t) • Учет ограничений на перемещение звеньев
7. Расчет кинематики • Расчет кинематики сложных механизмов
Режим «сна» • Как и в большинстве физических движков (PhyX, ODE), в Дин-Софт РобСим 5 применяется режим «Сна» звеньев. • Позволяет не производить расчет динамики объектов, которые находятся в состоянии покоя.