13 #ifndef OMPLAPP_SE2_RIGID_BODY_PLANNING_
14 #define OMPLAPP_SE2_RIGID_BODY_PLANNING_
16 #include <ompl/base/spaces/SE2StateSpace.h>
18 #include "omplapp/apps/AppBase.h"
27 class SE2RigidBodyPlanning :
public AppBase<AppType::GEOMETRIC>
30 SE2RigidBodyPlanning() : AppBase<AppType::GEOMETRIC>(std::make_shared<base::SE2StateSpace>(), Motion_2D)
32 name_ =
"Rigid body planning (2D)";
34 template <
typename CarStateSpacePtr>
35 explicit SE2RigidBodyPlanning(CarStateSpacePtr carstatespace)
36 : AppBase<AppType::GEOMETRIC>(carstatespace, Motion_2D)
38 name_ =
"Geometric car-like planning (2D)";
41 ~SE2RigidBodyPlanning()
override =
default;
43 bool isSelfCollisionEnabled()
const override
55 const base::StateSpacePtr& getGeometricComponentStateSpace()
const override
60 unsigned int getRobotCount()
const override
67 const base::State* getGeometricComponentStateInternal(
const base::State* state,
unsigned int )
const override