LTLSpaceInformation.cpp
17 static ob::StateSpacePtr extendStateSpace(const ob::StateSpacePtr &lowSpace, const oc::ProductGraphPtr &prod);
20 oc::LTLSpaceInformation::LTLSpaceInformation(const oc::SpaceInformationPtr &si, const oc::ProductGraphPtr &prod)
21 : oc::SpaceInformation(extendStateSpace(si->getStateSpace(), prod), si->getControlSpace()), prod_(prod), lowSpace_(si)
41 setMinMaxControlDuration(lowSpace_->getMinControlDuration(), lowSpace_->getMaxControlDuration());
50 stateSpace_->as<ob::CompoundStateSpace>()->getSubspace(LOW_LEVEL)->copyState(cs[LOW_LEVEL], low);
71 return prod_->getState(cs[REGION]->as<DiscreteState>()->value, cs[COSAFE]->as<DiscreteState>()->value,
80 LTLStatePropagator(oc::LTLSpaceInformation *ltlsi, oc::ProductGraphPtr prod, oc::StatePropagatorPtr lowProp)
81 : oc::StatePropagator(ltlsi), prod_(std::move(prod)), lowProp_(std::move(lowProp)), ltlsi_(ltlsi)
115 setStatePropagator(std::make_shared<LTLStatePropagator>(this, prod_, oldsi->getStatePropagator()));
125 : ob::StateValidityChecker(ltlsi), prod_(std::move(prod)), lowChecker_(std::move(lowChecker)), ltlsi_(ltlsi)
131 return ltlsi_->getProdGraphState(s)->isValid() && lowChecker_->isValid(ltlsi_->getLowLevelState(s));
142 setStateValidityChecker(std::make_shared<LTLStateValidityChecker>(this, prod_, oldsi->getStateValidityChecker()));
147 ob::StateSpacePtr extendStateSpace(const ob::StateSpacePtr &lowSpace, const oc::ProductGraphPtr &prod)
151 auto regionSpace(std::make_shared<ob::DiscreteStateSpace>(0, prod->getDecomp()->getNumRegions() - 1));
This namespace contains sampling based planning routines used by planning under differential constrai...
Definition: Control.h:44
A shared pointer wrapper for ompl::base::StateSpace.
STL namespace.
Model the effect of controls on system states.
Definition: StatePropagator.h:61
void copyState(State *destination, const State *source) const override
Copy a state to another. The memory of source and destination should NOT overlap. ...
A shared pointer wrapper for ompl::base::StateValidityChecker.
ompl::base::State StateType
Define the type of state allocated by this space.
Definition: StateSpace.h:78
A space to allow the composition of state spaces.
Definition: StateSpace.h:573
Abstract definition for a class checking the validity of states. The implementation of this class mus...
Definition: StateValidityChecker.h:90
int getCosafeState() const
Returns this State's co-safe Automaton state component.
Definition: ProductGraph.cpp:93
A State of a ProductGraph represents a vertex in the graph-based Cartesian product represented by the...
Definition: ProductGraph.h:83
void setup() override
Perform additional setup tasks (run once, before use). If state validity checking resolution has not ...
Definition: LTLSpaceInformation.cpp:32
This namespace contains sampling based planning routines shared by both planning under geometric cons...
Definition: Cost.h:44
A shared pointer wrapper for ompl::control::SpaceInformation.
A shared pointer wrapper for ompl::control::ProductGraph.
A shared pointer wrapper for ompl::control::Automaton.
const T * as(unsigned int index) const
Cast a component of this instance to a desired type.
Definition: State.h:95
int getSafeState() const
Returns this State's safe Automaton state component.
Definition: ProductGraph.cpp:98
int getDecompRegion() const
Returns this State's PropositionalDecomposition region component.
Definition: ProductGraph.cpp:88