Go to file
2024-04-18 19:17:21 +02:00
.idea servo keyboard fixed 2024-04-18 19:14:53 +02:00
src servo keyboard fixed 2024-04-18 19:14:53 +02:00
.gitignore updated README.md 2024-03-04 11:30:38 +01:00
.gitmodules fixing dependcies issues by removing all submodules 2024-04-04 14:48:54 +02:00
docker-compose.yaml added ps5_control.py 2024-04-03 16:50:26 +02:00
Dockerfile Fixed ur_robotiq_control.launch.py error 2024-04-02 14:55:40 +02:00
README.md update readme file 2024-04-18 19:17:21 +02:00
requirements.txt added docker 2024-02-29 14:32:31 +01:00
UR_Robotiq.humble.repos working keyboard example 2024-04-16 11:48:44 +02: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

  2. Gitea SSH Connection

  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:
    git clone git@git.cps.unileoben.ac.at:Niko/UR_Robotiq.git 
    
  4. Download necessary repos

    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/)
  2. Starting the Containers

    • Navigate to the project directory in your terminal:

       cd <path/to/UR-Robotiq> 
      
    • Run the following command to start the Docker Compose:

      docker compose up -d 
      
    • Give X11 permission to accept the stream of the container window:

      xhost +
      
    • Get the name of the container:

      docker ps
      
    • Access the terminal of the docker container

      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!

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:

ros2 launch ur_robotiq_moveit_config ur_robotiq_moveit.launch.py use_fake_hardware:=<true/false(default)>

use_fake_hardware:=true

Terminal 1:

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:

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).

ros2 launch ur_robotiq_servo ps5_servo.launch.py

Keyboard

Terminal 3:

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:

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:

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

ros2 service call /servo_node/start_servo std_srvs/srv/Trigger {}

extract the urdf from xacro file

ros2 run xacro xacro src/ur_robotiq_description/urdf/ur_robotiq.urdf.xacro > src/ur_robotiq_description/urdf/ur_robotiq.urdf name:=ur3e