Loading...
Searching...
No Matches
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
115void KinematicCarODE (const oc::ODESolver::StateType& q, const oc::Control* control, oc::ODESolver::StateType& qdot)
130void 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));
const T * as(unsigned int index) const
Cast a component of this instance to a desired type.
Definition State.h:95
The lower and upper bounds for an Rn space.
Definition RealVectorBounds.h:48
The definition of a state in Rn
Definition RealVectorStateSpace.h:78
A state space representing SO(2). The distance function and interpolation take into account angle wra...
Definition SO2StateSpace.h:64
void enforceBounds(State *state) const override
Normalize the value of the state to the interval [-Pi, Pi)
Definition SO2StateSpace.cpp:80
void setStateValidityChecker(const StateValidityCheckerPtr &svc)
Set the instance of the state validity checker to use. Parallel implementations of planners assume th...
Definition SpaceInformation.h:146
ompl::base::State StateType
Define the type of state allocated by this space.
Definition StateSpace.h:78
ompl::control::Control ControlType
Define the type of control allocated by this control space.
Definition ControlSpace.h:67
Basic solver for ordinary differential equations of the type q' = f(q, u), where q is the current sta...
Definition ODESolver.h:200
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:127
The definition of a control in Rn
Definition RealVectorControlSpace.h:66
A control space representing Rn.
Definition RealVectorControlSpace.h:62
Create the set of classes typically needed to solve a control problem.
Definition SimpleSetup.h:63
Space information containing necessary information for planning with controls. setup() needs to be ca...
Definition SpaceInformation.h:71
Model the effect of controls on system states.
Definition StatePropagator.h:62
This namespace contains sampling based planning routines shared by both planning under geometric cons...
Definition ConstrainedSpaceInformation.h:55
This namespace contains sampling based planning routines used by planning under differential constrai...
Definition Control.h:45
A class to store the exit status of Planner::solve()
Definition PlannerStatus.h:49