MRPT  2.0.0
List of all members | Classes | Public Member Functions | Public Attributes
mrpt::nav::CLogFileRecord Class Reference

Detailed Description

A class for storing, saving and loading a reactive navigation log record for the CReactiveNavigationSystem class.

See also
CReactiveNavigationSystem, CHolonomicLogFileRecord

Definition at line 29 of file CLogFileRecord.h.

#include <mrpt/nav/reactive/CLogFileRecord.h>

Inheritance diagram for mrpt::nav::CLogFileRecord:

Classes

struct  TInfoPerPTG
 The structure used to store all relevant information about each transformation into TP-Space. More...
 

Public Member Functions

 CLogFileRecord ()
 Constructor, builds an empty record. More...
 
virtual mxArraywriteToMatlab () const
 Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class. More...
 
RTTI classes and functions for polymorphic hierarchies
mrpt::rtti::CObject::Ptr duplicateGetSmartPtr () const
 Makes a deep copy of the object and returns a smart pointer to it. More...
 

Public Attributes

mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState navDynState
 
uint32_t nPTGs {0}
 The number of PTGS: More...
 
std::vector< TInfoPerPTGinfoPerPTG
 The info for each applied PTG: must contain "nPTGs * nSecDistances" elements. More...
 
int32_t nSelectedPTG {-1}
 The selected PTG. More...
 
std::map< std::string, double > values
 Known values: More...
 
std::map< std::string, mrpt::system::TTimeStamptimestamps
 Known values: More...
 
std::map< std::string, std::string > additional_debug_msgs
 Additional debug traces. More...
 
mrpt::maps::CSimplePointsMap WS_Obstacles
 The WS-Obstacles. More...
 
mrpt::maps::CSimplePointsMap WS_Obstacles_original
 
mrpt::math::TPose2D robotPoseLocalization
 The robot pose (from odometry and from the localization/SLAM system). More...
 
mrpt::math::TPose2D robotPoseOdometry
 
mrpt::math::TPose2D relPoseSense
 
mrpt::math::TPose2D relPoseVelCmd
 
std::vector< mrpt::math::TPose2DWS_targets_relative
 Relative poses (wrt to robotPoseLocalization) for. More...
 
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel
 The final motion command sent to robot, in "m/sec" and "rad/sec". More...
 
mrpt::kinematics::CVehicleVelCmd::Ptr cmd_vel_original
 Motion command as comes out from the PTG, before scaling speed limit filtering. More...
 
mrpt::math::TTwist2D cur_vel
 The actual robot velocities in global (map) coordinates, as read from sensors, in "m/sec" and "rad/sec". More...
 
mrpt::math::TTwist2D cur_vel_local
 The actual robot velocities in local (robot) coordinates, as read from sensors, in "m/sec" and "rad/sec". More...
 
mrpt::math::CVectorFloat robotShape_x
 The robot shape in WS. More...
 
mrpt::math::CVectorFloat robotShape_y
 
double robotShape_radius {.0}
 The circular robot radius. More...
 
int16_t ptg_index_NOP {-1}
 Negative means no NOP mode evaluation, so the rest of "NOP variables" should be ignored. More...
 
uint16_t ptg_last_k_NOP {0}
 
mrpt::math::TPose2D rel_cur_pose_wrt_last_vel_cmd_NOP
 
mrpt::math::TPose2D rel_pose_PTG_origin_wrt_sense_NOP
 
mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState ptg_last_navDynState
 

Protected Member Functions

CSerializable virtual methods
uint8_t serializeGetVersion () const override
 Must return the current versioning number of the object. More...
 
void serializeTo (mrpt::serialization::CArchive &out) const override
 Pure virtual method for writing (serializing) to an abstract archive. More...
 
void serializeFrom (mrpt::serialization::CArchive &in, uint8_t serial_version) override
 Pure virtual method for reading (deserializing) from an abstract archive. More...
 
CSerializable virtual methods
virtual void serializeTo (CSchemeArchiveBase &out) const
 Virtual method for writing (serializing) to an abstract schema based archive. More...
 
virtual void serializeFrom (CSchemeArchiveBase &in)
 Virtual method for reading (deserializing) from an abstract schema based archive. More...
 

RTTI stuff

using Ptr = std::shared_ptr< mrpt::nav ::CLogFileRecord >
 
using ConstPtr = std::shared_ptr< const mrpt::nav ::CLogFileRecord >
 
using UniquePtr = std::unique_ptr< mrpt::nav ::CLogFileRecord >
 
