Rostok - это open source Python framework для генеративного дизайна рычажных механизмов для роботехнических систем. Обеспечивает основу для описания механизмов в виде графа, настройки окружения, выполнения моделирования для сгенерированных механизмов, вычисление вознаграждения в виде значения критериев сгенерированного дизайна и поиска наилучшего возможного дизайна.
Пользователь может использовать весь framework для генерации суботимальных решений или использовать модули, как независимые части. Framework позволяет реализовать свои собственные правила генерации, модифицировать алгоритмы поиска дизайна и оптимизации.
В настоящее момент framework позволяет выполнять со-дизайн механизмов открытой кинематики. Со-дизайн заключается в одновременном поиске конструкции и траекторий движения робота для получения максимально возможной производительности.
Есть четыре основных блока:
- Graph Grammar -- необходим для создания, модификации и извлечения данных из графов, содержащих всю информацию о сгенерированных механизмах
- Virtual Experiment -- это моделирование, необходимое для количественного анализа производительности сгенерированных механизмов, заданных правилами генерации.
- Trajectory Optimization -- находит субоптимальные траектории сочленений, необходимые для эффективного выполнения желаемого движения
- Search Algorithm -- ищет оптимальный граф для представления топологии механизма
Более подробное описание алгоритмов и методов.
- Anaconda3
- При использовании Docker необходимо установить Х-server для Windows https://sourceforge.net/projects/vcxsrv/
Для модификации модулей фреймворка Rostok необходимо установить его в режиме разработки:
- Создайте среду, используя
conda env create -f environment.yml
- Активируйте окружение
rostok
- Установите пакет в режиме разработки
pip3 install -e
.
На некоторых ПК можно увидеть проблему с модулем tcl «конфликт версий для пакета «Tcl»: есть 8.6.12, нужна именно 8.6.10», попробуйте установить tk 8.6.10, используя «conda install tk=8.6.10».
После установки пакета может появиться ошибка «Исходная ошибка: Ошибка загрузки DLL при импорте _multiarray_umath: указанный модуль не найден», попробуйте переустановить numpy в среде rostok
Описание проекта и туториалы доступны на сайте проекта .
Пример настройки и использования пайплайна генеративного дизайна находится в каталоге rostok\app
.
Примеры использования независимых модулей находятся в директории rostok\examples
.
Исследование проводится при поддержке Исследовательского центра сильного искусственного интеллекта в промышленности Университета ИТМО в рамках мероприятия программы центра: Разработка и испытания экспериментального образца библиотеки алгоритмов сильного ИИ в части генеративного и интерактивного дизайна плоских механизмов антропоморфных захватных устройств и роботизированных кистей
- Иван Борисов - исследователь
- Кирилл Жарков - руководитель группы
- Ефим Осипов - разработчик исследователь
- Дмитрий Иволга - разработчик исследователь
- Кирилл Насонов - разработчик исследователь
- Сергей Колюбин - старший научный сотрудник
- Иван Борисов [email protected] по вопросам работы алгоритмов
- Кирилл Жарков [email protected] по техническим вопросам
- Сергей Колюбин [email protected] по вопросам сотрудничества
ГОСТ:
- I. I. Borisov, E. E. Khornutov, D. V. Ivolga, N. A. Molchanov, I. A. Maksimov and S. A. Kolyubin, "Reconfigurable Underactuated Adaptive Gripper Designed by Morphological Computation," 2022 International Conference on Robotics and Automation (ICRA), 2022, pp. 1130-1136, doi: 10.1109/ICRA46639.2022.9811738.
Bibtex:
- @inproceedings{borisov2022reconfigurable, title={Reconfigurable underactuated adaptive gripper designed by morphological computation}, author={Borisov, Ivan I and Khornutov, Evgenii E and Ivolga, Dmitriy V and Molchanov, Nikita A and Maksimov, Ivan A and Kolyubin, Sergey A}, booktitle={2022 International Conference on Robotics and Automation (ICRA)}, pages={1130--1136}, year={2022}, organization={IEEE} }