I have been working my way through getting a UR3 running with the ROS2 Driver. So far, going pretty well with the off-the-shelf stuff. I have the communication working, and both simulator and real robot working fine with the MoveIt config. So, that’s all great.
Next step is for me to get my EOT working and the TCP added to the TF Frame hierarchy.
In the ur_robot_driver documentation, it notes that if there is a tool set up on the Teach Pendant, that tool0 should reflect this (pasted in the docs below):
Robot frames
While most tf frames come from the URDF and are published from the
robot_state_publisher
, there are a couple of things to know:
- The
base
frame is the robot’s base as the robot controller sees it.- The
tool0_controller
is the tool frame as published from the robot controller. If there is no additional tool configured on the Teach pendant (TP), this should be equivalent totool0
given that the URDF uses the specific robot’s calibration. If a tool is configured on the TP, then the additional transformation will show inbase
→tool0
.
I am not sure if I am interpreting this correctly… I set a TCP offset on the Teach Pendant, but my tool0 is still right on the end of the flange/wrist3 in RViz. I looked through the driver code, and didn’t see anything anywhere that looked like tool0 would be updated dynamically - but I wanted to double check to make sure I am interpreting this properly in the first place.
Thanks!