UR_Robotiq/README.md

119 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

2024-03-04 10:21:44 +00:00
## 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)
2024-03-04 10:22:18 +00:00
* Follow this tutorial: https://www.techaddressed.com/tutorials/add-verify-ssh-keys-gitea/
2024-03-04 10:21:44 +00:00
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!
2024-03-04 10:21:44 +00:00
## 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>
```
2024-03-04 10:21:44 +00:00
* 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
2024-04-03 14:50:26 +00:00
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
2024-04-16 09:48:44 +00:00
#### 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
```
2024-04-16 09:48:44 +00:00
#### Keyboard
Terminal 3:
```bash
2024-04-18 17:17:21 +00:00
ros2 run servo_keyboard servo_keyboard_input --ros-args --params-file src/servo_keyboard/config/servo_keyboard_params.yaml
2024-04-16 09:48:44 +00:00
```
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
2024-04-05 11:13:08 +00:00
ros2 control switch_controllers --activate forward_gripper_position_controller
2024-04-16 09:48:44 +00:00
```
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
2024-04-18 15:30:02 +00:00
ros2 service call /servo_node/start_servo std_srvs/srv/Trigger {}
2024-04-16 09:48:44 +00:00
```
### 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
```