LocalGuidance
A library that generates velocity references to follow a path.
local_guidance_path_manager::LocalGuidancePathManager Class Reference

#include <LocalGuidancePathManager.hpp>

Inheritance diagram for local_guidance_path_manager::LocalGuidancePathManager:
Inheritance graph

Public Member Functions

 LocalGuidancePathManager ()=delete
 
 LocalGuidancePathManager (any_node::Node::NodeHandlePtr nodeHandle)
 
 ~LocalGuidancePathManager () override=default
 
bool init () override
 
void cleanup () override
 
- Public Member Functions inherited from any_node::Node
 Node ()=delete
 
 Node (NodeHandlePtr nh)
 
virtual ~Node ()=default
 
virtual void preCleanup ()
 
void shutdown ()
 
template<class T >
bool addWorker (const std::string &name, const double timestep, bool(T::*fp)(const any_worker::WorkerEvent &), T *obj, const int priority=0)
 
bool addWorker (const any_worker::WorkerOptions &options)
 
bool hasWorker (const std::string &name)
 
void cancelWorker (const std::string &name, const bool wait=true)
 
void stopAllWorkers ()
 
ros::NodeHandle & getNodeHandle () const
 
template<typename msg >
ros::Publisher advertise (const std::string &name, const std::string &defaultTopic, uint32_t queue_size, bool latch=false)
 
template<typename msg >
ThreadedPublisherPtr< msg > threadedAdvertise (const std::string &name, const std::string &defaultTopic, uint32_t queue_size, bool latch=false, unsigned int maxMessageBufferSize=10)
 
template<class M , class T >
ros::Subscriber subscribe (const std::string &name, const std::string &defaultTopic, uint32_t queue_size, void(T::*fp)(const boost::shared_ptr< M const > &), T *obj, const ros::TransportHints &transport_hints=ros::TransportHints())
 
template<class M , class T >
ThrottledSubscriberPtr< M, T > throttledSubscribe (double timeStep, const std::string &name, const std::string &defaultTopic, uint32_t queue_size, void(T::*fp)(const boost::shared_ptr< M const > &), T *obj, const ros::TransportHints &transport_hints=ros::TransportHints())
 
template<class T , class MReq , class MRes >
ros::ServiceServer advertiseService (const std::string &name, const std::string &defaultService, bool(T::*srv_func)(MReq &, MRes &), T *obj)
 
template<class MReq , class MRes >
ros::ServiceClient serviceClient (const std::string &name, const std::string &defaultService, const ros::M_string &header_values=ros::M_string())
 
template<class Service >
ros::ServiceClient serviceClient (const std::string &name, const std::string &defaultService, const ros::M_string &header_values=ros::M_string())
 
template<typename ParamT >
bool getParam (const std::string &key, ParamT &param_val)
 
template<typename ParamT >
ParamT param (const std::string &key, const ParamT &defaultValue)
 
template<typename ParamT >
void setParam (const std::string &key, const ParamT &param)
 

Private Types

using FollowPathActionClient = actionlib::SimpleActionClient< navigation_msgs::FollowPathLocalGuidanceAction >
 
using FollowPathActionClientPtr = std::shared_ptr< FollowPathActionClient >
 
using FollowPathActionResultConstPtr = navigation_msgs::FollowPathLocalGuidanceResultConstPtr
 
using FollowPathActionFeedbackConstPtr = navigation_msgs::FollowPathLocalGuidanceFeedbackConstPtr
 
using FollowPathActionServerType = actionlib::SimpleActionServer< navigation_msgs::FollowPathLocalGuidanceAction >
 
using FollowPathActionServerTypePtr = std::shared_ptr< FollowPathActionServerType >
 
using FollowPathActionServerResult = navigation_msgs::FollowPathLocalGuidanceResult
 
using FollowPathActionFeedbackType = navigation_msgs::FollowPathLocalGuidanceFeedback
 
using ReplanPathActionServerType = actionlib::SimpleActionServer< navigation_msgs::ReplanPathLocalGuidanceAction >
 
