7#include <backward_local_planner/BackwardLocalPlannerConfig.h> 
    8#include <dynamic_reconfigure/server.h> 
    9#include <geometry_msgs/PoseStamped.h> 
   10#include <nav_core/base_local_planner.h> 
   12#include <tf/transform_listener.h> 
   13#include <tf2_ros/buffer.h> 
   21namespace backward_local_planner
 
   49  virtual bool setPlan(
const std::vector<geometry_msgs::PoseStamped> &plan) 
override;
 
   64  void reconfigCB(::backward_local_planner::BackwardLocalPlannerConfig &config, uint32_t level);
 
   75                                       double alpha_error, 
double betta_error, 
double rho_error,
 
   76                                       geometry_msgs::Twist &cmd_vel);
 
   77  void defaultBackwardCmd(
const tf::Stamped<tf::Pose> &tfpose, 
double vetta, 
double gamma, 
double alpha_error,
 
   78                          double betta_error, geometry_msgs::Twist &cmd_vel);
 
   83                                                           double &angular_error);
 
   93  dynamic_reconfigure::Server<::backward_local_planner::BackwardLocalPlannerConfig> 
paramServer_;
 
   94  dynamic_reconfigure::Server<::backward_local_planner::BackwardLocalPlannerConfig>::CallbackType 
f;
 
  129  void generateTrajectory(
const Eigen::Vector3f &pos, 
const Eigen::Vector3f &vel, 
float maxdist, 
float maxangle,
 
  130                          float maxtime, 
float dt, std::vector<Eigen::Vector3f> &outtraj);
 
  131  Eigen::Vector3f 
computeNewPositions(
const Eigen::Vector3f &pos, 
const Eigen::Vector3f &vel, 
double dt);
 
bool findInitialCarrotGoal(tf::Stamped< tf::Pose > &pose)
 
bool straightBackwardsAndPureSpinningMode_
 
virtual bool isGoalReached() override
Check if the goal pose has been achieved by the local planner.
 
const double betta_offset_
 
const double alpha_offset_
 
ros::Duration waitingTimeout_
 
Eigen::Vector3f computeNewPositions(const Eigen::Vector3f &pos, const Eigen::Vector3f &vel, double dt)
 
bool resamplePrecisePlan()
 
bool enable_obstacle_checking_
 
bool updateCarrotGoal(const tf::Stamped< tf::Pose > &tfpose)
 
void defaultBackwardCmd(const tf::Stamped< tf::Pose > &tfpose, double vetta, double gamma, double alpha_error, double betta_error, geometry_msgs::Twist &cmd_vel)
 
bool checkCarrotHalfPlainConstraint(const tf::Stamped< tf::Pose > &tfpose)
 
virtual bool computeVelocityCommands(geometry_msgs::Twist &cmd_vel) override
Given the current position, orientation, and velocity of the robot: compute velocity commands to send...
 
meter divergenceDetectionLastCarrotLinearDistance_
 
bool resetDivergenceDetection()
 
costmap_2d::Costmap2DROS * costmapRos_
 
void straightBackwardsAndPureSpinCmd(const tf::Stamped< tf::Pose > &tfpose, double vetta, double gamma, double alpha_error, double betta_error, double rho_error, geometry_msgs::Twist &cmd_vel)
 
void reconfigCB(::backward_local_planner::BackwardLocalPlannerConfig &config, uint32_t level)
 
rad carrot_angular_distance_
 
virtual ~BackwardLocalPlanner()
 
void publishGoalMarker(double x, double y, double phi)
 
uint64_t currentCarrotPoseIndex_
 
ros::Publisher goalMarkerPublisher_
 
double linear_mode_rho_error_threshold_
 
bool checkCurrentPoseInGoalRange(const tf::Stamped< tf::Pose > &tfpose, double angle_error, bool &inLinearGoal)
 
double pure_spinning_allowed_betta_error_
 
double yaw_goal_tolerance_
 
void generateTrajectory(const Eigen::Vector3f &pos, const Eigen::Vector3f &vel, float maxdist, float maxangle, float maxtime, float dt, std::vector< Eigen::Vector3f > &outtraj)
 
bool initialPureSpinningStage_
 
double xy_goal_tolerance_
 
virtual bool setPlan(const std::vector< geometry_msgs::PoseStamped > &plan) override
Set the plan that the local planner is following.
 
bool divergenceDetectionUpdate(const tf::Stamped< tf::Pose > &tfpose)
 
void computeCurrentEuclideanAndAngularErrorsToCarrotGoal(const tf::Stamped< tf::Pose > &tfpose, double &dist, double &angular_error)
 
std::vector< geometry_msgs::PoseStamped > backwardsPlanPath_
 
double max_linear_x_speed_
 
bool inGoalPureSpinningState_
 
dynamic_reconfigure::Server<::backward_local_planner::BackwardLocalPlannerConfig >::CallbackType f
 
double max_angular_z_speed_
 
dynamic_reconfigure::Server<::backward_local_planner::BackwardLocalPlannerConfig > paramServer_