It is necessary to run docker without sudo, run this command if it has not yet been done, log out and back in to proceed.
sudo usermod -aG docker $USERThen, git clone this repo.
git clone https://github.com/snt-spacer/open_manipulator-RMinS.gitcd docker
./container.sh startcd docker
./container.sh enterRun this command ONCE on the host system (outside docker) to enable USB communication:
sudo usermod -aG dialout $USERThen log out and log back in for changes to take effect.
# In the docker container, run this once:
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release# Run this every time you start a new terminal in docker:
source install/setup.bash# Run this once to enable USB communication with the robot:
ros2 run open_manipulator_bringup om_create_udev_rules# Start Gazebo simulation:
ros2 launch open_manipulator_bringup open_manipulator_x_gazebo.launch.py# Start real robot control:
ros2 launch open_manipulator_bringup open_manipulator_x.launch.py port_name:=/dev/ttyACM0# For SIMULATION:
ros2 launch open_manipulator_moveit_config open_manipulator_x_moveit.launch.py use_sim:=true
# For REAL ROBOT:
ros2 launch open_manipulator_moveit_config open_manipulator_x_moveit.launch.py use_sim:=false# Keyboard control for real robot:
ros2 run open_manipulator_teleop open_manipulator_x_teleop# View robot model in RViz (stop other systems first):
ros2 launch open_manipulator_description open_manipulator_x.launch.pyIf Gazebo or other windows don't open, run this on the host system (outside docker):
xhost +- USB not detected: Make sure you ran
om_create_udev_rulesand restarted your session - MoveIt can't plan: Check if
use_simis set correctly (true for simulation, false for real robot) - No robot in Gazebo: Ensure all previous ROS processes are stopped before starting new ones
- Always source the workspace after building:
source install/setup.bash - Use
use_sim:=truefor simulation,use_sim:=falsefor real robot - Stop all running ROS processes before starting new ones
- The real robot requires the USB cable to be connected to
/dev/ttyACM0