using ConstUniquePtr = std::unique_ptr< const mrpt::nav ::CLogFileRecord >
 
static const mrpt::rtti::TRuntimeClassId runtimeClassId
 
static constexpr const char * className = "mrpt::nav" "::" "CLogFileRecord"
 
static const mrpt::rtti::TRuntimeClassId_GetBaseClass ()
 
static constexpr auto getClassName ()
 
static const mrpt::rtti::TRuntimeClassIdGetRuntimeClassIdStatic ()
 
static std::shared_ptr< CObjectCreateObject ()
 
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::TRuntimeClassIdGetRuntimeClass () const override
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::rtti::CObjectclone () const override
 Returns a deep copy (clone) of the object, indepently of its class. More...
 

Member Typedef Documentation

◆ ConstPtr

Definition at line 31 of file CLogFileRecord.h.

◆ ConstUniquePtr

using mrpt::nav::CLogFileRecord::ConstUniquePtr = std::unique_ptr<const mrpt::nav :: CLogFileRecord >

Definition at line 31 of file CLogFileRecord.h.

◆ Ptr

A type for the associated smart pointer

Definition at line 31 of file CLogFileRecord.h.

◆ UniquePtr

using mrpt::nav::CLogFileRecord::UniquePtr = std::unique_ptr< mrpt::nav :: CLogFileRecord >

Definition at line 31 of file CLogFileRecord.h.

Constructor & Destructor Documentation

◆ CLogFileRecord()

CLogFileRecord::CLogFileRecord ( )

Constructor, builds an empty record.

Definition at line 26 of file CLogFileRecord.cpp.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::rtti::TRuntimeClassId* mrpt::nav::CLogFileRecord::_GetBaseClass ( )
staticprotected

◆ clone()

virtual mrpt::rtti::CObject* mrpt::nav::CLogFileRecord::clone ( ) const
overridevirtual

Returns a deep copy (clone) of the object, indepently of its class.

Implements mrpt::rtti::CObject.

◆ Create()

template<typename... Args>
static Ptr mrpt::nav::CLogFileRecord::Create ( Args &&...  args)
inlinestatic

Definition at line 31 of file CLogFileRecord.h.

◆ CreateAlloc()

template<typename Alloc , typename... Args>
static Ptr mrpt::nav::CLogFileRecord::CreateAlloc ( const Alloc &  alloc,
Args &&...  args 
)
inlinestatic

Definition at line 31 of file CLogFileRecord.h.

◆ CreateObject()

static std::shared_ptr<CObject> mrpt::nav::CLogFileRecord::CreateObject ( )
static

◆ CreateUnique()

template<typename... Args>
static UniquePtr mrpt::nav::CLogFileRecord::CreateUnique ( Args &&...  args)
inlinestatic

Definition at line 31 of file CLogFileRecord.h.

◆ duplicateGetSmartPtr()

mrpt::rtti::CObject::Ptr CObject::duplicateGetSmartPtr ( ) const
inlineinherited

Makes a deep copy of the object and returns a smart pointer to it.

Definition at line 204 of file CObject.h.

References mrpt::rtti::CObject::clone().

Referenced by mrpt::obs::CRawlog::insert().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getClassName()

static constexpr auto mrpt::nav::CLogFileRecord::getClassName ( )
inlinestatic

Definition at line 31 of file CLogFileRecord.h.

◆ GetRuntimeClass()

virtual const mrpt::rtti::TRuntimeClassId* mrpt::nav::CLogFileRecord::GetRuntimeClass ( ) const
overridevirtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::serialization::CSerializable.

◆ GetRuntimeClassIdStatic()

static const mrpt::rtti::TRuntimeClassId& mrpt::nav::CLogFileRecord::GetRuntimeClassIdStatic ( )
static

◆ serializeFrom() [1/2]

void CLogFileRecord::serializeFrom ( mrpt::serialization::CArchive in,
uint8_t  serial_version 
)
overrideprotectedvirtual

Pure virtual method for reading (deserializing) from an abstract archive.

Users don't call this method directly. Instead, use stream >> object;.

Parameters
inThe input binary stream where the object data must read from.
versionThe version of the object stored in the stream: use this version number in your code to know how to read the incoming data.
Exceptions
std::exceptionOn any I/O error

Implements mrpt::serialization::CSerializable.

Definition at line 135 of file CLogFileRecord.cpp.

