SMACC
|
#include <backward_local_planner.h>
Public Member Functions | |
BackwardLocalPlanner () | |
virtual | ~BackwardLocalPlanner () |
virtual bool | computeVelocityCommands (geometry_msgs::Twist &cmd_vel) override |
Given the current position, orientation, and velocity of the robot: compute velocity commands to send to the robot mobile base. More... | |
virtual bool | isGoalReached () override |
Check if the goal pose has been achieved by the local planner. More... | |
virtual bool | setPlan (const std::vector< geometry_msgs::PoseStamped > &plan) override |
Set the plan that the local planner is following. More... | |
void | initialize (std::string name, tf::TransformListener *tf, costmap_2d::Costmap2DROS *costmapRos_) |
Constructs the local planner. More... | |
void | initialize (std::string name, tf2_ros::Buffer *tf, costmap_2d::Costmap2DROS *costmapRos_) |
void | initialize () |
Private Member Functions | |
void | reconfigCB (::backward_local_planner::BackwardLocalPlannerConfig &config, uint32_t level) |
bool | findInitialCarrotGoal (tf::Stamped< tf::Pose > &pose) |
bool | updateCarrotGoal (const tf::Stamped< tf::Pose > &tfpose) |
bool | resamplePrecisePlan () |
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 | defaultBackwardCmd (const tf::Stamped< tf::Pose > &tfpose, double vetta, double gamma, double alpha_error, double betta_error, geometry_msgs::Twist &cmd_vel) |
void | publishGoalMarker (double x, double y, double phi) |
void | computeCurrentEuclideanAndAngularErrorsToCarrotGoal (const tf::Stamped< tf::Pose > &tfpose, double &dist, double &angular_error) |
bool | checkCurrentPoseInGoalRange (const tf::Stamped< tf::Pose > &tfpose, double angle_error, bool &inLinearGoal) |
bool | resetDivergenceDetection () |
bool | divergenceDetectionUpdate (const tf::Stamped< tf::Pose > &tfpose) |
bool | checkCarrotHalfPlainConstraint (const tf::Stamped< tf::Pose > &tfpose) |
void | generateTrajectory (const Eigen::Vector3f &pos, const Eigen::Vector3f &vel, float maxdist, float maxangle, float maxtime, float dt, std::vector< Eigen::Vector3f > &outtraj) |
Eigen::Vector3f | computeNewPositions (const Eigen::Vector3f &pos, const Eigen::Vector3f &vel, double dt) |
Definition at line 23 of file backward_local_planner.h.
cl_move_base_z::backward_local_planner::BackwardLocalPlanner::BackwardLocalPlanner | ( | ) |
Definition at line 20 of file backward_local_planner.cpp.
|
virtual |
|
private |
Definition at line 212 of file backward_local_planner.cpp.
References backwardsPlanPath_, and currentCarrotPoseIndex_.
Referenced by computeVelocityCommands().
|
private |
Definition at line 240 of file backward_local_planner.cpp.
References backwardsPlanPath_, xy_goal_tolerance_, and yaw_goal_tolerance_.
Referenced by computeVelocityCommands().
|
private |
Definition at line 99 of file backward_local_planner.cpp.
References backwardsPlanPath_, and currentCarrotPoseIndex_.
Referenced by divergenceDetectionUpdate(), findInitialCarrotGoal(), and updateCarrotGoal().
|
private |
Definition at line 862 of file backward_local_planner.cpp.
Referenced by generateTrajectory().
|
overridevirtual |
Given the current position, orientation, and velocity of the robot: compute velocity commands to send to the robot mobile base.
cmd_vel | Will be filled with the velocity command to be passed to the robot base |
Definition at line 331 of file backward_local_planner.cpp.
References alpha_offset_, backwardsPlanPath_, betta_offset_, checkCarrotHalfPlainConstraint(), checkCurrentPoseInGoalRange(), costmapRos_, currentCarrotPoseIndex_, defaultBackwardCmd(), enable_obstacle_checking_, generateTrajectory(), goalReached_, inGoalPureSpinningState_, k_alpha_, k_betta_, k_rho_, max_angular_z_speed_, max_linear_x_speed_, cl_move_base_z::backward_local_planner::optionalRobotPose(), publishGoalMarker(), straightBackwardsAndPureSpinCmd(), straightBackwardsAndPureSpinningMode_, updateCarrotGoal(), waiting_, waitingStamp_, waitingTimeout_, and xy_goal_tolerance_.
|
private |
Definition at line 266 of file backward_local_planner.cpp.
Referenced by computeVelocityCommands().
|
private |
Definition at line 181 of file backward_local_planner.cpp.
References computeCurrentEuclideanAndAngularErrorsToCarrotGoal(), and divergenceDetectionLastCarrotLinearDistance_.
Referenced by setPlan().
|
private |
Definition at line 633 of file backward_local_planner.cpp.
References backwardsPlanPath_, carrot_angular_distance_, carrot_distance_, computeCurrentEuclideanAndAngularErrorsToCarrotGoal(), and currentCarrotPoseIndex_.
Referenced by setPlan().
|
private |
Definition at line 800 of file backward_local_planner.cpp.
References computeNewPositions().
Referenced by computeVelocityCommands().
void cl_move_base_z::backward_local_planner::BackwardLocalPlanner::initialize | ( | ) |
Definition at line 40 of file backward_local_planner.cpp.
References carrot_angular_distance_, carrot_distance_, currentCarrotPoseIndex_, enable_obstacle_checking_, f, goalMarkerPublisher_, k_alpha_, k_betta_, k_rho_, linear_mode_rho_error_threshold_, max_angular_z_speed_, max_linear_x_speed_, paramServer_, reconfigCB(), straightBackwardsAndPureSpinningMode_, waitingTimeout_, xy_goal_tolerance_, and yaw_goal_tolerance_.
Referenced by initialize().
void cl_move_base_z::backward_local_planner::BackwardLocalPlanner::initialize | ( | std::string | name, |
tf2_ros::Buffer * | tf, | ||
costmap_2d::Costmap2DROS * | costmapRos_ | ||
) |
Definition at line 34 of file backward_local_planner.cpp.
References costmapRos_, and initialize().
void cl_move_base_z::backward_local_planner::BackwardLocalPlanner::initialize | ( | std::string | name, |
tf::TransformListener * | tf, | ||
costmap_2d::Costmap2DROS * | costmap_ros | ||
) |
Constructs the local planner.
name | The name to give this instance of the local planner |
tf | A pointer to a transform listener |
costmap_ros | The cost map to use for assigning costs to local plans |
Definition at line 93 of file backward_local_planner.cpp.
References costmapRos_, and initialize().
|
overridevirtual |
Check if the goal pose has been achieved by the local planner.
Definition at line 627 of file backward_local_planner.cpp.
References goalReached_.
|
private |
Definition at line 876 of file backward_local_planner.cpp.
References costmapRos_, and goalMarkerPublisher_.
Referenced by computeVelocityCommands().
|
private |
Definition at line 590 of file backward_local_planner.cpp.
References carrot_angular_distance_, carrot_distance_, enable_obstacle_checking_, k_alpha_, k_betta_, k_rho_, straightBackwardsAndPureSpinningMode_, xy_goal_tolerance_, and yaw_goal_tolerance_.
Referenced by initialize().
|
private |
Definition at line 681 of file backward_local_planner.cpp.
References backwardsPlanPath_, carrot_angular_distance_, and carrot_distance_.
Referenced by setPlan().
|
private |
Definition at line 174 of file backward_local_planner.cpp.
References divergenceDetectionLastCarrotLinearDistance_.
Referenced by setPlan(), and updateCarrotGoal().
|
overridevirtual |
Set the plan that the local planner is following.
plan | The plan to pass to the local planner |
Definition at line 760 of file backward_local_planner.cpp.
References backwardsPlanPath_, costmapRos_, currentCarrotPoseIndex_, divergenceDetectionUpdate(), findInitialCarrotGoal(), goalReached_, inGoalPureSpinningState_, initialPureSpinningStage_, cl_move_base_z::backward_local_planner::optionalRobotPose(), resamplePrecisePlan(), and resetDivergenceDetection().
|
private |
pureSpinningCmd()
Definition at line 276 of file backward_local_planner.cpp.
References k_alpha_, k_betta_, k_rho_, linear_mode_rho_error_threshold_, and yaw_goal_tolerance_.
Referenced by computeVelocityCommands().
|
private |
Definition at line 131 of file backward_local_planner.cpp.
References backwardsPlanPath_, carrot_angular_distance_, carrot_distance_, computeCurrentEuclideanAndAngularErrorsToCarrotGoal(), currentCarrotPoseIndex_, resetDivergenceDetection(), and xy_goal_tolerance_.
Referenced by computeVelocityCommands().
|
private |
Definition at line 113 of file backward_local_planner.h.
Referenced by computeVelocityCommands().
|
private |
Definition at line 96 of file backward_local_planner.h.
Referenced by checkCarrotHalfPlainConstraint(), checkCurrentPoseInGoalRange(), computeCurrentEuclideanAndAngularErrorsToCarrotGoal(), computeVelocityCommands(), findInitialCarrotGoal(), resamplePrecisePlan(), setPlan(), and updateCarrotGoal().
|
private |
Definition at line 114 of file backward_local_planner.h.
Referenced by computeVelocityCommands().
|
private |
Definition at line 120 of file backward_local_planner.h.
Referenced by findInitialCarrotGoal(), initialize(), reconfigCB(), resamplePrecisePlan(), and updateCarrotGoal().
|
private |
Definition at line 119 of file backward_local_planner.h.
Referenced by findInitialCarrotGoal(), initialize(), reconfigCB(), resamplePrecisePlan(), and updateCarrotGoal().
|
private |
Definition at line 97 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), initialize(), publishGoalMarker(), and setPlan().
|
private |
Definition at line 127 of file backward_local_planner.h.
Referenced by checkCarrotHalfPlainConstraint(), computeCurrentEuclideanAndAngularErrorsToCarrotGoal(), computeVelocityCommands(), findInitialCarrotGoal(), initialize(), setPlan(), and updateCarrotGoal().
|
private |
Definition at line 121 of file backward_local_planner.h.
Referenced by divergenceDetectionUpdate(), and resetDivergenceDetection().
|
private |
Definition at line 110 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), initialize(), and reconfigCB().
|
private |
Definition at line 94 of file backward_local_planner.h.
Referenced by initialize().
|
private |
Definition at line 99 of file backward_local_planner.h.
Referenced by initialize(), and publishGoalMarker().
|
private |
Definition at line 107 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), isGoalReached(), and setPlan().
|
private |
Definition at line 111 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), and setPlan().
|
private |
Definition at line 108 of file backward_local_planner.h.
Referenced by setPlan().
|
private |
Definition at line 102 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), initialize(), reconfigCB(), and straightBackwardsAndPureSpinCmd().
|
private |
Definition at line 103 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), initialize(), reconfigCB(), and straightBackwardsAndPureSpinCmd().
|
private |
Definition at line 101 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), initialize(), reconfigCB(), and straightBackwardsAndPureSpinCmd().
|
private |
Definition at line 105 of file backward_local_planner.h.
Referenced by initialize(), and straightBackwardsAndPureSpinCmd().
|
private |
Definition at line 124 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), and initialize().
|
private |
Definition at line 123 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), and initialize().
|
private |
Definition at line 93 of file backward_local_planner.h.
Referenced by initialize().
|
private |
Definition at line 104 of file backward_local_planner.h.
|
private |
Definition at line 109 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), initialize(), and reconfigCB().
|
private |
Definition at line 133 of file backward_local_planner.h.
Referenced by computeVelocityCommands().
|
private |
Definition at line 135 of file backward_local_planner.h.
Referenced by computeVelocityCommands().
|
private |
Definition at line 134 of file backward_local_planner.h.
Referenced by computeVelocityCommands(), and initialize().
|
private |
Definition at line 117 of file backward_local_planner.h.
Referenced by checkCurrentPoseInGoalRange(), computeVelocityCommands(), initialize(), reconfigCB(), and updateCarrotGoal().
|
private |
Definition at line 116 of file backward_local_planner.h.
Referenced by checkCurrentPoseInGoalRange(), initialize(), reconfigCB(), and straightBackwardsAndPureSpinCmd().