| 
    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().