using ReplanPathActionServerTypePtr = std::shared_ptr< ReplanPathActionServerType >
 
using ReplanPathActionServerResult = navigation_msgs::ReplanPathLocalGuidanceResult
 
using ReplanPathActionFeedbackType = navigation_msgs::ReplanPathLocalGuidanceFeedback
 

Private Member Functions

bool readPersistentParameters ()
 
void advertiseServers ()
 
void advertiseTopics ()
 
void subscribeToServers ()
 
void followLocalPathActionDoneCb (const actionlib::SimpleClientGoalState &state, const FollowPathActionResultConstPtr &result)
 
void followLocalPathActionActiveCb ()
 
void feedbackFollowLocalPathCb (const FollowPathActionFeedbackConstPtr &feedback)
 
void followGlobalPathActionRequest (const navigation_msgs::FollowPathLocalGuidanceGoalConstPtr &followPathGoal)
 
void replanPathActionGoalCallback ()
 
void followGlobalPath ()
 
bool publishCurrentLocalSubPathBasedOnTime ()
 
bool publishCurrentLocalSubPathNow ()
 
bool followPathActionPreemptRequested () const
 
bool replanPathActionPreemptRequested () const
 
bool replanningPathWorker (const any_worker::WorkerEvent &event)
 
bool handlePreemptionReplanningPath ()
 
void requestCancelReplanningPathWorker ()
 
bool cancelReplanningPathWorkerRequested () const
 
bool cancelReplanningPathWorker ()
 
void setupFollowingPath ()
 
void stopFollowingPath ()
 
bool setForcingZeroTwist (bool forceZeroTwist)
 
bool getTraversabilityMapFrameId (std::string *traversabilityMapFrameId)
 
SubPathsManagerPtr initSubPathsManager (const PathType &fullPath)
 
bool activateForcedStopFollowingPath (std_srvs::Trigger::Request &request, std_srvs::Trigger::Response &response)
 
bool releaseForcedStopFollowingPath (std_srvs::Trigger::Request &request, std_srvs::Trigger::Response &response)
 
bool setLocalGuidanceModeUpToLookaheadPose (navigation_msgs::SetModeLocalGuidance::Request &request, navigation_msgs::SetModeLocalGuidance::Response &response)
 
bool resetPathManager (std_srvs::Trigger::Request &request, std_srvs::Trigger::Response &response)
 
bool isReplanningRequestInProgress () const
 
void resetState ()
 

Private Attributes

FollowPathActionClientPtr followLocalPathActionClient_
 Used as action client to set a local path to the path follower, being action client. More...
 
std::string followLocalPathActionTopicName_
 Name of the action to follow sub path. More...
 
FollowPathActionServerTypePtr followGlobalPathActionServer_
 Used to advertise action to follow global path, being action server. More...
 
FollowPathActionFeedbackType followGlobalPathFeedback_
 Feedback (to be sent to client) of the follow global path action, being action server. More...
 
FollowPathActionServerResult followPathResult_
 Result (to be sent to client) of the follow global path action, being action server. More...
 
ReplanPathActionServerTypePtr replanPathActionServer_
 Used to advertise action to re-plan part of the path, being action server. More...
 
ReplanPathActionFeedbackType replanPathFeedback_
 Feedback (to be sent to client) of the re-plan path action, being action server. More...
 
ReplanPathActionServerResult replanPathResult_
 Result (to be sent to client) of the re-plan path action, being action server. More...
 
SubPathsManagerPtr subPathsManager_
 Manages data about global sub-paths to follow. More...
 
std::mutex subPathsManagerMutex_
 Mutex of subPathsManager_ object. More...
 
double timeStepConversionGlobalToLocalPath_ {10.0}
 Time interval used to trigger conversion global to local path. More...
 
actionlib::SimpleClientGoalState latestGoalStateFromFollower_ {actionlib::SimpleClientGoalState::PENDING}
 Holds the latest action client status reported from the path follower module. More...
 
double spinFrequencyActionControlLoop_ {10.0}
 Spin frequency main control loop contained in this node. More...
 
