-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Hello,
I am desperately trying to reuse your effort on the ur_description package to build a custom robot cell and do motion planning with collision avoidance in it, following as reference the tutorial you have about this with the FZI example cell, but for a ur5e and not ur20.
I was doing this in the humble branch, on a fresh humble docker image.
Just testing your own tutorial, when I run ros2 launch my_robot_cell_control start_robot.launch.py use_mock_hardware:=true ur_type:=ur5e
... it does not work. It's missing the description files. If I copy them over with:
cp -r /opt/ros/jazzy/share..../ur_description/config/ur5e my_robot_cell_control/config/
then it launches.... and I get this never seen before in my life horror:

I am using ursim at the moment, as don't have the real ur5e robot next to me all the time. You can see the joint states at least match XD!

Now, because I think the humble tutorial might be broken, I tried spin a jazzy image and moved to the main branch of your tutorial. Again, just testing if it works out of the box, no personal robot description created yet.
When I try the driver with the command below, all is good:
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=192.168.56.101

But when I launch the code below...
ros2 launch ur_robot_driver ur_control.launch.py \
description_launchfile:=$(ros2 pkg prefix my_robot_cell_control)/share/my_robot_cell_control/launch/rsp.launch.py \
use_mock_hardware:=true \
robot_ip:=192.168.56.101 \
ur_type:=ur5e \
rviz_config_file:=$(ros2 pkg prefix my_robot_cell_description)/share/my_robot_cell_description/rviz/urdf.rviz \
tf_prefix:=ur5e_
I get this this horrific view again...

Now is not even respecting the joint states, as I also get another error:
[ros2_control_node-1] [WARN] [1760097964.449322492] [controller_manager]: Overrun might occur, Total time : 3189.104 us (Expected < 2000.000 us) --> Read time : 28.854 us, Update time : 287.578 us (Switch time : 0.000 us (Switch chained mode time : 0.000 us, perform mode change time : 0.000 us, Activation time : 0.000 us, Deactivation time : 0.000 us)), Write time : 2872.672 us
[ros2_control_node-1] [WARN] [1760097964.449514006] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 3.449130 ms (missed cycles : 2).
Yet different result for your own tutorial launch files:
ros2 launch my_robot_cell_control start_robot.launch.py ur_type:=ur5e use_mock_hardware:=true kinematics_parameters_file:=$(ros2 pkg prefix ur_description)/share/ur_description/config/ur5e/default_kinematics.yaml
The robot is not broken at least, but the joint states are not picked up as the Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.132454 ms (missed cycles : 2).
is there.

The consistency of this monstrous launch system is not there, and it's hard to understand why something works in some case and something else doesn't in another case...
I hope you can help us (preferably in ros humble as we have the resto of the code there).
In the meantime I will resort to just export the ur5e urdf into a blank package with the control config, and avoid your description macros altogether.