Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
mrpt::nav::CReactiveNavigationSystem3D Class Reference

Detailed Description

See base class CAbstractPTGBasedReactive for a description and instructions of use.

This particular implementation assumes a 3D (or "2.5D") robot shape model, build as a vertical stack of "2D slices".

Paper describing the method:

Class history:

This class requires a number of parameters which are usually provided via an external config (".ini") file. Alternatively, a memory-only object can be used to avoid physical files, see mrpt::utils::CConfigFileMemory.

Next we provide a self-documented template config file:

# ------------------------------------------------------------------------------------------
# Example configuration file for MRPT 2.5 Reactive Navigation engine.
# See C++ documentation: http://reference.mrpt.org/svn/classmrpt_1_1nav_1_1_c_reactive_navigation_system3_d.html
# This .ini file is missing information about the equipped sensors and the Short-Term memory
# For more detailed information, please see the App "ReactiveNav3D-Demo" within MRPT
# ------------------------------------------------------------------------------------------

[ROBOT_CONFIG]
Name = MyRobot	#Optional

#Indicate the geometry of the robot as a set of prisms.
#Format - (LEVELX_HEIGHT, LEVELX_VECTORX, LEVELX_VECTORY)

#Number of height levels used to model the robot
HEIGHT_LEVELS = 2

#Geometrical description of each level
LEVEL1_HEIGHT = 0.6
LEVEL1_VECTORX = 0.3 0.3 -0.3 -0.3
LEVEL1_VECTORY = -0.3 0.3 0.3 -0.3

LEVEL2_HEIGHT = 0.4
LEVEL2_VECTORX = 0.05 0.05 -0.05 -0.05
LEVEL2_VECTORY = -0.1 0.1 0.1 -0.1


# ----------------------------------------------------
#	Parameters for navigation
# ----------------------------------------------------
[NAVIGATION_CONFIG]
# 0: Virtual Force Field (VFF)
# 1: Nearness Diagram (ND)
HOLONOMIC_METHOD = 1

weights = 0.5 0.05 0.5 2.0 0.2 0.1
# 1: Free space
# 2: Dist. in sectors			
# 3: Heading toward target
# 4: Closer to target (euclidean)
# 5: Hysteresis
# 6: Security Distance

DIST_TO_TARGET_FOR_SENDING_EVENT = 0.5	# Minimum. distance to target for sending the end event. Set to 0 to send it just on navigation end

VMAX_MPS = 0.70			# Translational speed limit (m/s)
WMAX_DEGPS = 60			# Rotational speed limit (deg/s) 
ROBOTMODEL_DELAY = 0	# un-used param, must be present for compat. with old mrpt versions 
ROBOTMODEL_TAU = 0		# un-used param, must be present for compat. with old mrpt versions
MAX_DISTANCE_PTG = 2	# Marks the maximum distance regarded by the reactive navigator (m)
GRID_RESOLUTION = 0.02 	# Resolutions used to build the collision_grid (m)
SPEEDFILTER_TAU = 0.1	# The 'TAU' time constant of a 1st order lowpass filter for speed commands (s)  

# PTGs: See classes derived from mrpt::nav::CParameterizedTrajectoryGenerator ( http://reference.mrpt.org/svn/classmrpt_1_1nav_1_1_c_parameterized_trajectory_generator.html)# refer to papers for details.
#------------------------------------------------------------------------------
# Types:
# 1 - Circular arcs \n"
# 2 - alpha - A, Trajectories with asymptotical heading
# 3 - C|C,S, R = vmax/wmax, Trajectories to move backward and then forward
# 4 - C|C,s, like PTG 3, but if t > threshold -> v = w = 0
# 5 - CS, Trajectories with a minimum turning radius
# 6 - alpha - SP, Trajectories built upon a spiral segment

PTG_COUNT      = 3

PTG0_Type      = 1
PTG0_nAlfas    = 121
PTG0_v_max_mps = 1.0
PTG0_w_max_gps = 60
PTG0_K         = 1.0

PTG1_Type        = 2
PTG1_nAlfas      = 121
PTG1_v_max_mps   = 1.0
PTG1_w_max_gps   = 60
PTG1_cte_a0v_deg = 57
PTG1_cte_a0w_deg = 57

