move_group_interface and pose_goal

asked 2018-05-28 12:44:00 -0500

Gwydyon gravatar image

Hey guys, I'm writing my Bachelor-thesis, have 4 weeks to go and I have a serious problem. I run a 5DOF robotarm. Right now I'm trying to implement a move_group_interface program to send cartesian goals to the arm to pick up tings later. The controller is workin and the robot follows random paths perfectly. Now the problem is that I'm unable to generate valid pose goals.

I'll tell you what works and what I've tried till now.

1) RVIZ: Random valid target => motion_planner finds a path and the controller executes without any problems. 2) move_group_interface => generate randomPoseGoal => works like RVIZ, so no problem (while studying the sourcecode I realized that it just generates the pose_goal by generating a joint_space_goal (maybe something like that would be my solution?!) 3) generate randomJointSpaceGoal => works perfect as well 4) reading the robotPose after reaching a random goal => extracting the necessary information (like pose.x, pose.y, pose.z, orientation.x, orientation.y, orientation.z, orientation.w) => build a poseGoal by myself with these information => trajectory is calculated and executed 5) using getCurrentRPY() after reaching a randomGoal=> gernerate a poseGoal with the obtained position and orientation and creating the orientation via tf::generateQuaternionMsgFromRollPitchYaw works as well.

The positions I use are reachable and the orientation should.

When I change just a little bit on working data MoveIt! wont find a plan.

Example: "smallarm_hw_motion_planner 0.287307 -0.0883872 0.298863 -2.244 0.854 -2.411" works fine

"smallarm_hw_motion_planner 0.287307 -0.0883872 0.298863 -2.244 0.854 -2.311" no motion_plan found (the 3 in the last argument)

so where is my problem? How do I transform the coordinate systems? My plan is to send something like this to the move_group_interface to move the arm.

rosrun <package> <move_group_if_node> pos.x pos.y pos.z angle.r angle.p angle.y

at minimum the correct position. later then by calling a function..

I hope somebody can help me

greetings Chris

edit retag flag offensive close merge delete