Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
ForwardPropagation.h
Go to the documentation of this file.
1#ifndef _FORWARD_PROPAGATION_
2#define _FORWARD_PROPAGATION_
3
4#pragma once
5#include <string>
6
11};
12
14 switch (t) {
16 return "KinematicCar";
18 return "KinematicSingleTruck";
19 default:
20 return "Unknown";
21 }
22}
23
24// Define how we project a state
25class KinematicSingleTrackProjectionEvaluator : public ob::ProjectionEvaluator {
26 public:
27 KinematicSingleTrackProjectionEvaluator(const ob::StateSpace* space)
28 : ob::ProjectionEvaluator(space) {}
29
30 // returning only Cartesian positions
31 unsigned int getDimension() const override { return 2; }
32
33 void project(const ob::State* state,
34 Eigen::Ref<Eigen::VectorXd> projection) const override {
35 const auto* compState = state->as<ob::CompoundStateSpace::StateType>();
36 const auto* se2state = compState->as<ob::SE2StateSpace::StateType>(0);
37 projection[0] = se2state->getX();
38 projection[1] = se2state->getY();
39 }
40};
41
42} // namespace ForwardPropagation
43#endif /* _FORWARD_PROPAGATION_ */
ob::SE2StateSpace::StateType State
Definition: Primitives.h:12
KinematicSingleTrackProjectionEvaluator(const ob::StateSpace *space)
Definition: ForwardPropagation.h:27
unsigned int getDimension() const override
Definition: ForwardPropagation.h:31
void project(const ob::State *state, Eigen::Ref< Eigen::VectorXd > projection) const override
Definition: ForwardPropagation.h:33
Definition: ForwardPropagation.h:7
std::string to_string(ForwardPropagation::ForwardPropagationType t)
Definition: ForwardPropagation.h:13
ForwardPropagationType
Definition: ForwardPropagation.h:8
@ FORWARD_PROPAGATION_TYPE_KINEMATIC_SINGLE_TRACK
Definition: ForwardPropagation.h:10
@ FORWARD_PROPAGATION_TYPE_KINEMATIC_CAR
Definition: ForwardPropagation.h:9