ros::Time lastTimeLocalSubPathWasPublished_ {0.0}
 Holds indication about last time a local sub-path was published to the follower. More...
 
bool publishSubPathCheckedForTraversability_ {false}
 Tells if the sub-path that is checked for traversability should be published as ROS message (to be visualized in rviz). More...
 
ros::Publisher subPathCheckedForTraversabilityPub_
 Publisher for sub-path currently checked for traversability. More...
 
bool publishLocalSubPath_ {false}
 Tells if the current local sub-path should be published as ROS message (to be visualized in rviz). More...
 
ros::Publisher localSubPathPub_
 Publisher of current local sub-path. More...
 
const std::string replanningPathWorkerName_ {"replannin_path_worker"}
 Name of the re-planning path worker. More...
 
bool cancelReplanningPathWorkerRequested_ {false}
 Tells if a request to cancel the re-planning path worker was already issued. More...
 
std::mutex cancelReplanningPathWorkerRequestedMutex_
 Mutex for the request to cancel the re-planning path worker. More...
 
double replanningPathWorkerFrequency_ {5.0}
 
ros::ServiceClient setForcingZeroTwistClient_
 Server client to force path follower to publish zero velocity twist. This is a sort of soft emergency stop to block the robot. More...
 
bool forceZeroTwistInPathFollower_ {false}
 Indicates if the path follower was forced to publish zero twist. More...
 
ros::Publisher globalPathPub_
 Publisher of the received globla path. More...
 
bool publishGlobalPathToFollow_ {false}
 Tells if the received global path should be published as ROS message (to be visualized in rviz). More...
 
ros::ServiceClient getTraversabilityMapFrameIdClient_
 Server client to ask for frame_id of the traversability map. More...
 
std::string traversabilityMapFrameId_ {"odom"}
 Contains the frame_id of the traversability map. More...
 
ros::ServiceServer activateForcedStopFollowingPathSrv_
 Server to enable forced stop following path. More...
 
ros::ServiceServer releaseForcedStopFollowingPathSrv_
 Server to release forced stop following path. More...
 
bool forcedStopFollowingPath_ {false}
 Tells if following a path should be stopped, no matter of any other input. More...
 
ros::ServiceServer setLocalGuidanceModeUpToLookaheadPoseSrv_
 Server to set a local guidance mode on the current path, up to a specified pose on the path. More...
 
ros::ServiceServer resetPathManagerSrv_
 Server to reset the path manager. More...
 
bool resetPathManagerWasRequested_ {false}
 Tells if there was a request to reset the state of the path manager. More...
 
bool isFollowingAPath_ {false}
 Tells if a path is currently being followed. More...
 

Additional Inherited Members

- Public Types inherited from any_node::Node
using NodeHandlePtr = std::shared_ptr< ros::NodeHandle >
 
- Protected Attributes inherited from any_node::Node
NodeHandlePtr nh_
 

Member Typedef Documentation

◆ FollowPathActionClient

◆ FollowPathActionClientPtr

◆ FollowPathActionFeedbackConstPtr

◆ FollowPathActionFeedbackType

◆ FollowPathActionResultConstPtr

◆ FollowPathActionServerResult

◆ FollowPathActionServerType

◆ FollowPathActionServerTypePtr

◆ ReplanPathActionFeedbackType

◆ ReplanPathActionServerResult

◆ ReplanPathActionServerType

◆ ReplanPathActionServerTypePtr

Constructor & Destructor Documentation

◆ LocalGuidancePathManager() [1/2]

local_guidance_path_manager::LocalGuidancePathManager::LocalGuidancePathManager ( )
delete

◆ LocalGuidancePathManager() [2/2]

local_guidance_path_manager::LocalGuidancePathManager::LocalGuidancePathManager ( any_node::Node::NodeHandlePtr  nodeHandle)
explicit

◆ ~LocalGuidancePathManager()

local_guidance_path_manager::LocalGuidancePathManager::~LocalGuidancePathManager ( )
overridedefault

Member Function Documentation

◆ activateForcedStopFollowingPath()

