119 lines
4.3 KiB
Markdown
119 lines
4.3 KiB
Markdown
## 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 <path/to/UR-Robotiq>
|
|
```
|
|
|
|
* 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 <name of docker container> /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:=<true/false(default)> launch_rviz:=<true/false(default)>
|
|
```
|
|
|
|
In addition you can start up the moveit interface:
|
|
```bash
|
|
ros2 launch ur_robotiq_moveit_config ur_robotiq_moveit.launch.py use_fake_hardware:=<true/false(default)>
|
|
```
|
|
|
|
### 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
|
|
#### PS5 controller
|
|
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
|
|
```
|
|
#### Keyboard
|
|
Terminal 3:
|
|
```bash
|
|
ros2 run servo_keyboard servo_keyboard_input --ros-args --params-file src/servo_keyboard/config/servo_keyboard_params.yaml
|
|
```
|
|
|
|
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_joint_trajectory_controller
|
|
ros2 control switch_controllers --activate forward_position_controller
|
|
ros2 control switch_controllers --activate forward_gripper_position_controller
|
|
```
|
|
|
|
For the real robot you need to change to the scaled position controller:
|
|
```bash
|
|
ros2 control switch_controllers --deactivate scaled_joint_trajectory_controller
|
|
ros2 control switch_controllers --deactivate robotiq_gripper_joint_trajectory_controller
|
|
ros2 control switch_controllers --activate scaled_forward_position_controller
|
|
ros2 control switch_controllers --activate forward_gripper_position_controller
|
|
```
|
|
|
|
Terminal 5:
|
|
Activate the Servo Node
|
|
```bash
|
|
ros2 service call /servo_node/start_servo std_srvs/srv/Trigger {}
|
|
```
|
|
|
|
### extract the urdf from xacro file
|
|
```bash
|
|
ros2 run xacro xacro src/ur_robotiq_description/urdf/ur_robotiq.urdf.xacro > src/ur_robotiq_description/urdf/ur_robotiq.urdf name:=ur3e
|
|
``` |