Summary
According to this documentation, the work frame and tool frame can be set when sending a trajectory which is very handy. However, the included test_move script does not utilise this. Therefore I modified test_move to define these frames, but seemingly it has no impact. Instead, it seems that the control fully adheres to the frames (base and tip) defined in urXX_controllers.yaml. Furthermore, pose_based_cartesian_traj_controller and forward_cartesian_traj_controller use as tip tool0_controller which does not follow the actual tcp. (EDIT: this was due to an error on my side)
I am not sure if I am misusing or misunderstanding what these are supposed to do. Can you let me know if what i observe is expected behavior?
Versions
- ROS Driver version: Universal_Robots_ROS_Driver 2.0.0
- URCaps Software version(s): External Control 1.05
Impact
Not having the the abstraction of user defined work- and tool frames severely reduces the usefulness of the Cartesian controllers in my opinion.
Issue details
Use Case and Setup
I wish to control the motion of the end effector in a user defined frame.
Project status at point of discovered
At first test
Steps to Reproduce
- Modify
test_move to include the lines
goal.trajectory.header.frame_id = "test_work_frame"
goal.trajectory.controlled_frame = "test_tool_frame"
- Set up transform broadcaster to ensure these frames exist
- Connect to robot (In my case URSim)
- Run
test_move and select one of the Cartesian controllers
- Repeat with the added lines commented out and observe no difference in the movement
Expected Behavior
I expected the inclusion of a work frame (frame_id) to shift the position of the targets.
Actual Behavior
No change regardless of definition of frame_id
Summary
According to this documentation, the work frame and tool frame can be set when sending a trajectory which is very handy. However, the included test_move script does not utilise this. Therefore I modified test_move to define these frames, but seemingly it has no impact. Instead, it seems that the control fully adheres to the frames (base and tip) defined in urXX_controllers.yaml. Furthermore,
pose_based_cartesian_traj_controllerandforward_cartesian_traj_controlleruse as tiptool0_controllerwhich does not follow the actual tcp.(EDIT: this was due to an error on my side)I am not sure if I am misusing or misunderstanding what these are supposed to do. Can you let me know if what i observe is expected behavior?
Versions
Impact
Not having the the abstraction of user defined work- and tool frames severely reduces the usefulness of the Cartesian controllers in my opinion.
Issue details
Use Case and Setup
I wish to control the motion of the end effector in a user defined frame.
Project status at point of discovered
At first test
Steps to Reproduce
test_moveto include the linestest_moveand select one of the Cartesian controllersExpected Behavior
I expected the inclusion of a work frame (frame_id) to shift the position of the targets.
Actual Behavior
No change regardless of definition of frame_id