bool local_guidance_path_manager::LocalGuidancePathManager::activateForcedStopFollowingPath ( std_srvs::Trigger::Request &  request,
std_srvs::Trigger::Response &  response 
)
private

Activates the forced stop of following path. This is a safety service which can always be used to stop the following.

Parameters
requestservice request
responseresponse to the request
Returns
true

◆ advertiseServers()

void local_guidance_path_manager::LocalGuidancePathManager::advertiseServers ( )
private

Advertises ROS service and action servers.

◆ advertiseTopics()

void local_guidance_path_manager::LocalGuidancePathManager::advertiseTopics ( )
private

Advertises ROS topics.

◆ cancelReplanningPathWorker()

bool local_guidance_path_manager::LocalGuidancePathManager::cancelReplanningPathWorker ( )
private

Cancel the re-planning path worker.

Returns
true if it was possible to issue a request to stop the re-plan path worker.

◆ cancelReplanningPathWorkerRequested()

bool local_guidance_path_manager::LocalGuidancePathManager::cancelReplanningPathWorkerRequested ( ) const
private

Tells if a request to cancel the re-planning path worker was issued.

Returns
true if there is a pending request to cancel the re-plan path worker.

◆ cleanup()

void local_guidance_path_manager::LocalGuidancePathManager::cleanup ( )
overridevirtual

Cleanup function, called by Nodewrap after stopping workers. This function is called even if init() returned false.

Implements any_node::Node.

◆ feedbackFollowLocalPathCb()

void local_guidance_path_manager::LocalGuidancePathManager::feedbackFollowLocalPathCb ( const FollowPathActionFeedbackConstPtr feedback)
private

Called every time feedback from follow local path action is received for the set goal.

Parameters
feedbackfeedback from the action follow local path, received from the path follower.

◆ followGlobalPath()

void local_guidance_path_manager::LocalGuidancePathManager::followGlobalPath ( )
private

Actual function to follow a global path and sets up and updates a local path to follow.

◆ followGlobalPathActionRequest()

void local_guidance_path_manager::LocalGuidancePathManager::followGlobalPathActionRequest ( const navigation_msgs::FollowPathLocalGuidanceGoalConstPtr followPathGoal)
private

Receives the action request to follow a global path and sets up and updates a local path to follow.

Parameters
followPathGoalgoal of the action, i.e. a global path to be followed. It can contain sub-paths with different local guidance modes.

◆ followLocalPathActionActiveCb()

void local_guidance_path_manager::LocalGuidancePathManager::followLocalPathActionActiveCb ( )
private

Called once when the goal of the follow local path action becomes active.

◆ followLocalPathActionDoneCb()

void local_guidance_path_manager::LocalGuidancePathManager::followLocalPathActionDoneCb ( const actionlib::SimpleClientGoalState &  state,
const FollowPathActionResultConstPtr result 
)
private

Called once when the goal of the follow local path action is completed.

Parameters
state
result

◆ followPathActionPreemptRequested()

bool local_guidance_path_manager::LocalGuidancePathManager::followPathActionPreemptRequested ( ) const
private

Checks if followPathAction preempt has been requested.

Returns
true if preempt has been requested.

◆ getTraversabilityMapFrameId()

bool local_guidance_path_manager::LocalGuidancePathManager::getTraversabilityMapFrameId ( std::string *  traversabilityMapFrameId)
private

Asks the traversability map frame_id to the traversability planner module.

Parameters
[out]traversabilityMapFrameIdframe_id of the traversability map, empty string if request failed.
Returns
true

◆ handlePreemptionReplanningPath()

bool local_guidance_path_manager::LocalGuidancePathManager::handlePreemptionReplanningPath ( )
private

Handles a pre-emption request for the re-planner path action.

Returns
true in case of success.

◆ init()

bool local_guidance_path_manager::LocalGuidancePathManager::init ( )
overridevirtual

Init function, used to initialize all members and starting workers (if any).

Returns
True if successful. Returning false indicates that the node shall shut down.

Implements any_node::Node.

◆ initSubPathsManager()

