Plugin to the ros base_local_planner. Implements a wrapper for the Elastic Band Method. More...
#include <eband_local_planner_ros.h>
Public Member Functions | |
bool | computeVelocityCommands (geometry_msgs::Twist &cmd_vel) |
Given the current position, orientation, and velocity of the robot, compute velocity commands to send to the base. | |
EBandPlannerROS () | |
Default constructor for the ros wrapper. | |
EBandPlannerROS (std::string name, tf::TransformListener *tf, costmap_2d::Costmap2DROS *costmap_ros) | |
Constructs the ros wrapper. | |
void | initialize (std::string name, tf::TransformListener *tf, costmap_2d::Costmap2DROS *costmap_ros) |
Initializes the ros wrapper. | |
bool | isGoalReached () |
Check if the goal pose has been achieved. | |
bool | setPlan (const std::vector< geometry_msgs::PoseStamped > &orig_global_plan) |
Set the plan that the controller is following; also reset eband-planner. | |
~EBandPlannerROS () | |
Destructor for the wrapper. | |
Private Member Functions | |
void | odomCallback (const nav_msgs::Odometry::ConstPtr &msg) |
Odometry-Callback: function is called whenever a new odometry msg is published on that topic. | |
Private Attributes | |
nav_msgs::Odometry | base_odom_ |
costmap_2d::Costmap2DROS * | costmap_ros_ |
pointer to costmap | |
boost::shared_ptr< EBandPlanner > | eband_ |
boost::shared_ptr < EBandTrajectoryCtrl > | eband_trj_ctrl_ |
boost::shared_ptr < EBandVisualization > | eband_visual_ |
ros::Publisher | g_plan_pub_ |
publishes modified global plan | |
std::vector < geometry_msgs::PoseStamped > | global_plan_ |
bool | goal_reached_ |
bool | initialized_ |
ros::Publisher | l_plan_pub_ |
publishes prediction for local commands | |
boost::mutex | odom_mutex_ |
ros::Subscriber | odom_sub_ |
subscribes to the odometry topic in global namespace | |
std::vector< int > | plan_start_end_counter_ |
double | rot_stopped_vel_ |
tf::TransformListener * | tf_ |
pointer to Transform Listener | |
double | trans_stopped_vel_ |
lower bound for absolute value of velocity (with respect to stick-slip behaviour) | |
std::vector < geometry_msgs::PoseStamped > | transformed_plan_ |
double | xy_goal_tolerance_ |
parameters to define region in which goal is treated as reached | |
double | yaw_goal_tolerance_ |
Plugin to the ros base_local_planner. Implements a wrapper for the Elastic Band Method.
Definition at line 81 of file eband_local_planner_ros.h.
Default constructor for the ros wrapper.
Definition at line 54 of file eband_local_planner_ros.cpp.
eband_local_planner::EBandPlannerROS::EBandPlannerROS | ( | std::string | name, |
tf::TransformListener * | tf, | ||
costmap_2d::Costmap2DROS * | costmap_ros | ||
) |
Constructs the ros wrapper.
name | The name to give this instance of the elastic band local planner |
tf | A pointer to a transform listener |
costmap | The cost map to use for assigning costs to trajectories |
Definition at line 57 of file eband_local_planner_ros.cpp.
Destructor for the wrapper.
Definition at line 65 of file eband_local_planner_ros.cpp.
bool eband_local_planner::EBandPlannerROS::computeVelocityCommands | ( | geometry_msgs::Twist & | cmd_vel | ) | [virtual] |
Given the current position, orientation, and velocity of the robot, compute velocity commands to send to the base.
cmd_vel | Will be filled with the velocity command to be passed to the robot base |
Implements nav_core::BaseLocalPlanner.
Definition at line 198 of file eband_local_planner_ros.cpp.
void eband_local_planner::EBandPlannerROS::initialize | ( | std::string | name, |
tf::TransformListener * | tf, | ||
costmap_2d::Costmap2DROS * | costmap_ros | ||
) | [virtual] |
Initializes the ros wrapper.
name | The name to give this instance of the trajectory planner |
tf | A pointer to a transform listener |
costmap | The cost map to use for assigning costs to trajectories |
Implements nav_core::BaseLocalPlanner.
Definition at line 68 of file eband_local_planner_ros.cpp.
bool eband_local_planner::EBandPlannerROS::isGoalReached | ( | ) | [virtual] |
Check if the goal pose has been achieved.
Implements nav_core::BaseLocalPlanner.
Definition at line 350 of file eband_local_planner_ros.cpp.
void eband_local_planner::EBandPlannerROS::odomCallback | ( | const nav_msgs::Odometry::ConstPtr & | msg | ) | [private] |
Odometry-Callback: function is called whenever a new odometry msg is published on that topic.
Pointer | to the received message |
Definition at line 385 of file eband_local_planner_ros.cpp.
bool eband_local_planner::EBandPlannerROS::setPlan | ( | const std::vector< geometry_msgs::PoseStamped > & | orig_global_plan | ) | [virtual] |
Set the plan that the controller is following; also reset eband-planner.
orig_global_plan | The plan to pass to the controller |
Implements nav_core::BaseLocalPlanner.
Definition at line 134 of file eband_local_planner_ros.cpp.
nav_msgs::Odometry eband_local_planner::EBandPlannerROS::base_odom_ [private] |
Definition at line 148 of file eband_local_planner_ros.h.
pointer to costmap
Definition at line 135 of file eband_local_planner_ros.h.
boost::shared_ptr<EBandPlanner> eband_local_planner::EBandPlannerROS::eband_ [private] |
Definition at line 154 of file eband_local_planner_ros.h.
boost::shared_ptr<EBandTrajectoryCtrl> eband_local_planner::EBandPlannerROS::eband_trj_ctrl_ [private] |
Definition at line 156 of file eband_local_planner_ros.h.
boost::shared_ptr<EBandVisualization> eband_local_planner::EBandPlannerROS::eband_visual_ [private] |
Definition at line 155 of file eband_local_planner_ros.h.
publishes modified global plan
Definition at line 143 of file eband_local_planner_ros.h.
std::vector<geometry_msgs::PoseStamped> eband_local_planner::EBandPlannerROS::global_plan_ [private] |
Definition at line 149 of file eband_local_planner_ros.h.
bool eband_local_planner::EBandPlannerROS::goal_reached_ [private] |
Definition at line 158 of file eband_local_planner_ros.h.
bool eband_local_planner::EBandPlannerROS::initialized_ [private] |
Definition at line 161 of file eband_local_planner_ros.h.
publishes prediction for local commands
Definition at line 144 of file eband_local_planner_ros.h.
boost::mutex eband_local_planner::EBandPlannerROS::odom_mutex_ [private] |
Definition at line 162 of file eband_local_planner_ros.h.
subscribes to the odometry topic in global namespace
Definition at line 145 of file eband_local_planner_ros.h.
std::vector<int> eband_local_planner::EBandPlannerROS::plan_start_end_counter_ [private] |
Definition at line 151 of file eband_local_planner_ros.h.
double eband_local_planner::EBandPlannerROS::rot_stopped_vel_ [private] |
Definition at line 140 of file eband_local_planner_ros.h.
pointer to Transform Listener
Definition at line 136 of file eband_local_planner_ros.h.
double eband_local_planner::EBandPlannerROS::trans_stopped_vel_ [private] |
lower bound for absolute value of velocity (with respect to stick-slip behaviour)
Definition at line 140 of file eband_local_planner_ros.h.
std::vector<geometry_msgs::PoseStamped> eband_local_planner::EBandPlannerROS::transformed_plan_ [private] |
Definition at line 150 of file eband_local_planner_ros.h.
double eband_local_planner::EBandPlannerROS::xy_goal_tolerance_ [private] |
parameters to define region in which goal is treated as reached
Definition at line 139 of file eband_local_planner_ros.h.
double eband_local_planner::EBandPlannerROS::yaw_goal_tolerance_ [private] |
Definition at line 139 of file eband_local_planner_ros.h.