The GUIDE framework is a modular, scalable, and task-agnostic imitation learning framework for robotics. It interfaces Isaac Sim with ROS 2 Humble and MoveIt 2, allowing users to specify complex manipulation tasks, orchestrate simulation environments, and seamlessly record expert demonstrations.
The resulting demonstrations are saved natively in the LeRobot dataset format.
This repository contains the full GUIDE framework and serves as the main entry point:
guide_core: Core simulation orchestration and ROS 2 bridging.guide_exo: Task execution and composite node structure for logic flow.guide_msgs: Standardized message interfaces.guide_tasks: Contains specific tasks (e.g.,block_bin).modules: Git submodules for external robot configurations (e.g.,irob_franka_ros2).
- Navigate into your ROS 2 workspace source folder:
cd ~/ros2_ws/src- Clone the repository with its submodules:
git clone --recurse-submodules https://github.com/ABC-iRobotics/guide.git(Note: The --recurse-submodules flag is required to pull the external robot configurations located in the modules/ folder.)
-
Ignore submodules from being parsed as individual ROS packages to avoid workspace collisions (handled by internal build scripts, but ensure
COLCON_IGNOREis present inmodules/). -
Build the workspace:
cd ~/ros2_ws
colcon build --packages-up-to guide
source install/setup.bashYou can launch specific tasks from the guide_tasks package. For example, to run the block_bin pick-and-place demonstration task:
ros2 launch block_bin bringup.launch.pyUsing a separate terminal, the demonstration generation can be triggered via a ROS 2 service:
ros2 service call /Sim_0/Scene_0/generate_demonstration guide_msgs/srv/Demonstration "{amount: 5, path: '~/'}"(Exact launch commands and service calls depend on the instantiated task configuration.)
In case of any issues, check the official resources:
András Makány - PhD student at Obuda University
This software is released under the GNU General Public License v3.0, see LICENSE.