SMACC
|
This class track the required distance of the cord based on the external localization system. More...
#include <odom_tracker.h>
Public Member Functions | |
OdomTracker (std::string odomtopicName="/odom", std::string odomFrame="odom") | |
virtual void | processOdometryMessage (const nav_msgs::Odometry &odom) |
odom callback: Updates the path - this must be called periodically for each odometry message. More... | |
void | setWorkingMode (WorkingMode workingMode) |
void | setPublishMessages (bool value) |
void | pushPath (std::string newPathTagName="") |
void | popPath (int pathCount=1, bool keepPreviousPath=false) |
void | clearPath () |
void | setStartPoint (const geometry_msgs::PoseStamped &pose) |
void | setStartPoint (const geometry_msgs::Pose &pose) |
nav_msgs::Path | getPath () |
void | logStateString () |
const std::vector< StackedPathEntry > | getStackedPaths () const |
Public Member Functions inherited from smacc::ISmaccComponent | |
ISmaccComponent () | |
virtual | ~ISmaccComponent () |
virtual std::string | getName () const |
Protected Member Functions | |
void | reconfigCB (move_base_z_client_plugin::OdomTrackerConfig &config, uint32_t level) |
virtual void | rtPublishPaths (ros::Time timestamp) |
virtual bool | updateRecordPath (const nav_msgs::Odometry &odom) |
virtual bool | updateClearPath (const nav_msgs::Odometry &odom) |
void | updateAggregatedStackPath () |
Protected Member Functions inherited from smacc::ISmaccComponent | |
virtual void | initialize (ISmaccClient *owner) |
void | setStateMachine (ISmaccStateMachine *stateMachine) |
template<typename EventType > | |
void | postEvent (const EventType &ev) |
template<typename EventType > | |
void | postEvent () |
template<typename TOrthogonal , typename TSourceObject > | |
void | onOrthogonalAllocation () |
template<typename TComponent > | |
void | requiresComponent (TComponent *&requiredComponentStorage) |
template<typename TClient > | |
void | requiresClient (TClient *&requiredClientStorage) |
virtual void | onInitialize () |
template<typename SmaccComponentType , typename TOrthogonal , typename TClient , typename... TArgs> | |
SmaccComponentType * | createSiblingComponent (TArgs... targs) |
template<typename SmaccComponentType , typename TOrthogonal , typename TClient , typename... TArgs> | |
SmaccComponentType * | createSiblingNamedComponent (std::string name, TArgs... targs) |
Protected Attributes | |
dynamic_reconfigure::Server< move_base_z_client_plugin::OdomTrackerConfig > | paramServer_ |
dynamic_reconfigure::Server< move_base_z_client_plugin::OdomTrackerConfig >::CallbackType | f |
std::shared_ptr< realtime_tools::RealtimePublisher< nav_msgs::Path > > | robotBasePathPub_ |
std::shared_ptr< realtime_tools::RealtimePublisher< nav_msgs::Path > > | robotBasePathStackedPub_ |
ros::Subscriber | odomSub_ |
double | recordPointDistanceThreshold_ |
How much distance there is between two points of the path. More... | |
double | recordAngularDistanceThreshold_ |
Meters. More... | |
double | clearPointDistanceThreshold_ |
rads More... | |
double | clearAngularDistanceThreshold_ |
rads More... | |
std::string | odomFrame_ |
bool | publishMessages |
nav_msgs::Path | baseTrajectory_ |
Processed path for the mouth of the reel. More... | |
WorkingMode | workingMode_ |
std::vector< StackedPathEntry > | pathStack_ |
nav_msgs::Path | aggregatedStackPathMsg_ |
bool | subscribeToOdometryTopic_ |
std::string | currentPathTagName_ ="Initial State" |
std::mutex | m_mutex_ |
Protected Attributes inherited from smacc::ISmaccComponent | |
ISmaccStateMachine * | stateMachine_ |
ISmaccClient * | owner_ |
This class track the required distance of the cord based on the external localization system.
Definition at line 46 of file odom_tracker.h.
cl_move_base_z::odom_tracker::OdomTracker::OdomTracker | ( | std::string | odomtopicName = "/odom" , |
std::string | odomFrame = "odom" |
||
) |
Definition at line 14 of file odom_tracker.cpp.
References clearAngularDistanceThreshold_, clearPointDistanceThreshold_, f, odomFrame_, odomSub_, paramServer_, processOdometryMessage(), publishMessages, reconfigCB(), cl_move_base_z::odom_tracker::RECORD_PATH, recordAngularDistanceThreshold_, recordPointDistanceThreshold_, robotBasePathPub_, robotBasePathStackedPub_, subscribeToOdometryTopic_, and workingMode_.
void cl_move_base_z::odom_tracker::OdomTracker::clearPath | ( | ) |
Definition at line 166 of file odom_tracker.cpp.
References baseTrajectory_, logStateString(), m_mutex_, rtPublishPaths(), and updateAggregatedStackPath().
Referenced by cl_move_base_z::CbNavigateBackwards::onEntry().
nav_msgs::Path cl_move_base_z::odom_tracker::OdomTracker::getPath | ( | ) |
Definition at line 211 of file odom_tracker.cpp.
References baseTrajectory_, and m_mutex_.
Referenced by cl_move_base_z::CbUndoPathBackwards2::onEntry().
|
inline |
Definition at line 85 of file odom_tracker.h.
References pathStack_.
void cl_move_base_z::odom_tracker::OdomTracker::logStateString | ( | ) |
Definition at line 152 of file odom_tracker.cpp.
References baseTrajectory_, currentPathTagName_, and pathStack_.
Referenced by clearPath(), popPath(), and pushPath().
void cl_move_base_z::odom_tracker::OdomTracker::popPath | ( | int | pathCount = 1 , |
bool | keepPreviousPath = false |
||
) |
Definition at line 122 of file odom_tracker.cpp.
References baseTrajectory_, logStateString(), m_mutex_, pathStack_, and updateAggregatedStackPath().
Referenced by OdomTrackerActionServer::execute().
|
virtual |
odom callback: Updates the path - this must be called periodically for each odometry message.
Definition at line 403 of file odom_tracker.cpp.
References cl_move_base_z::odom_tracker::CLEAR_PATH, m_mutex_, publishMessages, cl_move_base_z::odom_tracker::RECORD_PATH, rtPublishPaths(), updateClearPath(), updateRecordPath(), and workingMode_.
Referenced by OdomTracker().
void cl_move_base_z::odom_tracker::OdomTracker::pushPath | ( | std::string | newPathTagName = "" | ) |
Definition at line 97 of file odom_tracker.cpp.
References baseTrajectory_, currentPathTagName_, logStateString(), m_mutex_, pathStack_, and updateAggregatedStackPath().
Referenced by OdomTrackerActionServer::execute(), cl_move_base_z::CbAbsoluteRotate::onEntry(), and cl_move_base_z::CbNavigateForward::onEntry().
|
protected |
Definition at line 387 of file odom_tracker.cpp.
References clearAngularDistanceThreshold_, clearPointDistanceThreshold_, odomFrame_, recordAngularDistanceThreshold_, and recordPointDistanceThreshold_.
Referenced by OdomTracker().
|
protectedvirtual |
Copy trajectory
Copy trajectory
Definition at line 222 of file odom_tracker.cpp.
References aggregatedStackPathMsg_, baseTrajectory_, robotBasePathPub_, and robotBasePathStackedPub_.
Referenced by clearPath(), and processOdometryMessage().
void cl_move_base_z::odom_tracker::OdomTracker::setPublishMessages | ( | bool | value | ) |
Definition at line 88 of file odom_tracker.cpp.
References m_mutex_, publishMessages, and updateAggregatedStackPath().
Referenced by OdomTrackerActionServer::execute().
void cl_move_base_z::odom_tracker::OdomTracker::setStartPoint | ( | const geometry_msgs::Pose & | pose | ) |
Definition at line 191 of file odom_tracker.cpp.
References baseTrajectory_, m_mutex_, odomFrame_, and updateAggregatedStackPath().
void cl_move_base_z::odom_tracker::OdomTracker::setStartPoint | ( | const geometry_msgs::PoseStamped & | pose | ) |
Definition at line 176 of file odom_tracker.cpp.
References baseTrajectory_, m_mutex_, and updateAggregatedStackPath().
Referenced by cl_move_base_z::CbNavigateBackwards::onEntry(), and cl_move_base_z::CbNavigateForward::onEntry().
void cl_move_base_z::odom_tracker::OdomTracker::setWorkingMode | ( | WorkingMode | workingMode | ) |
Definition at line 74 of file odom_tracker.cpp.
References m_mutex_, and workingMode_.
Referenced by OdomTrackerActionServer::execute(), cl_move_base_z::CbNavigateBackwards::onEntry(), cl_move_base_z::CbNavigateForward::onEntry(), cl_move_base_z::CbUndoPathBackwards2::onEntry(), cl_move_base_z::CbNavigateBackwards::onExit(), and cl_move_base_z::CbNavigateForward::onExit().
|
protected |
Definition at line 246 of file odom_tracker.cpp.
References aggregatedStackPathMsg_, odomFrame_, and pathStack_.
Referenced by clearPath(), popPath(), pushPath(), setPublishMessages(), and setStartPoint().
|
protectedvirtual |
updateBackward()
Track robot base pose
Not removing point because it is enough far from the last cord point
Definition at line 262 of file odom_tracker.cpp.
References baseTrajectory_, clearAngularDistanceThreshold_, clearPointDistanceThreshold_, and cl_move_base_z::odom_tracker::p2pDistance().
Referenced by processOdometryMessage().
|
protectedvirtual |
Track robot base pose
Definition at line 333 of file odom_tracker.cpp.
References baseTrajectory_, cl_move_base_z::odom_tracker::p2pDistance(), recordAngularDistanceThreshold_, and recordPointDistanceThreshold_.
Referenced by processOdometryMessage().
|
protected |
Definition at line 142 of file odom_tracker.h.
Referenced by rtPublishPaths(), and updateAggregatedStackPath().
|
protected |
Processed path for the mouth of the reel.
Definition at line 136 of file odom_tracker.h.
Referenced by clearPath(), getPath(), logStateString(), popPath(), pushPath(), rtPublishPaths(), setStartPoint(), updateClearPath(), and updateRecordPath().
|
protected |
rads
Definition at line 127 of file odom_tracker.h.
Referenced by OdomTracker(), reconfigCB(), and updateClearPath().
|
protected |
rads
Definition at line 124 of file odom_tracker.h.
Referenced by OdomTracker(), reconfigCB(), and updateClearPath().
|
protected |
Definition at line 147 of file odom_tracker.h.
Referenced by logStateString(), and pushPath().
|
protected |
Definition at line 92 of file odom_tracker.h.
Referenced by OdomTracker().
|
protected |
Definition at line 149 of file odom_tracker.h.
Referenced by clearPath(), getPath(), popPath(), processOdometryMessage(), pushPath(), setPublishMessages(), setStartPoint(), and setWorkingMode().
|
protected |
Definition at line 129 of file odom_tracker.h.
Referenced by OdomTracker(), reconfigCB(), setStartPoint(), and updateAggregatedStackPath().
|
protected |
Definition at line 114 of file odom_tracker.h.
Referenced by OdomTracker().
|
protected |
Definition at line 91 of file odom_tracker.h.
Referenced by OdomTracker().
|
protected |
Definition at line 140 of file odom_tracker.h.
Referenced by getStackedPaths(), logStateString(), popPath(), pushPath(), and updateAggregatedStackPath().
|
protected |
Definition at line 133 of file odom_tracker.h.
Referenced by OdomTracker(), processOdometryMessage(), and setPublishMessages().
|
protected |
Meters.
Definition at line 121 of file odom_tracker.h.
Referenced by OdomTracker(), reconfigCB(), and updateRecordPath().
|
protected |
How much distance there is between two points of the path.
Definition at line 118 of file odom_tracker.h.
Referenced by OdomTracker(), reconfigCB(), and updateRecordPath().
|
protected |
Definition at line 108 of file odom_tracker.h.
Referenced by OdomTracker(), and rtPublishPaths().
|
protected |
Definition at line 109 of file odom_tracker.h.
Referenced by OdomTracker(), and rtPublishPaths().
|
protected |
Definition at line 145 of file odom_tracker.h.
Referenced by OdomTracker().
|
protected |
Definition at line 138 of file odom_tracker.h.
Referenced by OdomTracker(), processOdometryMessage(), and setWorkingMode().