From: Dan R <ni...@gm...> - 2019-01-28 18:02:40
|
Thanks Mark, In this case, would I also use the ompl::control::SatePropagator::steer method to generate the jump control? For instance, given a start state and an end state, steer would generate the parabolic path (or paths actually since there are multiple ways to jump between the same two points) that connect the two states? Then propagate could test each of these paths for collision? What should propagate do in the case of a collision? Thanks for your help, Dan On Mon, Jan 28, 2019 at 9:47 AM Mark Moll <mm...@ri...> wrote: > Hi Dan, > > My recommendation would be to create a ompl::control::StatePropagator > whose propagate function simply ignores the duration: given a state, a > control (e.g., jump direction), it would find the first point along the > parabolic trajectory that collides with an obstacle. If you plan to use > numerical integration, you should also check out the > ompl::control::ODESolver class. You can then use any of the planners in the > ompl::control namespace (ompl::control::RRT, ompl::control::EST, > ompl::control::PDST, ompl::control::KPIECE1, ompl::control::SST, …). > > Look at these demos: > Rigid body planning with controls > <http://ompl.kavrakilab.org/RigidBodyPlanningWithControls_8cpp_source.html> > [Python version] > <http://ompl.kavrakilab.org/RigidBodyPlanningWithControls_8py_source.html> > Rigid body planning with ODESolver and controls. > <http://ompl.kavrakilab.org/RigidBodyPlanningWithODESolverAndControls_8cpp_source.html> > [Python version] > <http://ompl.kavrakilab.org/RigidBodyPlanningWithODESolverAndControls_8py_source.html> > > > Best, > > Mark > > > On Jan 27, 2019, at 8:43 PM, Dan R <ni...@gm...> wrote: > > Hello, > > I am interested in running a PRM planner on a 3d space that consists of > various platforms which a point mass can jump between. Each edge between > states is defined as a parabolic trajectory (a jump basically). Would I > create a custom MotionValidator class which basically moves the object > along the trajectory between states and do collision detection in there? > > Also since this space is discontinuous (you can't stop in the middle of a > jump) which planners do I need to avoid? I know some algorithms attempt to > only travel some percentage of an edge and create new states along the way. > But this wouldn't be possible in a discontinuous space like this. > > Thanks, I'm a beginner. > > Dan > > > |