selfdriving
Public Member Functions | Public Attributes | List of all members
mpp::NavEngine::CurrentNavInternalState Struct Reference

#include <mpp/algos/NavEngine.h>

Public Member Functions

 CurrentNavInternalState ()=default
 
void clear ()
 
void active_plan_reset (bool alsoClearComputedPath=false)
 

Public Attributes

WaypointStatusSequence waypointNavStatus
 
mrpt::poses::CPose2DInterpolator latestPoses
 
mrpt::poses::CPose2DInterpolator latestOdomPoses
 
std::future< PathPlannerOutputpathPlannerFuture
 
std::optional< waypoint_idx_tpathPlannerTargetWpIdx
 
std::optional< mrpt::math::TPose2D > collisionCheckingPosePrediction
 From check_immediate_collision(). For Debug visualization. More...
 
PathPlannerOutput activePlanOutput
 
std::vector< MotionPrimitivesTreeSE2::node_t > activePlanPath
 
std::vector< MotionPrimitivesTreeSE2::edge_tactivePlanPathEdges
 
std::optional< EnqueuedConditionactiveEnqueuedConditionForViz
 
std::optional< VehicleOdometryStatelastEnqueuedTriggerOdometry
 
std::optional< size_t > activePlanEdgeIndex
 
std::optional< size_t > activePlanEdgeSentIndex
 
std::set< size_t > activePlanEdgesSentOut
 
std::optional< mrpt::math::TPose2D > activePlanInitOdometry
 
double badNavAlarmMinDistTarget_ = std::numeric_limits<double>::max()
 
mrpt::Clock::time_point badNavAlarmLastMinDistTime_
 
bool navigationEndEventSent = false
 

Data to be cleared upon each iteration

mrpt::kinematics::CVehicleVelCmd::Ptr sentOutCmdInThisIteration
 
mrpt::opengl::CSetOfObjects::Ptr planVizForNavLog
 
mrpt::opengl::CSetOfObjects::Ptr stateVizForNavLog
 
std::vector< std::string > navlogDebugMessages
 
std::optional< double > lastNavigationStepEndTime
 
std::optional< double > timStartThisNavStep
 
std::optional< double > lastDistanceToGoalTimestamp
 
std::optional< double > lastDistanceToGoal
 
void clearPerIterationData ()
 

Detailed Description

Everything that should be cleared upon a new navigation command.

Constructor & Destructor Documentation

◆ CurrentNavInternalState()

mpp::NavEngine::CurrentNavInternalState::CurrentNavInternalState ( )
default

Member Function Documentation

◆ active_plan_reset()

void mpp::NavEngine::CurrentNavInternalState::active_plan_reset ( bool  alsoClearComputedPath = false)
inline

◆ clear()

void mpp::NavEngine::CurrentNavInternalState::clear ( )
inline

◆ clearPerIterationData()

void mpp::NavEngine::CurrentNavInternalState::clearPerIterationData ( )
inline

Member Data Documentation

◆ activeEnqueuedConditionForViz

std::optional<EnqueuedCondition> mpp::NavEngine::CurrentNavInternalState::activeEnqueuedConditionForViz

A copy of the active queued condition, for viz purposes only (coordinates here are in the odometry frame)

◆ activePlanEdgeIndex

std::optional<size_t> mpp::NavEngine::CurrentNavInternalState::activePlanEdgeIndex

0-based index of which edge in activePlanPathEdges[] is currently being executed by the robot. Empty if the plan is new and no order has been sent out to the robot yet. The i-th edge is moving between nodes [i] and [i+1] in activePlanPath.

◆ activePlanEdgeSentIndex

std::optional<size_t> mpp::NavEngine::CurrentNavInternalState::activePlanEdgeSentIndex

Will be equal to activePlanEdgeIndex once the command has been sent out to the robot

◆ activePlanEdgesSentOut

std::set<size_t> mpp::NavEngine::CurrentNavInternalState::activePlanEdgesSentOut

◆ activePlanInitOdometry

