Ask Your Question
0

Moveit-Problem with RRT*-approximate solutions

asked 2017-10-06 04:20:47 -0500

updated 2017-10-10 02:15:06 -0500

I am facing a strange issue while planning using RRTstarkConfigDefault planner in moveit. Sometimes,while planning for a goal target the planner seems to find an approximate solution according to logs.It also says that solution was found by one or more thread in the specified time.But then,no execution is attempted.

Can soemone please explain what approximate solution actually is and why can't it be executed.Also,Is there an option to force moveit to execute the approximate solution?

My setup is a UR5 mounted on a pedestal ,and the environment has collision objects in it. Ubuntu 14.04 ROS Indigo moveit.

Attaching moveit logs for the same below:-

[ INFO] [1507280698.348545594]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1507280698.348666202]: Planning attempt 1 of at most 1
[ERROR] [1507280698.348754174]: Found empty JointState message
[ERROR] [1507280698.348780671]: Found empty JointState message
[ERROR] [1507280698.349093940]: Found empty JointState message
[ERROR] [1507280698.350262806]: Found empty JointState message
[ INFO] [1507280698.350590933]: No optimization objective specified, defaulting to PathLengthOptimizationObjective
[ INFO] [1507280698.350630246]: Planner configuration 'manipulator[RRTstarkConfigDefault]' will use planner 'geometric::RRTstar'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1507280698.350689544]: manipulator[RRTstarkConfigDefault]: problem definition is not set, deferring setup completion...
[ INFO] [1507280698.350838742]: manipulator[RRTstarkConfigDefault]: problem definition is not set, deferring setup completion...
[ INFO] [1507280698.350862872]: manipulator[RRTstarkConfigDefault]: problem definition is not set, deferring setup completion...
[ INFO] [1507280698.350885261]: manipulator[RRTstarkConfigDefault]: problem definition is not set, deferring setup completion...
[ INFO] [1507280698.350907908]: manipulator[RRTstarkConfigDefault]: problem definition is not set, deferring setup completion...
[ INFO] [1507280698.351071265]: manipulator[RRTstarkConfigDefault]: Starting planning with 1 states already in datastructure
[ INFO] [1507280698.351086324]: manipulator[RRTstarkConfigDefault]: Initial k-nearest value of 3
[ INFO] [1507280698.354906766]: manipulator[RRTstarkConfigDefault]: Starting planning with 1 states already in datastructure
[ INFO] [1507280698.354987262]: manipulator[RRTstarkConfigDefault]: Initial k-nearest value of 3
[ INFO] [1507280698.357250876]: manipulator[RRTstarkConfigDefault]: Starting planning with 1 states already in datastructure
[ INFO] [1507280698.357358566]: manipulator[RRTstarkConfigDefault]: Initial k-nearest value of 3
[ INFO] [1507280698.360848714]: manipulator[RRTstarkConfigDefault]: Starting planning with 1 states already in datastructure
[ INFO] [1507280698.360891911]: manipulator[RRTstarkConfigDefault]: Initial k-nearest value of 3
[ INFO] [1507280703.350975734]: ProblemDefinition: Adding approximate solution from planner manipulator[RRTstarkConfigDefault]
[ INFO] [1507280703.351005586]: manipulator[RRTstarkConfigDefault]: Created 82 new states. Checked 912 rewire options. 0 goal states in tree.
[ INFO] [1507280703.356613843]: ProblemDefinition: Adding approximate solution from planner manipulator[RRTstarkConfigDefault]
[ INFO] [1507280703.356692535]: manipulator[RRTstarkConfigDefault]: Created 144 new states. Checked 1839 rewire options. 0 goal states in tree.
[ INFO] [1507280703.360130203]: ProblemDefinition: Adding approximate solution from planner manipulator[RRTstarkConfigDefault]
[ INFO] [1507280703.360175768]: manipulator[RRTstarkConfigDefault]: Created 130 new states. Checked 1618 rewire options. 0 goal states in tree.
[ INFO] [1507280703.360449584]: ProblemDefinition: Adding approximate solution from planner manipulator[RRTstarkConfigDefault]
[ INFO] [1507280703.360471566]: manipulator[RRTstarkConfigDefault]: Created 85 new states. Checked 954 rewire options. 0 goal states in tree.
[ INFO] [1507280703.360524287]: ProblemDefinition: Adding approximate solution from planner PathHybridization
[ INFO] [1507280703.360546064]: ParallelPlan::solve(): Solution found by one or more threads in 5.009625 seconds ...
(more)
edit retag flag offensive close merge delete

Comments

1

Please do not use images to show us console text. Copy-paste the text from the console into your question, select it, and press the Preformatted Text button (the one with 101010 on it).

gvdhoorn gravatar imagegvdhoorn ( 2017-10-06 05:16:57 -0500 )edit

cool..!! My bad.!!

Anirudh_s gravatar imageAnirudh_s ( 2017-10-06 05:55:42 -0500 )edit

I have not worked with RRTstar myself, because we noticed a latent segfault with it every so often (see https://github.com/ros-planning/movei... ) What kind of goal do you specify? I'm confused by 0 goal states in tree. If the system doesn't know where to go, how can it find a solution?

v4hn gravatar imagev4hn ( 2017-10-08 07:54:54 -0500 )edit

I specified the goal using RVIZ in the above case i.e Motion Planning->Select Goal sate->random valid ->update.

However,I have also noticed the same behaviour when i specified goal using move_group.setJointValueTarget() , and the joint values given were reachable,within limits and collision free.

Anirudh_s gravatar imageAnirudh_s ( 2017-10-09 02:12:08 -0500 )edit

Regarding the segfault problem in kinetic,I observed the same too. My current system run indigo and I have replaced RRT* with PRM* for the time being,both of them being asymptotically optimal,haven't noticed 0 goal state and approximate solution problem with PRM*.

Anirudh_s gravatar imageAnirudh_s ( 2017-10-10 01:20:41 -0500 )edit

@Anirudh_s: Did you find a solution for this behavior? I have the same issue with RRT*, I am using it with baxter simulator, ubuntu 14.04 ROS Indigo also

ghanimmukhtar gravatar imageghanimmukhtar ( 2017-11-27 02:43:18 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-04-27 17:10:39 -0500

Can someone please explain what approximate solution actually is

An approximate solution is a path that gets closer (in terms of the joint state space) to the goal, but still doesn't reach it. The path is still feasible/not in collision, but it doesn't actually get to the goal, it will just stop somewhere in the middle.

why can't it be executed

Just a guess, but there's no good reason to try to execute an approximate motion. Say I asked a robot to pick up a cup of water. Then it finds an approximate motion that stops while the gripper still 5 feet away from the robot. As a user, I would be very confused what it was doing and why didn't actually pickup the glass.

As far as why you are only finding approximate solutions, this is probably because you are only running RRT* for 5 seconds: depending on the complexity of your environment this might not be enough. Try running for longer (in Rviz there is a parameter you can use to set the planning time).

Is there an option to force moveit to execute the approximate solution?

Given that I found this question by trying to google for this option, I would guess not. :) After actually looking at the source code, in MoveIt!, I can confirm that there is currently no easy to execute an approximate solution.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2017-10-06 04:20:47 -0500

Seen: 512 times

Last updated: Apr 27 '18