Robotics StackExchange | Archived questions

Planning an arm-motion using ompl_planning and trajectory_filter

Dear community,

I am working on the cob3 robot arm using motion-planning from the cobarmnavigation stack.

It is modified successfully so far to use it on the real robot arm. To detect collision objects the arm uses a TOF camera publishing point clouds.

After self filtering the point cloud with the robot model the arm is able to detect obstacles and avoid collisions.

But there are sometimes problems with the trajectory_filter if i want to move the arm from one collision-free position to another with an obstacle in between using OMPL planner.

In a few cases it is possible for the arm to find a path and move it collision-free.
But mostly the OMPL planner finds a solution and the trajectory_filter declare the trajectory invalid (later on some example output).
Then the OMPL planner starts over to look for an other simple solution and so on until there is maybe a valid trajectory that the arm will move, if not there is an output with the Warning Planner trajectory collides and the planning ends.

Thats the output to screen if there is a problem with the trajectoryfilter:


( INFO) : Motion planning succeeded
( INFO) : Done planning. Transitioning to control
( INFO) : Got trajectory with 108 points
( INFO) : Trajectory filter took 4.006965 seconds
( INFO) : Collision between body in namespace points and link arm
5link
(ERROR) : Trajectory invalid
( WARN) : Filtered trajectory collides
(ERROR) : Move arm will abort this goal. Will replan
( INFO) : Displaying move arm joint goal.
( INFO) : Constraint violated:: Joint name:arm
1joint, value: 3.004306, Constraint: 0.210000, toleranceabove: 0.400000, tolerance_below: 0.400000
( WARN) : State violates goal constraints.

After several outputs like that it is possible that there is a valid trajectory and the arm moves collision-free to its goal. That looks like this:


( INFO): Motion planning succeeded
( INFO): Done planning. Transitioning to control
( INFO): Got trajectory with 29 points
( INFO): Trajectory filter took 4.005894 seconds
( INFO): Trajectory validity check was successful
( INFO): Sending trajectory with 28 points and timestamp: 1308219869.357828
( INFO): Joint: 0 name: arm1joint
( INFO): Joint: 1 name: arm2joint
( INFO): Joint: 2 name: arm3joint
( INFO): Joint: 3 name: arm4joint
( INFO): Joint: 4 name: arm5joint
( INFO): Joint: 5 name: arm6joint
( INFO): Joint: 6 name: arm7joint
( INFO): Reached goal

But the OMPL planner is always successful.

My Configs:

Questions:

If you have some question or the problem is not described well enough let me know.
I'd be pleased to hear some answers, if someone have a possible solution or just a suggestion.

Regards Witalij

Asked by Witalij Siebert on 2011-06-15 23:46:21 UTC

Comments

Its often the resolution of the collision checking that is the problem. I would suggest waiting for e-turtle which will bring out a set of tools that makes debugging this kind of thing easier. More information is here: http://answers.ros.org/question/1552/arm_navigation_msgs

Asked by Sachin Chitta on 2011-07-14 05:24:24 UTC

Hello, Sachin. I'm using ROS diamondback.

Asked by Witalij Siebert on 2011-06-29 21:23:06 UTC

Are you using cturtle or diamondback? The planning components in cturtle have been much improved with the new ompl library and the ompl_ros_interface in diamondback.

Asked by Sachin Chitta on 2011-06-28 12:47:53 UTC

Answers