SubPathsManagerPtr local_guidance_path_manager::LocalGuidancePathManager::initSubPathsManager ( const PathType fullPath)
private

Tries to initialize a sub-paths manager object.

Parameters
[in]fullPathfull path that is used to initialize the sub-paths manager.
Returns
initialized sub-paths manager object if success, nullptr otherwise.

◆ isReplanningRequestInProgress()

bool local_guidance_path_manager::LocalGuidancePathManager::isReplanningRequestInProgress ( ) const
private

Tells if a re-planning request is in progress at the moment.

Returns
true if a re-planning request is in progress.

◆ publishCurrentLocalSubPathBasedOnTime()

bool local_guidance_path_manager::LocalGuidancePathManager::publishCurrentLocalSubPathBasedOnTime ( )
private

Sends an updated version of the current local sub path to the follower. WARNING: Actual publishing of the path is throttled within the function: path is actually published only if a certain amount of time (see timeStepConversionGlobalToLocalPath_) is elapsed since last publishing.

Returns
true if new local sub path was published during the function call.

◆ publishCurrentLocalSubPathNow()

bool local_guidance_path_manager::LocalGuidancePathManager::publishCurrentLocalSubPathNow ( )
private

Sends an updated version of the current local sub path to the follower.

Returns
true if new local sub path was successfully set.

◆ readPersistentParameters()

bool local_guidance_path_manager::LocalGuidancePathManager::readPersistentParameters ( )
private

Reads and verifies persistent (kept in class memory) ROS parameters.

Returns
true if successful.

◆ releaseForcedStopFollowingPath()

bool local_guidance_path_manager::LocalGuidancePathManager::releaseForcedStopFollowingPath ( std_srvs::Trigger::Request &  request,
std_srvs::Trigger::Response &  response 
)
private

Releases the forced stop of following path. After you release the force stop, then you can start again to follow a path.

Parameters
requestservice request
responseresponse to the request
Returns
true

◆ replanningPathWorker()

bool local_guidance_path_manager::LocalGuidancePathManager::replanningPathWorker ( const any_worker::WorkerEvent event)
private

Worker to re-plan parts of global path.

Parameters
[in]event
Returns
true if worker executed callback function correctly.

◆ replanPathActionGoalCallback()

void local_guidance_path_manager::LocalGuidancePathManager::replanPathActionGoalCallback ( )
private

Callback when a new re-planning request occurs.

◆ replanPathActionPreemptRequested()

bool local_guidance_path_manager::LocalGuidancePathManager::replanPathActionPreemptRequested ( ) const
private

Checks if replanPathAction preempt has been requested.

Returns
true if preempt has been requested.

◆ requestCancelReplanningPathWorker()

void local_guidance_path_manager::LocalGuidancePathManager::requestCancelReplanningPathWorker ( )
private

Requests to cancel the re-planning path worker.

◆ resetPathManager()

bool local_guidance_path_manager::LocalGuidancePathManager::resetPathManager ( std_srvs::Trigger::Request &  request,
std_srvs::Trigger::Response &  response 
)
private

Resets the internal state of the path manager. If a path is being followed the action is first stopped.

Parameters
requestservice request
responseresponse to the request
Returns
true

◆ resetState()

void local_guidance_path_manager::LocalGuidancePathManager::resetState ( )
private

Resets the internal state.

◆ setForcingZeroTwist()

bool local_guidance_path_manager::LocalGuidancePathManager::setForcingZeroTwist ( bool  forceZeroTwist)
private

Calls service to enable/disable forcing zero twist publishing.

◆ setLocalGuidanceModeUpToLookaheadPose()

bool local_guidance_path_manager::LocalGuidancePathManager::setLocalGuidanceModeUpToLookaheadPose ( navigation_msgs::SetModeLocalGuidance::Request request,
navigation_msgs::SetModeLocalGuidance::Response response 
)
private

Sets a specified local guidance mode from the closes pose of the path form the robot's pose, up to a pose obtained travelling along the path with the distance specified in the service request.

Parameters
requestservice request
responseresponse to the request
Returns
true

