Skip to content

Latest commit

 

History

History
104 lines (66 loc) · 7.72 KB

README.md

File metadata and controls

104 lines (66 loc) · 7.72 KB

SAI ITMO

Documentation Status license Eng Mirror

Rostok

Rostok - это open source Python framework для генеративного дизайна рычажных механизмов для роботехнических систем. Обеспечивает основу для описания механизмов в виде графа, настройки окружения, выполнения моделирования для сгенерированных механизмов, вычисление вознаграждения в виде значения критериев сгенерированного дизайна и поиска наилучшего возможного дизайна.

Пользователь может использовать весь framework для генерации суботимальных решений или использовать модули, как независимые части. Framework позволяет реализовать свои собственные правила генерации, модифицировать алгоритмы поиска дизайна и оптимизации.

В настоящее момент framework позволяет выполнять со-дизайн механизмов открытой кинематики. Со-дизайн заключается в одновременном поиске конструкции и траекторий движения робота для получения максимально возможной производительности.

Описание проекта

Есть четыре основных блока:

  • Graph Grammar -- необходим для создания, модификации и извлечения данных из графов, содержащих всю информацию о сгенерированных механизмах
  • Virtual Experiment -- это моделирование, необходимое для количественного анализа производительности сгенерированных механизмов, заданных правилами генерации.
  • Trajectory Optimization -- находит субоптимальные траектории сочленений, необходимые для эффективного выполнения желаемого движения
  • Search Algorithm -- ищет оптимальный граф для представления топологии механизма

project_general project_algorithm

Более подробное описание алгоритмов и методов.

Необходимые инструменты

Установка в режиме разработки

Для модификации модулей фреймворка 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} }