References additional_debug_msgs, mrpt::poses::CPose2D::asTPose(), mrpt::math::CVectorDynamic< T >::begin(), cmd_vel, cmd_vel_original, cur_vel, cur_vel_local, mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState::curVelLocal, mrpt::format(), infoPerPTG, MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION, navDynState, nPTGs, nSelectedPTG, ptg_index_NOP, ptg_last_k_NOP, ptg_last_navDynState, mrpt::serialization::CArchive::ReadAsAndCastTo(), mrpt::serialization::CArchive::ReadBufferFixEndianness(), mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState::readFromStream(), mrpt::serialization::CArchive::ReadObject(), rel_cur_pose_wrt_last_vel_cmd_NOP, rel_pose_PTG_origin_wrt_sense_NOP, relPoseSense, relPoseVelCmd, mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState::relTarget, mrpt::math::CVectorDynamic< T >::resize(), robotPoseLocalization, robotPoseOdometry, robotShape_radius, robotShape_x, robotShape_y, timestamps, values, WS_Obstacles, WS_Obstacles_original, and WS_targets_relative.

Here is the call graph for this function:

◆ serializeFrom() [2/2]

virtual void mrpt::serialization::CSerializable::serializeFrom ( CSchemeArchiveBase in)
inlineprotectedvirtualinherited

Virtual method for reading (deserializing) from an abstract schema based archive.

Definition at line 74 of file CSerializable.h.

References mrpt::serialization::CSerializable::GetRuntimeClass(), and THROW_EXCEPTION.

Here is the call graph for this function:

◆ serializeGetVersion()

uint8_t CLogFileRecord::serializeGetVersion ( ) const
overrideprotectedvirtual

Must return the current versioning number of the object.

Start in zero for new classes, and increments each time there is a change in the stored format.

Implements mrpt::serialization::CSerializable.

Definition at line 42 of file CLogFileRecord.cpp.

◆ serializeTo() [1/2]

void CLogFileRecord::serializeTo ( mrpt::serialization::CArchive out) const
overrideprotectedvirtual

Pure virtual method for writing (serializing) to an abstract archive.

Users don't call this method directly. Instead, use stream << object;.

Exceptions
std::exceptionOn any I/O error

Implements mrpt::serialization::CSerializable.

Definition at line 43 of file CLogFileRecord.cpp.

References additional_debug_msgs, mrpt::math::CVectorDynamic< T >::begin(), cmd_vel, cmd_vel_original, cur_vel, cur_vel_local, infoPerPTG, navDynState, nPTGs, nSelectedPTG, out, ptg_index_NOP, ptg_last_k_NOP, ptg_last_navDynState, rel_cur_pose_wrt_last_vel_cmd_NOP, rel_pose_PTG_origin_wrt_sense_NOP, relPoseSense, relPoseVelCmd, robotPoseLocalization, robotPoseOdometry, robotShape_radius, robotShape_x, robotShape_y, mrpt::math::CVectorDynamic< T >::size(), timestamps, values, mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState::writeToStream(), WS_Obstacles, WS_Obstacles_original, and WS_targets_relative.

Here is the call graph for this function:

◆ serializeTo() [2/2]

virtual void mrpt::serialization::CSerializable::serializeTo ( CSchemeArchiveBase out) const
inlineprotectedvirtualinherited

Virtual method for writing (serializing) to an abstract schema based archive.

Definition at line 64 of file CSerializable.h.

References mrpt::serialization::CSerializable::GetRuntimeClass(), and THROW_EXCEPTION.

Here is the call graph for this function:

◆ writeToMatlab()

virtual mxArray* mrpt::serialization::CSerializable::writeToMatlab ( ) const
inlinevirtualinherited

Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class.

Returns
A new mxArray (caller is responsible of memory freeing) or nullptr is class does not support conversion to MATLAB.

Definition at line 90 of file CSerializable.h.

Member Data Documentation

◆ additional_debug_msgs

std::map<std::string, std::string> mrpt::nav::CLogFileRecord::additional_debug_msgs

◆ className

constexpr const char* mrpt::nav::CLogFileRecord::className = "mrpt::nav" "::" "CLogFileRecord"
static

Definition at line 31 of file CLogFileRecord.h.

◆ cmd_vel

mrpt::kinematics::CVehicleVelCmd::Ptr mrpt::nav::CLogFileRecord::cmd_vel

The final motion command sent to robot, in "m/sec" and "rad/sec".

Definition at line 104 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ cmd_vel_original

mrpt::kinematics::CVehicleVelCmd::Ptr mrpt::nav::CLogFileRecord::cmd_vel_original

Motion command as comes out from the PTG, before scaling speed limit filtering.

Definition at line 107 of file CLogFileRecord.h.

Referenced by serializeFrom(), and serializeTo().