◆ setupFollowingPath()

void local_guidance_path_manager::LocalGuidancePathManager::setupFollowingPath ( )
private

Executes required actions to be ready to follow a path.

◆ stopFollowingPath()

void local_guidance_path_manager::LocalGuidancePathManager::stopFollowingPath ( )
private

Executes required actions to stop to follow a path.

◆ subscribeToServers()

void local_guidance_path_manager::LocalGuidancePathManager::subscribeToServers ( )
private

Subscribes to ROS service and action servers.

Member Data Documentation

◆ activateForcedStopFollowingPathSrv_

ros::ServiceServer local_guidance_path_manager::LocalGuidancePathManager::activateForcedStopFollowingPathSrv_
private

Server to enable forced stop following path.

◆ cancelReplanningPathWorkerRequested_

bool local_guidance_path_manager::LocalGuidancePathManager::cancelReplanningPathWorkerRequested_ {false}
private

Tells if a request to cancel the re-planning path worker was already issued.

◆ cancelReplanningPathWorkerRequestedMutex_

std::mutex local_guidance_path_manager::LocalGuidancePathManager::cancelReplanningPathWorkerRequestedMutex_
mutableprivate

Mutex for the request to cancel the re-planning path worker.

◆ followGlobalPathActionServer_

FollowPathActionServerTypePtr local_guidance_path_manager::LocalGuidancePathManager::followGlobalPathActionServer_
private

Used to advertise action to follow global path, being action server.

◆ followGlobalPathFeedback_

FollowPathActionFeedbackType local_guidance_path_manager::LocalGuidancePathManager::followGlobalPathFeedback_
private

Feedback (to be sent to client) of the follow global path action, being action server.

◆ followLocalPathActionClient_

FollowPathActionClientPtr local_guidance_path_manager::LocalGuidancePathManager::followLocalPathActionClient_
private

Used as action client to set a local path to the path follower, being action client.

◆ followLocalPathActionTopicName_

std::string local_guidance_path_manager::LocalGuidancePathManager::followLocalPathActionTopicName_
private

Name of the action to follow sub path.

◆ followPathResult_

FollowPathActionServerResult local_guidance_path_manager::LocalGuidancePathManager::followPathResult_
private

Result (to be sent to client) of the follow global path action, being action server.

◆ forcedStopFollowingPath_

bool local_guidance_path_manager::LocalGuidancePathManager::forcedStopFollowingPath_ {false}
private

Tells if following a path should be stopped, no matter of any other input.

◆ forceZeroTwistInPathFollower_

bool local_guidance_path_manager::LocalGuidancePathManager::forceZeroTwistInPathFollower_ {false}
private

Indicates if the path follower was forced to publish zero twist.

◆ getTraversabilityMapFrameIdClient_

ros::ServiceClient local_guidance_path_manager::LocalGuidancePathManager::getTraversabilityMapFrameIdClient_
private

Server client to ask for frame_id of the traversability map.

◆ globalPathPub_

ros::Publisher local_guidance_path_manager::LocalGuidancePathManager::globalPathPub_
private

Publisher of the received globla path.

◆ isFollowingAPath_

bool local_guidance_path_manager::LocalGuidancePathManager::isFollowingAPath_ {false}
private

Tells if a path is currently being followed.

◆ lastTimeLocalSubPathWasPublished_

ros::Time local_guidance_path_manager::LocalGuidancePathManager::lastTimeLocalSubPathWasPublished_ {0.0}
private

Holds indication about last time a local sub-path was published to the follower.

◆ latestGoalStateFromFollower_

actionlib::SimpleClientGoalState local_guidance_path_manager::LocalGuidancePathManager::latestGoalStateFromFollower_ {actionlib::SimpleClientGoalState::PENDING}
private

Holds the latest action client status reported from the path follower module.

◆ localSubPathPub_

ros::Publisher local_guidance_path_manager::LocalGuidancePathManager::localSubPathPub_
private

Publisher of current local sub-path.

◆ publishGlobalPathToFollow_

