I directly took the GeometricCarPlanning.cpp demo, and made the following changes:
- changed the planner to RRTstar
- changed the minimum turning radius on the car to 2.0 (this bug has also occurred with rho=1.5)
I then ran the planner on the "easy" scenario with the Dubins state space. Quite frequently (although not always, due to randomness), the application crashes at line 384 of RRTstar.cpp, in the updateChildCosts() method. This is what the error looks like from GDB:
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00007fff5f3ffff8 0x00000001003827c1 in ompl::geometric::RRTstar::updateChildCosts (this=0x10200ae00, m=0x101c02240, delta=-1.7763568394002505e-15) at /Users/luis/code/ompl-0.12.1-Source/src/ompl/contrib/rrt_star/src/RRTstar.cpp:384 384 for (size_t i = 0; i < m->children.size(); ++i)
When I try to print a GDB backtrace from this line, it repeatedly and infinitely outputs this same function (updateChildCosts()), indicating that the function is infinitely recursing. This seems to indicate that there is a cycle in the RRT* graph.