PTG2_Type      = 1
PTG2_nAlfas    = 121
PTG2_v_max_mps = 1.0
PTG2_w_max_gps = 60
PTG2_K         = -1.0


#	Parameters for the "Nearness diagram" Holonomic method
# --------------------------------------------------------
[ND_CONFIG]
factorWeights = 1.0 2.0 0.5 1.0
# 1: Free space
# 2: Dist. in sectors
# 3: Closer to target (euclidean)
# 4: Hysteresis
WIDE_GAP_SIZE_PERCENT            = 0.25
MAX_SECTOR_DIST_FOR_D2_PERCENT   = 0.25
RISK_EVALUATION_SECTORS_PERCENT  = 0.25
RISK_EVALUATION_DISTANCE         = 0.7  # In normalized ps-meters [0,1]
TARGET_SLOW_APPROACHING_DISTANCE = 0.8	# For stop gradually
TOO_CLOSE_OBSTACLE               = 0.03 # In normalized ps-meters

#	Parameters for the "VFF" Holonomic method
# ----------------------------------------------------
[VFF_CONFIG]
# Used to decrease speed gradually when the target is going to be reached
TARGET_SLOW_APPROACHING_DISTANCE = 0.8	
# Use it to control the relative weight of the target respect to the obstacles
TARGET_ATTRACTIVE_FORCE = 7.5


See also
CAbstractReactiveNavigationSystem, CParameterizedTrajectoryGenerator, CAbstractHolonomicReactiveMethod

Definition at line 46 of file nav/reactive/CReactiveNavigationSystem3D.h.

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

Inheritance diagram for mrpt::nav::CReactiveNavigationSystem3D:
Inheritance graph

Classes

struct  TPTGmultilevel
 A set of PTGs of the same type, one per "height level". More...
 

Public Types

enum  TState { IDLE =0 , NAVIGATING , SUSPENDED , NAV_ERROR }
 The different states for the navigation system. More...
 

Public Member Functions

 CReactiveNavigationSystem3D (CReactiveInterfaceImplementation &react_iterf_impl, bool enableConsoleOutput=true, bool enableLogFile=false)
 See docs in ctor of base class. More...
 
virtual ~CReactiveNavigationSystem3D ()
 Destructor. More...
 
void loadConfigFile (const mrpt::utils::CConfigFileBase &ini)
 Reload the configuration from a file. More...
 
void changeRobotShape (TRobotShape robotShape)
 Change the robot shape, which is taken into account for collision grid building. More...
 
virtual size_t getPTG_count () const
 Returns the number of different PTGs that have been setup. More...
 
virtual CParameterizedTrajectoryGeneratorgetPTG (size_t i)
 Gets the i'th PTG. More...
 
void initialize ()
 Must be called for loading collision grids, or the first navigation command may last a long time to be executed. More...
 
void setHolonomicMethod (THolonomicMethod method, const mrpt::utils::CConfigFileBase &cfgBase)
 Selects which one from the set of available holonomic methods will be used into transformed TP-Space, and sets its configuration from a configuration file. More...
 
void loadHolonomicMethodConfig (const mrpt::utils::CConfigFileBase &ini, const std::string &section)
 Just loads the holonomic method params from the given config source. More...
 
virtual void navigate (const TNavigationParams *params)
 Start navigation: More...
 
void getLastLogRecord (CLogFileRecord &o)
 Provides a copy of the last log record with information about execution. More...
 
void enableKeepLogRecords (bool enable=true)
 Enables keeping an internal registry of navigation logs that can be queried with getLastLogRecord() More...
 
void enableLogFile (bool enable)
 Enables/disables saving log files. More...
 
void enableTimeLog (bool enable=true)
 Enables/disables the detailed time logger (default:disabled upon construction) When enabled, a report will be dumped to std::cout upon destruction. More...
 
const mrpt::utils::CTimeLoggergetTimeLogger () const
 Gives access to a const-ref to the internal time logger. More...
 
void cancel ()
 Cancel current navegacion. More...
 
void resume ()
 Continues with suspended navigation. More...
 
void navigationStep ()
 This method must be called periodically in order to effectively run the navigation. More...
 
virtual void suspend ()
 Suspend current navegation. More...
 
TState getCurrentState () const
 Returns the current navigator state. More...
 

Static Public Member Functions

static void printf_debug (const char *frmt,...)
 Sends a formated text to "debugOut" if not NULL, or to cout otherwise. More...
 

