Проект: Симуляция манипулятора Pick & Place в MuJoCo
Цель:
Реализация детерминированной симуляции промышленного манипулятора с захватом в среде MuJoCo, выполняющего полный сценарий Pick & Place: подход к объекту, опускание, захват, перенос, укладка в коробку и возврат в исходное положение.
Технологии:
-
C++17
-
MuJoCo (C API)
-
GLFW
-
OpenGL
Структура проекта
assets/scene.xml — MJCF-описание сцены (стол, робот, куб, коробка) src/main.cpp — инициализация MuJoCo, окно, камера, цикл симуляции src/robot_controller.h / .cpp — FSM и логика управления манипулятором src/kinematics.h / .cpp — вспомогательная кинематика src/utils.h / .cpp — утилиты
Логика работы манипулятора
- Home — начальное положение между кубом и коробкой.
- MoveYawToCube — движение по дуге к кубу.
- LowerToCube — опускание до контакта платформы с кубом.
- CloseFingers — захват куба пальцами после контакта.
- LiftWithCube — подъем куба.
- MoveYawToBox — перенос по дуге к коробке.
- LowerIntoBox — опускание куба в коробку.
- OpenFingers — разжим пальцев.
- LiftEmpty и ReturnHome — возврат в исходное положение.
Запуск проекта
- Установить MuJoCo и GLFW.
- Добавить пути include и lib MuJoCo в Visual Studio.
- Убедиться, что mujoco.dll доступен в PATH или рядом с exe.
- Установить Working Directory = $(ProjectDir).
- Запустить проект.
Итог работы Захват куба, перенос по дуге и укладка в коробку (скриншоты / видео).