9 #ifndef CReactiveNavigationSystem3D_H 10 #define CReactiveNavigationSystem3D_H 24 size_t size()
const {
return polygons.size(); }
27 polygons.resize(num_levels);
28 radius.resize(num_levels);
29 heights.resize(num_levels);
39 const std::vector<double> &
getHeights()
const {
return heights; }
79 bool enableConsoleOutput =
true,
80 bool enableLogFile =
false,
94 ASSERT_(!m_ptgmultilevel.empty() && !m_ptgmultilevel[i].PTGs.empty())
95 return m_ptgmultilevel[i].PTGs[0];
98 ASSERT_(!m_ptgmultilevel.empty() && !m_ptgmultilevel[i].PTGs.empty())
99 return m_ptgmultilevel[i].PTGs[0];
113 std::vector<CParameterizedTrajectoryGenerator*>
PTGs;
143 void STEP3_WSpaceToTPSpace(const
size_t ptg_idx,
std::vector<
double> &out_TPObstacles,
mrpt::nav::
ClearanceDiagram &out_clearance, const
mrpt::math::TPose2D &rel_pose_PTG_origin_wrt_sense, const
bool eval_clearance)
MRPT_OVERRIDE;
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
void setHeight(size_t level, double h)
TCandidateMovementPTG holonomicmov
void resize(size_t num_levels)
mrpt::maps::CSimplePointsMap m_WS_Obstacles_unsorted
The unsorted set of obstacles from the sensors.
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
A 3D robot shape stored as a "sliced" stack of 2D polygons, used for CReactiveNavigationSystem3D Depe...
A set of PTGs of the same type, one per "height level".
TRobotShape m_robotShape
The robot 3D shape model.
std::vector< CParameterizedTrajectoryGenerator * > PTGs
const mrpt::math::CPolygon & polygon(size_t level) const
A wrapper of a TPolygon2D class, implementing CSerializable.
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
Clearance information for one particular PTG and one set of obstacles.
A class for storing, saving and loading a reactive navigation log record for the CReactiveNavigationS...
void setRadius(size_t level, double r)
This class allows loading and storing values and vectors of different types from a configuration text...
This is the base class for any user-defined PTG.
std::vector< double > radius
std::vector< TPTGmultilevel > m_ptgmultilevel
The set of PTG-transformations to be used: indices are [ptg_index][height_index]. ...
Base class for reactive navigator systems based on TP-Space, with an arbitrary holonomic reactive met...
GLsizei const GLchar ** string
virtual CParameterizedTrajectoryGenerator * getPTG(size_t i) MRPT_OVERRIDE
Gets the i'th PTG.
const std::vector< double > & getHeights() const
virtual const CParameterizedTrajectoryGenerator * getPTG(size_t i) const MRPT_OVERRIDE
Gets the i'th PTG.
See base class CAbstractPTGBasedReactive for a description and instructions of use.
std::vector< mrpt::math::CPolygon > polygons
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
GLdouble GLdouble GLdouble r
std::vector< mrpt::maps::CSimplePointsMap > m_WS_Obstacles_inlevels
One point cloud per 2.5D robot-shape-slice, coordinates relative to the robot local frame...
std::vector< double > heights
virtual size_t getPTG_count() const MRPT_OVERRIDE
Returns the number of different PTGs that have been setup.
mrpt::math::TPoint2D TP_Target
const double & getRadius(size_t level) const
mrpt::math::CPolygon & polygon(size_t level)
The pure virtual interface between a real or simulated robot and any CAbstractNavigator-derived class...
const double & getHeight(size_t level) const
Stores a candidate movement in TP-Space-based navigation.