Protected Member Functions

void performNavigationStep ()
 The main method for the navigator. More...
 
void doEmergencyStop (const char *msg)
 Stops the robot and set navigation state to error. More...
 
void STEP5_PTGEvaluator (THolonomicMovement &holonomicMovement, const std::vector< float > &in_TPObstacles, const mrpt::math::TPose2D &WS_Target, const mrpt::math::TPoint2D &TP_Target, CLogFileRecord::TInfoPerPTG &log)
 Scores holonomicMovement. More...
 
virtual void STEP7_GenerateSpeedCommands (const THolonomicMovement &in_movement)
 
void preDestructor ()
 To be called during children destructors to assure thread-safe destruction, and free of shared objects. More...
 

Protected Attributes

std::vector< CAbstractHolonomicReactiveMethod * > m_holonomicMethod
 The holonomic navigation algorithm (one object per PTG, so internal states are maintained) More...
 
mrpt::utils::CStreamm_logFile
 The current log file stream, or NULL if not being used. More...
 
bool m_enableKeepLogRecords
 See enableKeepLogRecords. More...
 
CLogFileRecord lastLogRecord
 The last log. More...
 
float last_cmd_v
 
float last_cmd_w
 
float new_cmd_v
 
float new_cmd_w
 Speed actual and last commands: More...
 
bool navigationEndEventSent
 Will be false until the navigation end is sent, and it is reset with each new command. More...
 
synch::CCriticalSection m_critZoneLastLog
 
synch::CCriticalSection m_critZoneNavigating
 Critical zones. More...
 
bool m_enableConsoleOutput
 Enables / disables the console debug output. More...
 
bool m_init_done
 Whether loadConfigFile() has been called or not. More...
 
mrpt::utils::CTicTac timerForExecutionPeriod
 
std::string ptg_cache_files_directory
 (Default: ".") More...
 
std::string robotName
 Robot name. More...
 
float refDistance
 "D_{max}" in papers. More...
 
float colGridRes
 CollisionGrid resolution. More...
 
float robotMax_V_mps
 Max. linear speed (m/s) More...
 
float robotMax_W_degps
 Max. angular speed (deg/s) More...
 
float SPEEDFILTER_TAU
 Time constant for the low-pass filter applied to the speed commands. More...
 
std::vector< float > weights
 length: 6 [0,5] More...
 
float secureDistanceStart
 In normalized distances, the start and end of a ramp function that scales the velocity output from the holonomic navigator: More...
 
float secureDistanceEnd
 
float DIST_TO_TARGET_FOR_SENDING_EVENT
 
float meanExecutionPeriod
 Runtime estimation of execution period of the method. More...
 
mrpt::utils::CTimeLogger m_timelogger
 A complete time logger. More...
 
float badNavAlarm_minDistTarget
 For sending an alarm (error event) when it seems that we are not approaching toward the target in a while... More...
 
mrpt::system::TTimeStamp badNavAlarm_lastMinDistTime
 
float badNavAlarm_AlarmTimeout
 
bool m_collisionGridsMustBeUpdated
 
TState m_navigationState
 Current internal state of navigator: More...
 
TNavigationParamsm_navigationParams
 Current navigation parameters. More...
 
CReactiveInterfaceImplementationm_robot
 The navigator-robot interface. More...
 
Variables for CReactiveNavigationSystem::performNavigationStep
mrpt::utils::CTicTac totalExecutionTime
 
mrpt::utils::CTicTac executionTime
 
mrpt::utils::CTicTac tictac
 
float meanExecutionTime
 
float meanTotalExecutionTime
 

Private Member Functions

virtual void STEP1_CollisionGridsBuilder ()
 
virtual bool STEP2_SenseObstacles ()
 Return false on any fatal error. More...
 
virtual void STEP3_WSpaceToTPSpace (const size_t ptg_idx, std::vector< float > &out_TPObstacles)
 Builds TP-Obstacles from Workspace obstacles for the given PTG. More...
 
virtual void loggingGetWSObstaclesAndShape (CLogFileRecord &out_log)
 Generates a pointcloud of obstacles, and the robot shape, to be saved in the logging record for the current timestep. More...
 
void deleteHolonomicObjects ()
 Delete m_holonomicMethod. More...
 

Private Attributes

