27     : robotPoseLocalization(0, 0, 0),
    28       robotPoseOdometry(0, 0, 0),
    29       relPoseSense(0, 0, 0),
    30       relPoseVelCmd(0, 0, 0),
    31       WS_targets_relative(),
    33       cur_vel_local(0, 0, 0),
    35       rel_cur_pose_wrt_last_vel_cmd_NOP(0, 0, 0),
    36       rel_pose_PTG_origin_wrt_sense_NOP(0, 0, 0)
    50     for (i = 0; i < n; i++)
    54         uint32_t m = 
infoPerPTG[i].TP_Obstacles.size();
    58                 (
const void*)&(*
infoPerPTG[i].TP_Obstacles.begin()),
    74         const bool there_is_ptg_data = 
infoPerPTG[i].ptg ? true : 
false;
    75         out << there_is_ptg_data;
   175             for (i = 0; i < n; i++)
   182                 ipp.TP_Obstacles.resize(m);
   186                 ipp.TP_Targets.clear();
   191                         in >> ipp.TP_Targets;
   197                         ipp.TP_Targets.push_back(trg);
   204                     ipp.TP_Targets.emplace_back(pos.x(), pos.y());
   213                     in >> ipp.timeForTPObsTransformation >>
   214                         ipp.timeForHolonomicMethod;
   215                     in >> ipp.desiredDirection >> ipp.desiredSpeed >>
   221                         ipp.timeForTPObsTransformation);
   223                         ipp.timeForHolonomicMethod);
   228                 if (version >= 21 && version < 23)
   230                     double evaluation_org, evaluation_priority;
   231                     in >> evaluation_org >> evaluation_priority;
   240                     bool there_is_ptg_data;
   241                     in >> there_is_ptg_data;
   242                     if (there_is_ptg_data)
   243                         ipp.ptg = std::dynamic_pointer_cast<
   251                         std::vector<std::map<double, double>> raw_clearances;
   252                         in >> raw_clearances;
   253                         ipp.clearance.resize(
   254                             raw_clearances.size(), raw_clearances.size());
   255                         for (
size_t k = 0; k < raw_clearances.size(); k++)
   256                             ipp.clearance.get_path_clearance_decimated(k) =
   261                         ipp.clearance.readFromStream(in);
   266                     ipp.clearance.clear();
   283                 in >> robotOdometryPose;
   325                         crel_pose_PTG_origin_wrt_sense_NOP;
   326                     in >> crel_cur_pose_wrt_last_vel_cmd_NOP >>
   327                         crel_pose_PTG_origin_wrt_sense_NOP;
   329                         crel_cur_pose_wrt_last_vel_cmd_NOP.
asTPose();
   331                         crel_pose_PTG_origin_wrt_sense_NOP.asTPose();
   338             if (version >= 17 && version < 24)
   355                     std::vector<double> vel;
   363                     for (
size_t k = 0; k < 
cmd_vel->getVelCmdLength(); k++)
   364                         cmd_vel->setVelCmdElement(i, vel[k]);
   373                 cmd_vel->setVelCmdElement(0, v);
   374                 cmd_vel->setVelCmdElement(0, w);
   383                 values[
"executionTime"] = old_exec_time;
   421                     float actual_v, actual_w;
   422                     in >> actual_v >> actual_w;
   433             if (version < 13 && version > 1)
   435                 float old_estim_period;
   436                 in >> old_estim_period;
   437                 values[
"estimatedExecutionPeriod"] = old_estim_period;
   452                         for (
unsigned int j = 0; j < n; j++)
   475                     for (i = 0; i < n; i++) in >> dummy;
   487                     int32_t navigatorBehavior;  
   488                     in >> navigatorBehavior;
   494                     in >> doorCrossing_P1 >> doorCrossing_P2;
   498             if (version > 6 && version < 13)
   514             if (version >= 12 && version < 15)
   516                 std::vector<std::vector<double>> dummy_cmd_vel_filterings;
   517                 in >> dummy_cmd_vel_filterings;
   539                     in >> crelPoseSense >> crelPoseVelCmd;
 void readFromStream(mrpt::serialization::CArchive &in)
 
