37 #ifndef DWA_LOCAL_PLANNER_DWA_PLANNER_H_ 38 #define DWA_LOCAL_PLANNER_DWA_PLANNER_H_ 44 #include <dwa_local_planner/DWAPlannerConfig.h> 64 #include <nav_msgs/Path.h> 99 const Eigen::Vector3f pos,
100 const Eigen::Vector3f vel,
101 const Eigen::Vector3f vel_samples);
127 const std::vector<geometry_msgs::PoseStamped>& new_plan,
128 const std::vector<geometry_msgs::Point>& footprint_spec);
146 bool getCellCosts(
int cx,
int cy,
float &path_cost,
float &goal_cost,
float &occ_cost,
float &total_cost);
151 bool setPlan(
const std::vector<geometry_msgs::PoseStamped>& orig_global_plan);
169 pcl::PointCloud<base_local_planner::MapGridCostPoint>*
traj_cloud_;
void reconfigure(DWAPlannerConfig &cfg)
Reconfigures the trajectory planner.
pcl_ros::Publisher< base_local_planner::MapGridCostPoint > traj_cloud_pub_
bool setPlan(const std::vector< geometry_msgs::PoseStamped > &orig_global_plan)
base_local_planner::MapGridCostFunction goal_front_costs_
base_local_planner::MapGridCostFunction goal_costs_
double sim_period_
The number of seconds to use to compute max/min vels for dwa.
base_local_planner::OscillationCostFunction oscillation_costs_
base_local_planner::LocalPlannerUtil * planner_util_
bool publish_cost_grid_pc_
Whether or not to build and publish a PointCloud.
bool getCellCosts(int cx, int cy, float &path_cost, float &goal_cost, float &occ_cost, float &total_cost)
Compute the components and total cost for a map grid cell.
base_local_planner::TwirlingCostFunction twirling_costs_
double getSimPeriod()
Get the period at which the local planner is expected to run.
std::vector< geometry_msgs::PoseStamped > global_plan_
pcl::PointCloud< base_local_planner::MapGridCostPoint > * traj_cloud_
base_local_planner::MapGridCostFunction alignment_costs_
DWAPlanner(std::string name, base_local_planner::LocalPlannerUtil *planner_util)
Constructor for the planner.
boost::mutex configuration_mutex_
base_local_planner::SimpleScoredSamplingPlanner scored_sampling_planner_
Eigen::Vector3f vsamples_
A class implementing a local planner using the Dynamic Window Approach.
base_local_planner::ObstacleCostFunction obstacle_costs_
base_local_planner::MapGridVisualizer map_viz_
The map grid visualizer for outputting the potential field generated by the cost function.
base_local_planner::MapGridCostFunction path_costs_
void updatePlanAndLocalCosts(tf::Stamped< tf::Pose > global_pose, const std::vector< geometry_msgs::PoseStamped > &new_plan, const std::vector< geometry_msgs::Point > &footprint_spec)
Update the cost functions before planning.
base_local_planner::Trajectory findBestPath(tf::Stamped< tf::Pose > global_pose, tf::Stamped< tf::Pose > global_vel, tf::Stamped< tf::Pose > &drive_velocities)
Given the current position and velocity of the robot, find the best trajectory to exectue...
double forward_point_distance_
base_local_planner::Trajectory result_traj_
base_local_planner::SimpleTrajectoryGenerator generator_
~DWAPlanner()
Destructor for the planner.
double stop_time_buffer_
How long before hitting something we're going to enforce that the robot stop.
bool checkTrajectory(const Eigen::Vector3f pos, const Eigen::Vector3f vel, const Eigen::Vector3f vel_samples)
Check if a trajectory is legal for a position/velocity pair.