RigidBodyPlanningWithODESolverAndControls.cpp
50 // Kinematic car model object definition. This class does NOT use ODESolver to propagate the system.
61 void propagate(const ob::State *state, const oc::Control* control, const double duration, ob::State *result) const override
68 void EulerIntegration(const ob::State *start, const oc::Control *control, const double duration, ob::State *result) const
87 void ode(const ob::State *state, const oc::Control *control, std::valarray<double> &dstate) const
115 void KinematicCarODE (const oc::ODESolver::StateType& q, const oc::Control* control, oc::ODESolver::StateType& qdot)
130 void KinematicCarPostIntegration (const ob::State* /*state*/, const oc::Control* /*control*/, const double /*duration*/, ob::State *result)
134 SO2.enforceBounds(result->as<ob::SE2StateSpace::StateType>()->as<ob::SO2StateSpace::StateType>(1));
152 // return a value that is always true but uses the two variables we define, so we avoid compiler warnings
161 DemoControlSpace(const ob::StateSpacePtr &stateSpace) : oc::RealVectorControlSpace(stateSpace, 2)
203 auto odeSolver(std::make_shared<oc::ODEBasicSolver<>>(ss.getSpaceInformation(), &KinematicCarODE));
204 ss.setStatePropagator(oc::ODESolver::getStatePropagator(odeSolver, &KinematicCarPostIntegration));
A state space representing SO(2). The distance function and interpolation take into account angle wra...
Definition: SO2StateSpace.h:127
const T * as(unsigned int index) const
Cast a component of this instance to a desired type.
Definition: State.h:159
This namespace contains sampling based planning routines shared by both planning under geometric cons...
Definition: ConstrainedSpaceInformation.h:86
virtual void propagate(const base::State *state, const Control *control, double duration, base::State *result) const =0
Propagate from a state, given a control, for some specified amount of time (the amount of time can al...
void enforceBounds(State *state) const override
Normalize the value of the state to the interval [-Pi, Pi)
Definition: SO2StateSpace.cpp:80
Model the effect of controls on system states.
Definition: StatePropagator.h:125
ompl::base::State StateType
Define the type of state allocated by this space.
Definition: StateSpace.h:142
ompl::control::Control ControlType
Define the type of control allocated by this control space.
Definition: ControlSpace.h:131
Create the set of classes typically needed to solve a control problem.
Definition: SimpleSetup.h:126
A class to store the exit status of Planner::solve()
Definition: PlannerStatus.h:112
static StatePropagatorPtr getStatePropagator(ODESolverPtr solver, const PostPropagationEvent &postEvent=nullptr)
Retrieve a StatePropagator object that solves a system of ordinary differential equations defined by ...
Definition: ODESolver.h:191
ompl::base::CompoundState StateType
Define the type of state allocated by this state space.
Definition: StateSpace.h:641
This namespace contains sampling based planning routines used by planning under differential constrai...
Definition: Control.h:76
Space information containing necessary information for planning with controls. setup() needs to be ca...
Definition: SpaceInformation.h:134
A control space representing Rn.
Definition: RealVectorControlSpace.h:125
Basic solver for ordinary differential equations of the type q' = f(q, u), where q is the current sta...
Definition: ODESolver.h:263
The lower and upper bounds for an Rn space.
Definition: RealVectorBounds.h:111