ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Planning in turned static frame fails

asked 2021-12-02 06:25:35 -0500

nicob gravatar image

For an application I am planning in different static frames (tf2). On the first screenshot you see an example frame, named pm_slot2. By using the command move_group.set_pose_reference_frame('pm_slot2'), I can describe the pose target in this frame and planning works as expected. Target 0,0,0 is right in the center of the pm_slot2 frame.

image description

But if I turn the frame like in the next screenshot, the planning fails. I am 100% sure, the pose is possible for the robot (like in first screenshot but tool turned 45 degrees).

image description

For the orientation of the pose_target in quaternions I am using both times 0,0,0,1 (qX, qY, qZ, qW).

Whats going wrong? Any ideas? Thanks in advance!

nico

edit retag flag offensive close merge delete

Comments

Hello @nicobo,

I don't know if I have understood your question is correct or not, but I think from the first image your robot facing position is there in the pm_smot2 direction then it is identifying and working perfectly and if your robot is facing in opposite direction then you are not able to plan path. Is this your Question?

Ranjit Kathiriya gravatar image Ranjit Kathiriya  ( 2021-12-02 08:09:21 -0500 )edit

The position of the pm_slot2 frame is in both screenshots the same, but the orientation is different. In the second screenshot the frame is turned 45 degrees along z-axis. The startpoint of the robot for planning is in both examples the same on the right side like shown in second screenshot.

The planning fails if the frame is turnend along the z-axis. I think there is a problem with the definition of the orientation of the target pose in the pm_slot2 frame.

nicob gravatar image nicob  ( 2021-12-02 08:17:24 -0500 )edit

Can you please! share your transformation code? and can you tell me why the arrow link is starting from 2 Joint?

Ranjit Kathiriya gravatar image Ranjit Kathiriya  ( 2021-12-02 08:20:32 -0500 )edit

[...] and can you tell me why the arrow link is starting from 2 Joint?

Sorry, I do not fully understand this question. The position and orientation of pm_slot2 frame depends on the base-frame. The base frame is the world frame in the fanuc world. I think the yellow line shows this dependence.

I do no transformation. I just set the pose reference frame to pm_slot2 and define a pose-msg (not a poseStamped-msg) with the coordinates in the pm_slot2 frame (0,0,0) (x,y,z) / (0,0,0,1) (quaternions). For the position (x,y,z) this is correct, but I think the orientation (quaternions) is wrong.

Thank you!

nicob gravatar image nicob  ( 2021-12-02 08:35:44 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-12-09 01:04:02 -0500

nicob gravatar image

Finally, I found the solution. I had to transform my target to the pm_slot2 frame.

It was just one line of code: target = tubehandling.tfl.transformPose('/base', target)

edit flag offensive delete link more

Comments

can you tell me why the arrow link is starting from 2 Joint?

Yes, I asked this question because of your link line starting for joint 2 instead of the base. That's good you found a solution.

Ranjit Kathiriya gravatar image Ranjit Kathiriya  ( 2021-12-09 01:45:34 -0500 )edit

I am working with the FANUC models from ROS industrial package. For FANUC robots base is the origin of the "world coordinatesystem" (in the real robot, too). The hardware base of the robot is defined by the base_link TF.

nicob gravatar image nicob  ( 2021-12-14 06:47:40 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2021-12-02 06:25:35 -0500

Seen: 81 times

Last updated: Dec 09 '21