mrpt::maps::CSimplePointsMap m_WS_Obstacles_unsorted
 The unsorted set of obstacles from the sensors. More...
 
std::vector< mrpt::maps::CSimplePointsMapm_WS_Obstacles_inlevels
 One point cloud per 2.5D robot-shape-slice, coordinates relative to the robot local frame. More...
 
TRobotShape m_robotShape
 The robot 3D shape model. More...
 
std::vector< TPTGmultilevelm_ptgmultilevel
 The set of PTG-transformations to be used: More...
 
bool m_closing_navigator
 Signal that the destructor has been called, so no more calls are accepted from other threads. More...
 
std::vector< TInfoPerPTGm_infoPerPTG
 Temporary buffers for working with each PTG during a navigationStep() More...
 
TState m_lastNavigationState
 Last internal state of navigator: More...
 

Member Enumeration Documentation

◆ TState

The different states for the navigation system.

Enumerator
IDLE 
NAVIGATING 
SUSPENDED 
NAV_ERROR 

Definition at line 145 of file CAbstractReactiveNavigationSystem.h.

Constructor & Destructor Documentation

◆ CReactiveNavigationSystem3D()

mrpt::nav::CReactiveNavigationSystem3D::CReactiveNavigationSystem3D ( CReactiveInterfaceImplementation react_iterf_impl,
bool  enableConsoleOutput = true,
bool  enableLogFile = false 
)

See docs in ctor of base class.

◆ ~CReactiveNavigationSystem3D()

virtual mrpt::nav::CReactiveNavigationSystem3D::~CReactiveNavigationSystem3D ( )
virtual

Destructor.

Member Function Documentation

◆ cancel()

void mrpt::nav::CAbstractReactiveNavigationSystem::cancel ( )
inherited

Cancel current navegacion.

◆ changeRobotShape()

void mrpt::nav::CReactiveNavigationSystem3D::changeRobotShape ( TRobotShape  robotShape)

Change the robot shape, which is taken into account for collision grid building.

◆ deleteHolonomicObjects()

void mrpt::nav::CAbstractPTGBasedReactive::deleteHolonomicObjects ( )
privateinherited

Delete m_holonomicMethod.

◆ doEmergencyStop()

void mrpt::nav::CAbstractPTGBasedReactive::doEmergencyStop ( const char *  msg)
protectedinherited

Stops the robot and set navigation state to error.

◆ enableKeepLogRecords()

void mrpt::nav::CAbstractPTGBasedReactive::enableKeepLogRecords ( bool  enable = true)
inlineinherited

Enables keeping an internal registry of navigation logs that can be queried with getLastLogRecord()

Definition at line 106 of file CAbstractPTGBasedReactive.h.

◆ enableLogFile()

void mrpt::nav::CAbstractPTGBasedReactive::enableLogFile ( bool  enable)
inherited

Enables/disables saving log files.

◆ enableTimeLog()

void mrpt::nav::CAbstractPTGBasedReactive::enableTimeLog ( bool  enable = true)
inlineinherited

Enables/disables the detailed time logger (default:disabled upon construction) When enabled, a report will be dumped to std::cout upon destruction.

See also
getTimeLogger

Definition at line 115 of file CAbstractPTGBasedReactive.h.

References MRPT_UNUSED_PARAM.

◆ getCurrentState()

TState mrpt::nav::CAbstractReactiveNavigationSystem::getCurrentState ( ) const
inlineinherited

Returns the current navigator state.

Definition at line 154 of file CAbstractReactiveNavigationSystem.h.

◆ getLastLogRecord()

void mrpt::nav::CAbstractPTGBasedReactive::getLastLogRecord ( CLogFileRecord o)
inherited

Provides a copy of the last log record with information about execution.

Parameters
oAn object where the log will be stored into.
Note
Log records are not prepared unless either "enableLogFile" is enabled in the constructor or "enableKeepLogRecords()" has been called.

◆ getPTG()

virtual CParameterizedTrajectoryGenerator* mrpt::nav::CReactiveNavigationSystem3D::getPTG ( size_t  i)
inlinevirtual

Gets the i'th PTG.

Implements mrpt::nav::CAbstractPTGBasedReactive.

Definition at line 70 of file nav/reactive/CReactiveNavigationSystem3D.h.

References ASSERT_.

◆ getPTG_count()

