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
underlay
i.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.bashrc
file so it is sourced automatically on terminal startup.source the
overlay
i.e.source install/setup.bash
from your ros workspace’sinstall
directory.
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_service
Where
{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}_service
Where
{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.