11#include <move_base_msgs/MoveBaseAction.h> 
   15#include <nav_msgs/Odometry.h> 
   16#include <nav_msgs/Path.h> 
   17#include <tf/transform_datatypes.h> 
   18#include <realtime_tools/realtime_publisher.h> 
   21#include <geometry_msgs/Point.h> 
   22#include <std_msgs/Header.h> 
   24#include <dynamic_reconfigure/server.h> 
   25#include <move_base_z_client_plugin/OdomTrackerConfig.h> 
   51    OdomTracker(std::string odomtopicName = 
"/odom", std::string odomFrame = 
"odom");
 
   66    void pushPath(std::string newPathTagName=
"");
 
   69    void popPath(
int pathCount = 1, 
bool keepPreviousPath = 
false);
 
   91    dynamic_reconfigure::Server<move_base_z_client_plugin::OdomTrackerConfig> 
paramServer_;
 
   92    dynamic_reconfigure::Server<move_base_z_client_plugin::OdomTrackerConfig>::CallbackType 
f;
 
   94    void reconfigCB(move_base_z_client_plugin::OdomTrackerConfig &config, uint32_t level);
 
  158inline double p2pDistance(
const geometry_msgs::Point &p1, 
const geometry_msgs::Point &p2)
 
  160    double dx = (p1.x - p2.x);
 
  161    double dy = (p1.y - p2.y);
 
  162    double dz = (p2.z - p2.z);
 
  163    double dist = sqrt(dx * dx + dy * dy + dz * dz);
 
This class track the required distance of the cord based on the external localization system.
 
nav_msgs::Path aggregatedStackPathMsg_
 
double recordAngularDistanceThreshold_
Meters.
 
virtual void processOdometryMessage(const nav_msgs::Odometry &odom)
odom callback: Updates the path - this must be called periodically for each odometry message.
 
double clearAngularDistanceThreshold_
rads
 
std::vector< StackedPathEntry > pathStack_
 
void popPath(int pathCount=1, bool keepPreviousPath=false)
 
dynamic_reconfigure::Server< move_base_z_client_plugin::OdomTrackerConfig >::CallbackType f
 
double recordPointDistanceThreshold_
How much distance there is between two points of the path.
 
void setPublishMessages(bool value)
 
std::shared_ptr< realtime_tools::RealtimePublisher< nav_msgs::Path > > robotBasePathPub_
 
nav_msgs::Path baseTrajectory_
Processed path for the mouth of the reel.
 
std::string currentPathTagName_
 
double clearPointDistanceThreshold_
rads
 
virtual bool updateRecordPath(const nav_msgs::Odometry &odom)
 
void updateAggregatedStackPath()
 
std::shared_ptr< realtime_tools::RealtimePublisher< nav_msgs::Path > > robotBasePathStackedPub_
 
dynamic_reconfigure::Server< move_base_z_client_plugin::OdomTrackerConfig > paramServer_
 
virtual void rtPublishPaths(ros::Time timestamp)
 
void setStartPoint(const geometry_msgs::PoseStamped &pose)
 
void pushPath(std::string newPathTagName="")
 
virtual bool updateClearPath(const nav_msgs::Odometry &odom)
 
void reconfigCB(move_base_z_client_plugin::OdomTrackerConfig &config, uint32_t level)
 
void setWorkingMode(WorkingMode workingMode)
 
const std::vector< StackedPathEntry > getStackedPaths() const
 
bool subscribeToOdometryTopic_
 
double p2pDistance(const geometry_msgs::Point &p1, const geometry_msgs::Point &p2)