virtual size_t mrpt::nav::CReactiveNavigationSystem3D::getPTG_count ( ) const
inlinevirtual

Returns the number of different PTGs that have been setup.

Implements mrpt::nav::CAbstractPTGBasedReactive.

Definition at line 67 of file nav/reactive/CReactiveNavigationSystem3D.h.

◆ getTimeLogger()

const mrpt::utils::CTimeLogger& mrpt::nav::CAbstractPTGBasedReactive::getTimeLogger ( ) const
inlineinherited

Gives access to a const-ref to the internal time logger.

See also
enableTimeLog

Definition at line 121 of file CAbstractPTGBasedReactive.h.

◆ initialize()

void mrpt::nav::CAbstractPTGBasedReactive::initialize ( )
inherited

Must be called for loading collision grids, or the first navigation command may last a long time to be executed.

Internally, it just calls STEP1_CollisionGridsBuilder().

◆ loadConfigFile()

void mrpt::nav::CReactiveNavigationSystem3D::loadConfigFile ( const mrpt::utils::CConfigFileBase ini)

Reload the configuration from a file.

See CReactiveNavigationSystem3D for details.

◆ loadHolonomicMethodConfig()

void mrpt::nav::CAbstractPTGBasedReactive::loadHolonomicMethodConfig ( const mrpt::utils::CConfigFileBase ini,
const std::string &  section 
)
inherited

Just loads the holonomic method params from the given config source.

See also
setHolonomicMethod

◆ loggingGetWSObstaclesAndShape()

virtual void mrpt::nav::CReactiveNavigationSystem3D::loggingGetWSObstaclesAndShape ( CLogFileRecord out_log)
privatevirtual

Generates a pointcloud of obstacles, and the robot shape, to be saved in the logging record for the current timestep.

Implements mrpt::nav::CAbstractPTGBasedReactive.

◆ navigate()

virtual void mrpt::nav::CAbstractPTGBasedReactive::navigate ( const TNavigationParams params)
virtualinherited

Start navigation:

Parameters
[in]paramsPointer to structure with navigation info (its contents will be copied, so the original can be freely destroyed upon return.)

Implements mrpt::nav::CAbstractReactiveNavigationSystem.

◆ navigationStep()

void mrpt::nav::CAbstractReactiveNavigationSystem::navigationStep ( )
inherited

This method must be called periodically in order to effectively run the navigation.

◆ performNavigationStep()

void mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep ( )
protectedvirtualinherited

The main method for the navigator.

Implements mrpt::nav::CAbstractReactiveNavigationSystem.

◆ preDestructor()

void mrpt::nav::CAbstractPTGBasedReactive::preDestructor ( )
protectedinherited

To be called during children destructors to assure thread-safe destruction, and free of shared objects.

◆ printf_debug()

static void mrpt::utils::CDebugOutputCapable::printf_debug ( const char *  frmt,
  ... 
)
staticinherited

Sends a formated text to "debugOut" if not NULL, or to cout otherwise.

Referenced by mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute().

◆ resume()

void mrpt::nav::CAbstractReactiveNavigationSystem::resume ( )
inherited

Continues with suspended navigation.

See also
suspend

◆ setHolonomicMethod()

void mrpt::nav::CAbstractPTGBasedReactive::setHolonomicMethod ( THolonomicMethod  method,
const mrpt::utils::CConfigFileBase cfgBase 
)
inherited

Selects which one from the set of available holonomic methods will be used into transformed TP-Space, and sets its configuration from a configuration file.

◆ STEP1_CollisionGridsBuilder()

virtual void mrpt::nav::CReactiveNavigationSystem3D::STEP1_CollisionGridsBuilder ( )
privatevirtual

◆ STEP2_SenseObstacles()

virtual bool mrpt::nav::CReactiveNavigationSystem3D::STEP2_SenseObstacles ( )
privatevirtual

Return false on any fatal error.

Implements mrpt::nav::CAbstractPTGBasedReactive.

◆ STEP3_WSpaceToTPSpace()

virtual void mrpt::nav::CReactiveNavigationSystem3D::STEP3_WSpaceToTPSpace ( const size_t  ptg_idx,
std::vector< float > &  out_TPObstacles 
)
privatevirtual

Builds TP-Obstacles from Workspace obstacles for the given PTG.

