ompl / ompl

The Open Motion Planning Library (OMPL)
https://ompl.kavrakilab.org
Other
1.48k stars 590 forks source link

How can I get the whole tree or all the information generated by the planners #822

Closed hjw-1014 closed 3 years ago

hjw-1014 commented 3 years ago

Hi, I have a question but I'm so sure where can I ask for help, so I open an issue here, if it's not appropriate I will close then.

For now, I useRRTstar in MoveIt for my robot (TIAGo++, which is a mobile manipulator) for base navigation. I wanna get the whole tree or all the information generated by the planners (In my case it's RRTstar), and then I will use this information for other random start states and generate a vector field based on the RRTstar tree.

I do notice there is a function Show Exploration in OMPL gui to show the positions of all the states generated by the planner, but I don't find any solutions that I can get the whole information if I just use MoveIt with OMPL plugin, cos I created a moveit_config for my robot, and modify the move_froup_python_interface_tutorial.py to plan.

So in my python file how can I get these paths or nodes in a matrix or .json, .csv, or in excel ?

My Env: Ubuntu 18.04 ROS melodic

Thanks in advance

zkingston commented 3 years ago

To extract the planner graph (for any motion planner), use Planner::getPlannerData() to fill out an instance of PlannerData. There is a demo of how to do this in Python.

hjw-1014 commented 3 years ago

To extract the planner graph (for any motion planner), use Planner::getPlannerData() to fill out an instance of PlannerData. There is a demo of how to do this in Python.

Thank you for your quick answer. But after I checked the function and demo, I'm still a little confused about how exactly to use this function in the MoveIt python script. Could give a hint or it'a only a question about MoveIt.

Add: If I don' install OMPL library from source, but in ROS using sudo apt-get install ros-melodic-ompl, how can I also use the function as you mentioned?

Thanks.