fzi-forschungszentrum-informatik / cartesian_controllers

A set of Cartesian controllers for the ROS1 and ROS2-control framework.
BSD 3-Clause "New" or "Revised" License
374 stars 109 forks source link

How to use Cartesian controller in real UR5 to achieve motion tracking using /target_frame. #143

Closed caimingxue closed 8 months ago

caimingxue commented 1 year ago

Hello, @fmauch. I am new to the cartesian_controller. Now, I can use the my_motion_control_handle to control the ur5 in the Rviz. How to use Cartesian controller in real UR5 to achieve motion tracking using /target_frame. Are there any tutorials for file configuration? Thanks!

stefanscherzinger commented 11 months ago

@caimingxue

If this is still relevant for you, here's a small getting started package on the Universal Robots. You can use that as starting point for your setup. It contains all cartesian controllers.

Motion tracking is simple. You just publish a target_frame on the given topic and the robot moves. The idea is to publish a moving target periodically, so that the robot moves in small steps. However, you need to interpolate the path yourself. The controllers do help you a little with interpolation by introducing a delayed behavior depending on the controller gains.

If you are still working with ROS1, here's a mechanism to execute Cartesian trajectories. It's a CartesianTrajectoryPublisher that takes a Cartesian trajectory and turns that into a moving target for the cartesian_motion_controller.

shrutichakraborty commented 8 months ago

Hi! I'm trying to get the force controller setup for a ur10e robot on ros2 humble ubuntu22. I'm not as familiar with ros controller manager and si it ould be very helpful to have a step by step explanation of what to do.

So far, I have cloned the repository and built it. I have a package with the scaled joint trajectory controller files, where I have included a .yaml file for my Cartesian force controller :

Screenshot from 2024-01-31 15-54-33

I am not sure how to proceed next? I have a ros2_control package with the controller_manager folder and controller_interface and other files. What are the next steps to setup the controller on the real robot? How can I use the getting started package mentioned in the previous comment ?

Thanks a lot!