"out_TPObstacles" is already initialized to the proper length and maximum collision-free distance for each "k" trajectory index. Distances are in "pseudo-meters". They will be normalized automatically to [0,1] upon return.

Implements mrpt::nav::CAbstractPTGBasedReactive.

◆ STEP5_PTGEvaluator()

void mrpt::nav::CAbstractPTGBasedReactive::STEP5_PTGEvaluator ( THolonomicMovement holonomicMovement,
const std::vector< float > &  in_TPObstacles,
const mrpt::math::TPose2D WS_Target,
const mrpt::math::TPoint2D TP_Target,
CLogFileRecord::TInfoPerPTG log 
)
protectedinherited

Scores holonomicMovement.

◆ STEP7_GenerateSpeedCommands()

virtual void mrpt::nav::CAbstractPTGBasedReactive::STEP7_GenerateSpeedCommands ( const THolonomicMovement in_movement)
protectedvirtualinherited

◆ suspend()

virtual void mrpt::nav::CAbstractReactiveNavigationSystem::suspend ( )
virtualinherited

Suspend current navegation.

See also
resume

Member Data Documentation

◆ badNavAlarm_AlarmTimeout

float mrpt::nav::CAbstractPTGBasedReactive::badNavAlarm_AlarmTimeout
protectedinherited

Definition at line 199 of file CAbstractPTGBasedReactive.h.

◆ badNavAlarm_lastMinDistTime

mrpt::system::TTimeStamp mrpt::nav::CAbstractPTGBasedReactive::badNavAlarm_lastMinDistTime
protectedinherited

Definition at line 198 of file CAbstractPTGBasedReactive.h.

◆ badNavAlarm_minDistTarget

float mrpt::nav::CAbstractPTGBasedReactive::badNavAlarm_minDistTarget
protectedinherited

For sending an alarm (error event) when it seems that we are not approaching toward the target in a while...

Definition at line 197 of file CAbstractPTGBasedReactive.h.

◆ colGridRes

float mrpt::nav::CAbstractPTGBasedReactive::colGridRes
protectedinherited

CollisionGrid resolution.

Definition at line 167 of file CAbstractPTGBasedReactive.h.

◆ DIST_TO_TARGET_FOR_SENDING_EVENT

float mrpt::nav::CAbstractPTGBasedReactive::DIST_TO_TARGET_FOR_SENDING_EVENT
protectedinherited

Definition at line 192 of file CAbstractPTGBasedReactive.h.

◆ executionTime

mrpt::utils::CTicTac mrpt::nav::CAbstractPTGBasedReactive::executionTime
protectedinherited

Definition at line 208 of file CAbstractPTGBasedReactive.h.

◆ last_cmd_v

float mrpt::nav::CAbstractPTGBasedReactive::last_cmd_v
protectedinherited

Definition at line 155 of file CAbstractPTGBasedReactive.h.

◆ last_cmd_w

float mrpt::nav::CAbstractPTGBasedReactive::last_cmd_w
protectedinherited

Definition at line 155 of file CAbstractPTGBasedReactive.h.

◆ lastLogRecord

CLogFileRecord mrpt::nav::CAbstractPTGBasedReactive::lastLogRecord
protectedinherited

The last log.

Definition at line 154 of file CAbstractPTGBasedReactive.h.

◆ m_closing_navigator

bool mrpt::nav::CAbstractPTGBasedReactive::m_closing_navigator
privateinherited

Signal that the destructor has been called, so no more calls are accepted from other threads.

Definition at line 243 of file CAbstractPTGBasedReactive.h.

◆ m_collisionGridsMustBeUpdated

bool mrpt::nav::CAbstractPTGBasedReactive::m_collisionGridsMustBeUpdated
protectedinherited

Definition at line 201 of file CAbstractPTGBasedReactive.h.

◆ m_critZoneLastLog

synch::CCriticalSection mrpt::nav::CAbstractPTGBasedReactive::m_critZoneLastLog
protectedinherited

Definition at line 157 of file CAbstractPTGBasedReactive.h.

◆ m_critZoneNavigating

synch::CCriticalSection mrpt::nav::CAbstractPTGBasedReactive::m_critZoneNavigating
protectedinherited

Critical zones.

Definition at line 157 of file CAbstractPTGBasedReactive.h.

◆ m_enableConsoleOutput