bool local_guidance_path_manager::LocalGuidancePathManager::publishGlobalPathToFollow_ {false}
private

Tells if the received global path should be published as ROS message (to be visualized in rviz).

◆ publishLocalSubPath_

bool local_guidance_path_manager::LocalGuidancePathManager::publishLocalSubPath_ {false}
private

Tells if the current local sub-path should be published as ROS message (to be visualized in rviz).

◆ publishSubPathCheckedForTraversability_

bool local_guidance_path_manager::LocalGuidancePathManager::publishSubPathCheckedForTraversability_ {false}
private

Tells if the sub-path that is checked for traversability should be published as ROS message (to be visualized in rviz).

◆ releaseForcedStopFollowingPathSrv_

ros::ServiceServer local_guidance_path_manager::LocalGuidancePathManager::releaseForcedStopFollowingPathSrv_
private

Server to release forced stop following path.

◆ replanningPathWorkerFrequency_

double local_guidance_path_manager::LocalGuidancePathManager::replanningPathWorkerFrequency_ {5.0}
private

◆ replanningPathWorkerName_

const std::string local_guidance_path_manager::LocalGuidancePathManager::replanningPathWorkerName_ {"replannin_path_worker"}
private

Name of the re-planning path worker.

◆ replanPathActionServer_

ReplanPathActionServerTypePtr local_guidance_path_manager::LocalGuidancePathManager::replanPathActionServer_
private

Used to advertise action to re-plan part of the path, being action server.

◆ replanPathFeedback_

ReplanPathActionFeedbackType local_guidance_path_manager::LocalGuidancePathManager::replanPathFeedback_
private

Feedback (to be sent to client) of the re-plan path action, being action server.

◆ replanPathResult_

ReplanPathActionServerResult local_guidance_path_manager::LocalGuidancePathManager::replanPathResult_
private

Result (to be sent to client) of the re-plan path action, being action server.

◆ resetPathManagerSrv_

ros::ServiceServer local_guidance_path_manager::LocalGuidancePathManager::resetPathManagerSrv_
private

Server to reset the path manager.

◆ resetPathManagerWasRequested_

bool local_guidance_path_manager::LocalGuidancePathManager::resetPathManagerWasRequested_ {false}
private

Tells if there was a request to reset the state of the path manager.

◆ setForcingZeroTwistClient_

ros::ServiceClient local_guidance_path_manager::LocalGuidancePathManager::setForcingZeroTwistClient_
private

Server client to force path follower to publish zero velocity twist. This is a sort of soft emergency stop to block the robot.

◆ setLocalGuidanceModeUpToLookaheadPoseSrv_

ros::ServiceServer local_guidance_path_manager::LocalGuidancePathManager::setLocalGuidanceModeUpToLookaheadPoseSrv_
private

Server to set a local guidance mode on the current path, up to a specified pose on the path.

◆ spinFrequencyActionControlLoop_

double local_guidance_path_manager::LocalGuidancePathManager::spinFrequencyActionControlLoop_ {10.0}
private

Spin frequency main control loop contained in this node.

◆ subPathCheckedForTraversabilityPub_

ros::Publisher local_guidance_path_manager::LocalGuidancePathManager::subPathCheckedForTraversabilityPub_
private

Publisher for sub-path currently checked for traversability.

◆ subPathsManager_

SubPathsManagerPtr local_guidance_path_manager::LocalGuidancePathManager::subPathsManager_
private

Manages data about global sub-paths to follow.

◆ subPathsManagerMutex_

std::mutex local_guidance_path_manager::LocalGuidancePathManager::subPathsManagerMutex_
mutableprivate

Mutex of subPathsManager_ object.

◆ timeStepConversionGlobalToLocalPath_

double local_guidance_path_manager::LocalGuidancePathManager::timeStepConversionGlobalToLocalPath_ {10.0}
private

Time interval used to trigger conversion global to local path.

◆ traversabilityMapFrameId_

std::string local_guidance_path_manager::LocalGuidancePathManager::traversabilityMapFrameId_ {"odom"}
private

Contains the frame_id of the traversability map.


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