mrpt::math::TPose2D rel_cur_pose_wrt_last_vel_cmd_NOP
 
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive. 
 
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object. 
 
int32_t nSelectedPTG
The selected PTG. 
 
TPoint2D_< double > TPoint2D
Lightweight 2D point. 
 
std::vector< mrpt::math::TPose2D > WS_targets_relative
Relative poses (wrt to robotPoseLocalization) for. 
 
mrpt::math::CVectorFloat robotShape_y
 
mrpt::math::TTwist2D cur_vel_local
The actual robot velocities in local (robot) coordinates, as read from sensors, in "m/sec" and "rad/s...
 
Template for column vectors of dynamic size, compatible with Eigen. 
 
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive. 
 
std::string std::string format(std::string_view fmt, ARGS &&... args)
 
std::map< std::string, mrpt::system::TTimeStamp > timestamps
Known values: 
 
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
To be added to all CSerializable-classes implementation files. 
 
mrpt::math::TPose2D rel_pose_PTG_origin_wrt_sense_NOP
 
mrpt::math::TPose2D robotPoseOdometry
 
size_type size() const
Get a 2-vector with [NROWS NCOLS] (as in MATLAB command size(x)) 
 
mrpt::math::TPose2D relPoseSense
 
uint32_t nPTGs
The number of PTGS: 
 
A class for storing, saving and loading a reactive navigation log record for the CReactiveNavigationS...
 
mrpt::math::CVectorFloat robotShape_x
The robot shape in WS. 
 
mrpt::math::TPose2D asTPose() const
 
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations. 
 
2D twist: 2D velocity vector (vx,vy) + planar angular velocity (omega) 
 
mrpt::Clock::time_point TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
 
mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState ptg_last_navDynState
 
This is the base class for any user-defined PTG. 
 
mrpt::math::TPose2D robotPoseLocalization
The robot pose (from odometry and from the localization/SLAM system). 
 
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel
The final motion command sent to robot, in "m/sec" and "rad/sec". 
 
void ReadAsAndCastTo(CAST_TO_TYPE &read_here)
Read a value from a stream stored in a type different of the target variable, making the conversion v...
 
mrpt::math::TTwist2D curVelLocal
Current vehicle velocity (local frame of reference) 
 
int16_t ptg_index_NOP
Negative means no NOP mode evaluation, so the rest of "NOP variables" should be ignored. 
 
mrpt::math::TPose2D relTarget
Current relative target location. 
 
mrpt::maps::CSimplePointsMap WS_Obstacles_original
 
std::map< std::string, double > values
Known values: 
 
A class used to store a 2D point. 
 
void writeToStream(mrpt::serialization::CArchive &out) const
 
Virtual base class for "archives": classes abstracting I/O streams. 
 
mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState navDynState
 
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle...
 
mrpt::vision::TStereoCalibResults out
 
std::vector< TInfoPerPTG > infoPerPTG
The info for each applied PTG: must contain "nPTGs * nSecDistances" elements. 
 
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel_original
Motion command as comes out from the PTG, before scaling speed limit filtering. 
 
mrpt::math::TTwist2D cur_vel
The actual robot velocities in global (map) coordinates, as read from sensors, in "m/sec" and "rad/se...
 
CSerializable::Ptr ReadObject()
Reads an object from stream, its class determined at runtime, and returns a smart pointer to the obje...
 
void resize(std::size_t N, bool zeroNewElements=false)
 
mrpt::maps::CSimplePointsMap WS_Obstacles
The WS-Obstacles. 
 
std::shared_ptr< CVehicleVelCmd > Ptr
 
size_t ReadBufferFixEndianness(T *ptr, size_t ElementCount)
Reads a sequence of elemental datatypes, taking care of reordering their bytes from the MRPT stream s...
 
Dynamic state that may affect the PTG path parameterization. 
 
mrpt::math::TPose2D relPoseVelCmd
 
Kinematic model for Ackermann-like or differential-driven vehicles. 
 
std::map< std::string, std::string > additional_debug_msgs
Additional debug traces. 
 
double robotShape_radius
The circular robot radius.