bool mrpt::nav::CAbstractPTGBasedReactive::m_enableConsoleOutput
protectedinherited

Enables / disables the console debug output.

Definition at line 159 of file CAbstractPTGBasedReactive.h.

◆ m_enableKeepLogRecords

bool mrpt::nav::CAbstractPTGBasedReactive::m_enableKeepLogRecords
protectedinherited

See enableKeepLogRecords.

Definition at line 153 of file CAbstractPTGBasedReactive.h.

◆ m_holonomicMethod

std::vector<CAbstractHolonomicReactiveMethod*> mrpt::nav::CAbstractPTGBasedReactive::m_holonomicMethod
protectedinherited

The holonomic navigation algorithm (one object per PTG, so internal states are maintained)

Definition at line 151 of file CAbstractPTGBasedReactive.h.

◆ m_infoPerPTG

std::vector<TInfoPerPTG> mrpt::nav::CAbstractPTGBasedReactive::m_infoPerPTG
privateinherited

Temporary buffers for working with each PTG during a navigationStep()

Definition at line 255 of file CAbstractPTGBasedReactive.h.

◆ m_init_done

bool mrpt::nav::CAbstractPTGBasedReactive::m_init_done
protectedinherited

Whether loadConfigFile() has been called or not.

Definition at line 160 of file CAbstractPTGBasedReactive.h.

◆ m_lastNavigationState

TState mrpt::nav::CAbstractReactiveNavigationSystem::m_lastNavigationState
privateinherited

Last internal state of navigator:

Definition at line 157 of file CAbstractReactiveNavigationSystem.h.

◆ m_logFile

mrpt::utils::CStream* mrpt::nav::CAbstractPTGBasedReactive::m_logFile
protectedinherited

The current log file stream, or NULL if not being used.

Definition at line 152 of file CAbstractPTGBasedReactive.h.

◆ m_navigationParams

TNavigationParams* mrpt::nav::CAbstractReactiveNavigationSystem::m_navigationParams
protectedinherited

Current navigation parameters.

Definition at line 164 of file CAbstractReactiveNavigationSystem.h.

◆ m_navigationState

TState mrpt::nav::CAbstractReactiveNavigationSystem::m_navigationState
protectedinherited

Current internal state of navigator:

Definition at line 163 of file CAbstractReactiveNavigationSystem.h.

◆ m_ptgmultilevel

std::vector<TPTGmultilevel> mrpt::nav::CReactiveNavigationSystem3D::m_ptgmultilevel
private

The set of PTG-transformations to be used:

Definition at line 103 of file nav/reactive/CReactiveNavigationSystem3D.h.

◆ m_robot

CReactiveInterfaceImplementation& mrpt::nav::CAbstractReactiveNavigationSystem::m_robot
protectedinherited

The navigator-robot interface.

Definition at line 167 of file CAbstractReactiveNavigationSystem.h.

◆ m_robotShape

TRobotShape mrpt::nav::CReactiveNavigationSystem3D::m_robotShape
private

The robot 3D shape model.

Definition at line 100 of file nav/reactive/CReactiveNavigationSystem3D.h.

◆ m_timelogger

mrpt::utils::CTimeLogger mrpt::nav::CAbstractPTGBasedReactive::m_timelogger
protectedinherited

A complete time logger.

See also
enableTimeLog()

Definition at line 194 of file CAbstractPTGBasedReactive.h.

◆ m_WS_Obstacles_inlevels

std::vector<mrpt::maps::CSimplePointsMap> mrpt::nav::CReactiveNavigationSystem3D::m_WS_Obstacles_inlevels
private

One point cloud per 2.5D robot-shape-slice, coordinates relative to the robot local frame.

Definition at line 96 of file nav/reactive/CReactiveNavigationSystem3D.h.

◆ m_WS_Obstacles_unsorted

mrpt::maps::CSimplePointsMap mrpt::nav::CReactiveNavigationSystem3D::m_WS_Obstacles_unsorted
private

The unsorted set of obstacles from the sensors.

Definition at line 95 of file nav/reactive/CReactiveNavigationSystem3D.h.

◆ meanExecutionPeriod

float mrpt::nav::CAbstractPTGBasedReactive::meanExecutionPeriod
protectedinherited

Runtime estimation of execution period of the method.

Definition at line 193 of file CAbstractPTGBasedReactive.h.