std::optional<mrpt::math::TPose2D> mpp::NavEngine::CurrentNavInternalState::activePlanInitOdometry

The robot pose in the odom frame when the first motion edge is executed from send_next_motion_cmd_or_nop()

◆ activePlanOutput

PathPlannerOutput mpp::NavEngine::CurrentNavInternalState::activePlanOutput

◆ activePlanPath

std::vector<MotionPrimitivesTreeSE2::node_t> mpp::NavEngine::CurrentNavInternalState::activePlanPath

◆ activePlanPathEdges

std::vector<MotionPrimitivesTreeSE2::edge_t> mpp::NavEngine::CurrentNavInternalState::activePlanPathEdges

◆ badNavAlarmLastMinDistTime_

mrpt::Clock::time_point mpp::NavEngine::CurrentNavInternalState::badNavAlarmLastMinDistTime_
Initial value:
=
mrpt::Clock::now()

◆ badNavAlarmMinDistTarget_

double mpp::NavEngine::CurrentNavInternalState::badNavAlarmMinDistTarget_ = std::numeric_limits<double>::max()

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

◆ collisionCheckingPosePrediction

std::optional<mrpt::math::TPose2D> mpp::NavEngine::CurrentNavInternalState::collisionCheckingPosePrediction

From check_immediate_collision(). For Debug visualization.

◆ lastDistanceToGoal

std::optional<double> mpp::NavEngine::CurrentNavInternalState::lastDistanceToGoal

◆ lastDistanceToGoalTimestamp

std::optional<double> mpp::NavEngine::CurrentNavInternalState::lastDistanceToGoalTimestamp

Values used to check against Configuration::timeoutNotGettingCloserGoal

◆ lastEnqueuedTriggerOdometry

std::optional<VehicleOdometryState> mpp::NavEngine::CurrentNavInternalState::lastEnqueuedTriggerOdometry

A copy of the last odometry when an enqueued action was triggered, for viz purposed only

◆ lastNavigationStepEndTime

std::optional<double> mpp::NavEngine::CurrentNavInternalState::lastNavigationStepEndTime

◆ latestOdomPoses

mrpt::poses::CPose2DInterpolator mpp::NavEngine::CurrentNavInternalState::latestOdomPoses

◆ latestPoses

mrpt::poses::CPose2DInterpolator mpp::NavEngine::CurrentNavInternalState::latestPoses

Latest robot poses, updated in navigation_Step()

◆ navigationEndEventSent

bool mpp::NavEngine::CurrentNavInternalState::navigationEndEventSent = false

Will be false until the navigation end is sent.

◆ navlogDebugMessages

std::vector<std::string> mpp::NavEngine::CurrentNavInternalState::navlogDebugMessages

◆ pathPlannerFuture

std::future<PathPlannerOutput> mpp::NavEngine::CurrentNavInternalState::pathPlannerFuture

◆ pathPlannerTargetWpIdx

std::optional<waypoint_idx_t> mpp::NavEngine::CurrentNavInternalState::pathPlannerTargetWpIdx

The final waypoint of the currently under-optimization/already finished path planning.

◆ planVizForNavLog

mrpt::opengl::CSetOfObjects::Ptr mpp::NavEngine::CurrentNavInternalState::planVizForNavLog

◆ sentOutCmdInThisIteration

mrpt::kinematics::CVehicleVelCmd::Ptr mpp::NavEngine::CurrentNavInternalState::sentOutCmdInThisIteration

Copy of sent-out cmd, for the log record

◆ stateVizForNavLog

mrpt::opengl::CSetOfObjects::Ptr mpp::NavEngine::CurrentNavInternalState::stateVizForNavLog

◆ timStartThisNavStep

std::optional<double> mpp::NavEngine::CurrentNavInternalState::timStartThisNavStep

◆ waypointNavStatus

WaypointStatusSequence mpp::NavEngine::CurrentNavInternalState::waypointNavStatus

The latest waypoints navigation command and the up-to-date control status.


The documentation for this struct was generated from the following file: