Startup¶
The following instructions guide you through the process of setting up either a single or dual UR3 robotic arm system in simulation or in our lab.
Important
In each terminal make sure you:
source the
underlayi.e.source /opt/ros/jazzy/setup.bash. This is so the terminal has the paths to the ros2 and colcon commands. This command can be placed in the.bashrcfile so it is sourced automatically on terminal startup.source the
overlayi.e.source install/setup.bashfrom your ros workspace’sinstalldirectory.
Warning
The single arm setup is outdated. Use the dual arm setup and set the arm not being used to mock hardware if you want to control one arm.
Simulation Setup¶
Open a new terminal for each step and source the underlay and overlay.
To launch the driver:
ros2 launch crm_dual_control start_robots.launch.py alice_use_mock_hardware:=true bob_use_mock_hardware:=true launch_rviz:=false
ros2 launch crm_control start_robot.launch.py use_mock_hardware:=true launch_rviz:=false
If you want to print with both arms add the argument
alice_end_effector:=hot_end.To launch moveit open a new terminal
ros2 launch crm_dual_moveit_config dual_ur_moveit.launch.py
ros2 launch crm_moveit_config ur_moveit.launch.py
If you want to print with both arms add the argument
alice_end_effector:=hot_end.Now start the duet_board fake communication as you are in simulation
ros2 run duet_communication {board}_fake_serviceWhere
{board}is the control board to used (either bob or alice).
Danger
Delete the initial lines that lower the z height from the starting point of the gcode file otherwise the end effector will force through the bed!!! They look like G1 Z-1.
We are ready to print a part using the gcode.
ros2 run printer print {robot} <path-to-gcode>Where
{robot}is the arm used for printing (either bob or alice).
There’s a test gcode file in the printer directory of the crm_core repository.
Physical Hardware Setup¶
Open a new terminal for each step and source the underlay and overlay.
To launch the driver with both arms in real hardware mode:
ros2 launch crm_dual_control start_robots.launch.py alice_use_mock_hardware:=false bob_use_mock_hardware:=false launch_rviz:=false
ros2 launch crm_control start_robot.launch.py use_mock_hardware:=true launch_rviz:=false
If you want to print with both arms add the argument
alice_end_effector:=hot_end.To launch moveit open a new terminal
ros2 launch crm_dual_moveit_config dual_ur_moveit.launch.py
ros2 launch crm_moveit_config ur_moveit.launch.py
If you want to print with both arms add the argument
alice_end_effector:=hot_end.Now start the duet_board fake communication as you are in simulation
ros2 run duet_communication {board}_serviceWhere
{board}is the control board to use (either bob or alice).
Danger
Delete the initial lines that lower the z height from the starting point of the gcode file otherwise the end effector will force through the bed!!! They look like G1 Z-1.
We are ready to print a part using the gcode.
ros2 run printer print {robot} <path-to-gcode>Where
{robot}is the arm used for printing (either bob or alice).
There’s a test gcode file in the printer directory of the crm_core repository.