class mrpt::nav::CLogFileRecord
Overview
A class for storing, saving and loading a reactive navigation log record for the CReactiveNavigationSystem class.
See also:
CReactiveNavigationSystem, CHolonomicLogFileRecord
#include <mrpt/nav/reactive/CLogFileRecord.h> class CLogFileRecord: public mrpt::serialization::CSerializable { public: // typedefs typedef std::shared_ptr<mrpt::nav ::CLogFileRecord> Ptr; typedef std::shared_ptr<const mrpt::nav ::CLogFileRecord> ConstPtr; typedef std::unique_ptr<mrpt::nav ::CLogFileRecord> UniquePtr; typedef std::unique_ptr<const mrpt::nav ::CLogFileRecord> ConstUniquePtr; // structs struct TInfoPerPTG; // fields static constexpr const char* className = "mrpt::nav" "::" "CLogFileRecord"; uint32_t nPTGs = 0; std::vector<TInfoPerPTG> infoPerPTG; int32_t nSelectedPTG = -1; std::map<std::string, double> values; std::map<std::string, mrpt::system::TTimeStamp> timestamps; std::map<std::string, std::string> additional_debug_msgs; mrpt::maps::CSimplePointsMap WS_Obstacles; mrpt::maps::CSimplePointsMap WS_Obstacles_original; mrpt::math::TPose2D robotPoseLocalization {0, 0, 0}; mrpt::math::TPose2D robotPoseOdometry {0, 0, 0}; mrpt::math::TPose2D relPoseSense {0, 0, 0}; mrpt::math::TPose2D relPoseVelCmd {0, 0, 0}; std::vector<mrpt::math::TPose2D> WS_targets_relative; mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel; mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel_original; mrpt::math::TTwist2D cur_vel {0, 0, 0}; mrpt::math::TTwist2D cur_vel_local {0, 0, 0}; mrpt::math::CVectorFloat robotShape_x; mrpt::math::CVectorFloat robotShape_y; double robotShape_radius {.0}; int16_t ptg_index_NOP {-1}; uint16_t ptg_last_k_NOP {0}; mrpt::math::TPose2D rel_cur_pose_wrt_last_vel_cmd_NOP {0, 0, 0}; mrpt::math::TPose2D rel_pose_PTG_origin_wrt_sense_NOP {0, 0, 0}; std::vector<std::shared_ptr<mrpt::viz::CSetOfObjects>> visuals; // construction CLogFileRecord(); // methods static constexpr auto getClassName(); static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); static std::shared_ptr<CObject> CreateObject(); template <typename... Args> static Ptr Create(Args&&... args); template <typename Alloc, typename... Args> static Ptr CreateAlloc( const Alloc& alloc, Args&&... args ); template <typename... Args> static UniquePtr CreateUnique(Args&&... args); virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; virtual mrpt::rtti::CObject* clone() const; };
Inherited Members
public: // typedefs typedef std::shared_ptr<CObject> Ptr; typedef std::shared_ptr<const CObject> ConstPtr; typedef std::shared_ptr<CSerializable> Ptr; typedef std::shared_ptr<const CSerializable> ConstPtr; // methods static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
Typedefs
typedef std::shared_ptr<mrpt::nav ::CLogFileRecord> Ptr
A type for the associated smart pointer.
Fields
uint32_t nPTGs = 0
The number of PTGS:
std::vector<TInfoPerPTG> infoPerPTG
The info for each applied PTG: must contain “nPTGs * nSecDistances” elements.
int32_t nSelectedPTG = -1
The selected PTG.
std::map<std::string, double> values
Known values:
“executionTime”: The total computation time, excluding sensing.
“estimatedExecutionPeriod”: The estimated execution period.
std::map<std::string, mrpt::system::TTimeStamp> timestamps
Known values:
“tim_start_iteration”: Time of start of navigationStep() implementation.
“tim_send_cmd_vel”: Time of sending cmdvel to robot.
“curPoseAndVel”: Time of querying robot pose and velocities.
std::map<std::string, std::string> additional_debug_msgs
Additional debug traces.
mrpt::maps::CSimplePointsMap WS_Obstacles
The WS-Obstacles (in the local robot frame of reference)
mrpt::math::TPose2D robotPoseLocalization {0, 0, 0}
The robot pose (from odometry and from the localization/SLAM system).
mrpt::math::TPose2D relPoseSense {0, 0, 0}
Relative poses (wrt to robotPoseLocalization) for extrapolated paths at two instants: time of obstacle sense, and future pose of motion command.
std::vector<mrpt::math::TPose2D> WS_targets_relative
The relative location of target(s) in Workspace (wrt the robot).
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel
The final motion command sent to robot, in “m/sec” and “rad/sec”.
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 {0, 0, 0}
The actual robot velocities in global (map) coordinates, as read from sensors, in “m/sec” and “rad/sec”.
mrpt::math::TTwist2D cur_vel_local {0, 0, 0}
The actual robot velocities in local (robot) coordinates, as read from sensors, in “m/sec” and “rad/sec”.
mrpt::math::CVectorFloat robotShape_x
The robot shape in WS.
Used by PTGs derived from mrpt::nav::CPTG_RobotShape_Polygonal
double robotShape_radius {.0}
The circular robot radius.
Used by PTGs derived from mrpt::nav::CPTG_RobotShape_Circular
int16_t ptg_index_NOP {-1}
Negative means no NOP mode evaluation, so the rest of “NOP variables” should be ignored.
std::vector<std::shared_ptr<mrpt::viz::CSetOfObjects>> visuals
Additional visual entities that the source application wants to show in the navlog viewer UI.
All objects will be placed relative to the current robot pose. (New in MRPT 2.5.7)
Construction
CLogFileRecord()
Constructor, builds an empty record.
Methods
virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const
Returns information about the class of an object in runtime.
virtual mrpt::rtti::CObject* clone() const
Returns a deep copy (clone) of the object, indepently of its class.