◆ cur_vel

mrpt::math::TTwist2D mrpt::nav::CLogFileRecord::cur_vel

The actual robot velocities in global (map) coordinates, as read from sensors, in "m/sec" and "rad/sec".

Definition at line 110 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ cur_vel_local

mrpt::math::TTwist2D mrpt::nav::CLogFileRecord::cur_vel_local

The actual robot velocities in local (robot) coordinates, as read from sensors, in "m/sec" and "rad/sec".

Definition at line 113 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ infoPerPTG

std::vector<TInfoPerPTG> mrpt::nav::CLogFileRecord::infoPerPTG

The info for each applied PTG: must contain "nPTGs * nSecDistances" elements.

Definition at line 74 of file CLogFileRecord.h.

Referenced by mrpt::nav::CAbstractPTGBasedReactive::build_movement_candidate(), mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep(), serializeFrom(), and serializeTo().

◆ navDynState

◆ nPTGs

uint32_t mrpt::nav::CLogFileRecord::nPTGs {0}

The number of PTGS:

Definition at line 71 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ nSelectedPTG

int32_t mrpt::nav::CLogFileRecord::nSelectedPTG {-1}

The selected PTG.

Definition at line 76 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ ptg_index_NOP

int16_t mrpt::nav::CLogFileRecord::ptg_index_NOP {-1}

Negative means no NOP mode evaluation, so the rest of "NOP variables" should be ignored.

Definition at line 125 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ ptg_last_k_NOP

uint16_t mrpt::nav::CLogFileRecord::ptg_last_k_NOP {0}

◆ ptg_last_navDynState

mrpt::nav::CParameterizedTrajectoryGenerator::TNavDynamicState mrpt::nav::CLogFileRecord::ptg_last_navDynState

◆ rel_cur_pose_wrt_last_vel_cmd_NOP

mrpt::math::TPose2D mrpt::nav::CLogFileRecord::rel_cur_pose_wrt_last_vel_cmd_NOP

◆ rel_pose_PTG_origin_wrt_sense_NOP

mrpt::math::TPose2D mrpt::nav::CLogFileRecord::rel_pose_PTG_origin_wrt_sense_NOP

◆ relPoseSense

mrpt::math::TPose2D mrpt::nav::CLogFileRecord::relPoseSense

◆ relPoseVelCmd

mrpt::math::TPose2D mrpt::nav::CLogFileRecord::relPoseVelCmd

◆ robotPoseLocalization

mrpt::math::TPose2D mrpt::nav::CLogFileRecord::robotPoseLocalization

The robot pose (from odometry and from the localization/SLAM system).

Definition at line 95 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ robotPoseOdometry

mrpt::math::TPose2D mrpt::nav::CLogFileRecord::robotPoseOdometry

◆ robotShape_radius

double mrpt::nav::CLogFileRecord::robotShape_radius {.0}

◆ robotShape_x

mrpt::math::CVectorFloat mrpt::nav::CLogFileRecord::robotShape_x

◆ robotShape_y

mrpt::math::CVectorFloat mrpt::nav::CLogFileRecord::robotShape_y

◆ runtimeClassId

const mrpt::rtti::TRuntimeClassId mrpt::nav::CLogFileRecord::runtimeClassId
staticprotected

Definition at line 31 of file CLogFileRecord.h.

◆ timestamps

std::map<std::string, mrpt::system::TTimeStamp> mrpt::nav::CLogFileRecord::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.

Definition at line 89 of file CLogFileRecord.h.

Referenced by mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep(), serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ values

std::map<std::string, double> mrpt::nav::CLogFileRecord::values

Known values:

  • "executionTime": The total computation time, excluding sensing.
  • "estimatedExecutionPeriod": The estimated execution period.

Definition at line 82 of file CLogFileRecord.h.

Referenced by mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep(), serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().

◆ WS_Obstacles

mrpt::maps::CSimplePointsMap mrpt::nav::CLogFileRecord::WS_Obstacles

◆ WS_Obstacles_original

mrpt::maps::CSimplePointsMap mrpt::nav::CLogFileRecord::WS_Obstacles_original

◆ WS_targets_relative

std::vector<mrpt::math::TPose2D> mrpt::nav::CLogFileRecord::WS_targets_relative

Relative poses (wrt to robotPoseLocalization) for.

extrapolated paths at two instants: time of obstacle sense, and future pose of motion comman The relative location of target(s) in Workspace.

Definition at line 101 of file CLogFileRecord.h.

Referenced by serializeFrom(), serializeTo(), and mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord().




Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020