Attention: Answers.ros.org is deprecated as of August the 11th, 2023. Please visit robotics.stackexchange.com to ask a new question. This site will remain online in read-only mode during the transition and into the foreseeable future. Selected questions and answers have been migrated, and redirects have been put in place to direct users to the corresponding questions on Robotics Stack Exchange. Additional details are available here.
Hello
I am trying to modify the implementation of RRT in ROS to adapt it for my problem. I am currently using Fuerte. But I am not able to find RRT.cpp anywhere in the ROS insallation in `/opt/ros/fuerte/` (but I could find RRT.h). I also tried the following:
find -iname '*RRT.cpp*'
but got no search result. Then I started looking into the file ompl_ros_planning_group.cpp
and found that the planner is being called on line #446:
bool solved = planner_->solve(request.motion_plan_request.allowed_planning_time.toSec());
I am unable to find this solve() function anywhere in the ROS installation. Can someone please help me with this.
I have also seen the ompl code available at ompl site. Where the solve() function was present in RRT.cpp file.
Thanks in advance!!!
Hm, actually you already have found out everything you need and @yanyangcv stated it again in his comment: The actual implementation of the RRT planner (and the other OMPL planners) resides within the OMPL. The arm_navigation stack only contains wrappers (see ompl_ros_interface) for them.
So, you either have to find a way to apply your changes in the planner configuration or pre/post-processing parts inside the ompl_ros_interface or you download the OMPL code, link to it and apply your desired changes there.
I did both in the past and it's not too hard to get your head into it. Especially, the OMPL code is well written and documented. The included demos are interesting as well and I used them for testing my changes to the planners.
The implementation of RRT is within OMPL. so you need to dig into the source code of OMPL.
Side note: Please edit your question in order to _not_ mark everything as code. It's a bit hard to read. :-)