This is a control template for Universal Robots robotic manipulators. It relies on sas_robot_driver_ur to communicate
with the robot via URCL.
Docker¶
Sample containers for real robot and simulated robot motion are available. Those can be tested without cloning this repository. For more advanced use, users are advised to clone and modify the sample cpp code in src or the sample Python code in scripts.
Real robot¶
Communication test¶
Run
mkdir -p ~/sas_tutorial_workspace/docker/sas_ur_control_template/robot_connection_test
cd ~/sas_tutorial_workspace/docker/sas_ur_control_template/robot_connection_test
curl -OL https://raw.githubusercontent.com/MarinhoLab/sas_ur_control_template/refs/heads/main/docker/robot_connection_test/compose.yml
docker compose upMoving the robot¶
https://
Run
mkdir -p ~/sas_tutorial_workspace/docker/sas_ur_control_template/robot_demo
cd ~/sas_tutorial_workspace/docker/sas_ur_control_template/robot_demo
curl -OL https://raw.githubusercontent.com/MarinhoLab/sas_ur_control_template/refs/heads/main/docker/robot_demo/compose.yml
docker compose upJoint control simulation¶
https://
Run
mkdir -p ~/sas_tutorial_workspace/docker/sas_ur_control_template/simulation_demo
cd ~/sas_tutorial_workspace/docker/sas_ur_control_template/simulation_demo
curl -OL https://raw.githubusercontent.com/MarinhoLab/sas_ur_control_template/refs/heads/main/docker/simulation_demo_v2/compose.yml
xhost +local:root
docker compose upKinematics simulation¶
The desired pose can be controlled via the xd dummy on the CoppeliaSim simulation.
mkdir -p ~/sas_tutorial_workspace/docker/sas_ur_control_template/simulation_demo
cd ~/sas_tutorial_workspace/docker/sas_ur_control_template/simulation_demo
curl -OL https://raw.githubusercontent.com/MarinhoLab/sas_ur_control_template/refs/heads/main/docker/simulation_demo_v2_kinematic/compose.yml
xhost +local:root
docker compose upConfiguration¶
Universal Robots Software 5.25.0¶
Necessary settings are shown below.
Enable Networking¶
Set the network as needed in your application.
Hamburger → Settings → System → Network → Static Address
Enable Remote Control¶
Hamburger → Settings → System → Remote Control → Enable
Enable Services¶
Hamburger → Settings → System → Services → Services
| Enabled | Dashboard Server |
| Enabled | Primary Client Interface |
| Enabled | Secondary Client Interface |
| Enabled | Real-Time Client Interface |
| Enabled | Real-Time Data Exchange (RTDE) |
| Enabled | Interpreter Mode Socket |