◆ meanExecutionTime

float mrpt::nav::CAbstractPTGBasedReactive::meanExecutionTime
protectedinherited

Definition at line 209 of file CAbstractPTGBasedReactive.h.

◆ meanTotalExecutionTime

float mrpt::nav::CAbstractPTGBasedReactive::meanTotalExecutionTime
protectedinherited

Definition at line 209 of file CAbstractPTGBasedReactive.h.

◆ navigationEndEventSent

bool mrpt::nav::CAbstractPTGBasedReactive::navigationEndEventSent
protectedinherited

Will be false until the navigation end is sent, and it is reset with each new command.

Definition at line 156 of file CAbstractPTGBasedReactive.h.

◆ new_cmd_v

float mrpt::nav::CAbstractPTGBasedReactive::new_cmd_v
protectedinherited

Definition at line 155 of file CAbstractPTGBasedReactive.h.

◆ new_cmd_w

float mrpt::nav::CAbstractPTGBasedReactive::new_cmd_w
protectedinherited

Speed actual and last commands:

Definition at line 155 of file CAbstractPTGBasedReactive.h.

◆ ptg_cache_files_directory

std::string mrpt::nav::CAbstractPTGBasedReactive::ptg_cache_files_directory
protectedinherited

(Default: ".")

Definition at line 164 of file CAbstractPTGBasedReactive.h.

◆ refDistance

float mrpt::nav::CAbstractPTGBasedReactive::refDistance
protectedinherited

"D_{max}" in papers.

Definition at line 166 of file CAbstractPTGBasedReactive.h.

◆ robotMax_V_mps

float mrpt::nav::CAbstractPTGBasedReactive::robotMax_V_mps
protectedinherited

Max. linear speed (m/s)

Definition at line 168 of file CAbstractPTGBasedReactive.h.

◆ robotMax_W_degps

float mrpt::nav::CAbstractPTGBasedReactive::robotMax_W_degps
protectedinherited

Max. angular speed (deg/s)

Definition at line 169 of file CAbstractPTGBasedReactive.h.

◆ robotName

std::string mrpt::nav::CAbstractPTGBasedReactive::robotName
protectedinherited

Robot name.

Definition at line 165 of file CAbstractPTGBasedReactive.h.

◆ secureDistanceEnd

float mrpt::nav::CAbstractPTGBasedReactive::secureDistanceEnd
protectedinherited

Definition at line 189 of file CAbstractPTGBasedReactive.h.

◆ secureDistanceStart

float mrpt::nav::CAbstractPTGBasedReactive::secureDistanceStart
protectedinherited

In normalized distances, the start and end of a ramp function that scales the velocity output from the holonomic navigator:

velocity scale
^
| _____________
| /
1 | /
| /
0 +-------+---|----------------> normalized distance
Start
End
double BASE_IMPEXP distance(const TPoint2D &p1, const TPoint2D &p2)
Gets the distance between two points in a 2D space.

Definition at line 189 of file CAbstractPTGBasedReactive.h.

◆ SPEEDFILTER_TAU

float mrpt::nav::CAbstractPTGBasedReactive::SPEEDFILTER_TAU
protectedinherited

Time constant for the low-pass filter applied to the speed commands.

Definition at line 170 of file CAbstractPTGBasedReactive.h.

◆ tictac

mrpt::utils::CTicTac mrpt::nav::CAbstractPTGBasedReactive::tictac
protectedinherited

Definition at line 208 of file CAbstractPTGBasedReactive.h.

◆ timerForExecutionPeriod

mrpt::utils::CTicTac mrpt::nav::CAbstractPTGBasedReactive::timerForExecutionPeriod
protectedinherited

Definition at line 161 of file CAbstractPTGBasedReactive.h.

◆ totalExecutionTime

mrpt::utils::CTicTac mrpt::nav::CAbstractPTGBasedReactive::totalExecutionTime
protectedinherited

Definition at line 208 of file CAbstractPTGBasedReactive.h.

◆ weights

std::vector<float> mrpt::nav::CAbstractPTGBasedReactive::weights
protectedinherited

length: 6 [0,5]

Definition at line 171 of file CAbstractPTGBasedReactive.h.




Page generated by Doxygen 1.9.1 for MRPT 1.4.0 SVN: at Mon Apr 18 03:37:47 UTC 2022