## UR Robotiq *This project provides tools and integration to manage a Universal Robotics UR3e robot arm with the Robotiq 2F 140 gripper.* ## How to Download (with Submodules) To download this repository and all of its included submodules, follow these steps: 1. **Prerequisites** * Make sure you have Git installed on your system ([https://git-scm.com/downloads](https://git-scm.com/downloads)). 2. **Gitea SSH Connection** * This is only usable in the University Network (the VPN hasn't worked so far either) * Follow this tutorial: https://www.techaddressed.com/tutorials/add-verify-ssh-keys-gitea/ 3. **Cloning the Repository** * Open your terminal or command prompt. * Navigate to the directory where you want to download the project. * Run the following Git command: ```bash git clone git@git.cps.unileoben.ac.at:Niko/UR_Robotiq.git ``` 4. **Download necessary repos** ```bash vcs import src < UR_Robotiq.humble.repos ``` The packages cartesian_controller_simulation and cartesian_controller_tests are excluded from colcon build by default. If you want to build them to be build delete the COLCON_IGNORE file! ## How to Start the Docker Compose 1. **Prerequisites** * Ensure you have Docker and Docker Compose installed on your system (Instructions can be found on the official Docker website: [https://www.docker.com/](https://www.docker.com/)) 2. **Starting the Containers** * Navigate to the project directory in your terminal: ```bash cd ``` * Run the following command to start the Docker Compose: ```bash docker compose up -d ``` * Give X11 permission to accept the stream of the container window: ```bash xhost + ``` * Get the name of the container: ```bash docker ps ``` * Access the terminal of the docker container ```bash docker exec -it /bin/bash ``` ## Working with UR + Robotiq In general you need to start up the UR Robotiq Controller, here the *robot_ip* has to be defined and if you want to start up the real robot or use fake hardware and if you want to launch rviz! ```bash ros2 launch ur_robotiq_description ur_robotiq_control.launch.py robot_ip:=aaa.bbb.ccc.ddd use_fake_hardware:= launch_rviz:= ``` In addition you can start up the moveit interface: ```bash ros2 launch ur_robotiq_moveit_config ur_robotiq_moveit.launch.py use_fake_hardware:= ``` ### use_fake_hardware:=true Terminal 1: ```bash ros2 launch ur_robotiq_description ur_robotiq_control.launch.py robot_ip:=aaa.bbb.ccc.ddd use_fake_hardware:=true launch_rviz:=false initial_joint_controller:=joint_trajectory_controller ``` Terminal 2: ```bash ros2 launch ur_robotiq_moveit_config ur_robotiq_moveit.launch.py use_fake_hardware:=true ``` ### servoing Terminal 3:\ **At the moment the servoing doesnt work with the collision checker (self collision still works).** ```bash ros2 launch ur_robotiq_servo ps5_servo.launch.py ``` After launching you need to change the controller to enable the servo mode.\ Terminal 4: ```bash ros2 control switch_controllers --deactivate joint_trajectory_controller ros2 control switch_controllers --deactivate robotiq_gripper_controller ros2 control switch_controllers --activate forward_position_controller ros2 control switch_controllers --activate forward_gripper_position_controller ```