Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __base_local_planner__LOCALPLANNERLIMITS_H__
00037 #define __base_local_planner__LOCALPLANNERLIMITS_H__
00038
00039 #include <Eigen/Core>
00040
00041 namespace base_local_planner
00042 {
00043 class LocalPlannerLimits
00044 {
00045 public:
00046
00047 double max_trans_vel;
00048 double min_trans_vel;
00049 double max_vel_x;
00050 double min_vel_x;
00051 double max_vel_y;
00052 double min_vel_y;
00053 double max_rot_vel;
00054 double min_rot_vel;
00055 double acc_lim_x;
00056 double acc_lim_y;
00057 double acc_lim_theta;
00058 double acc_limit_trans;
00059
00060
00061 bool prune_plan;
00062 double xy_goal_tolerance;
00063 double yaw_goal_tolerance;
00064 double trans_stopped_vel;
00065 double rot_stopped_vel;
00066 bool restore_defaults;
00067
00068 LocalPlannerLimits() {}
00069
00070 LocalPlannerLimits(
00071 double nmax_trans_vel,
00072 double nmin_trans_vel,
00073 double nmax_vel_x,
00074 double nmin_vel_x,
00075 double nmax_vel_y,
00076 double nmin_vel_y,
00077 double nmax_rot_vel,
00078 double nmin_rot_vel,
00079 double nacc_lim_x,
00080 double nacc_lim_y,
00081 double nacc_lim_theta,
00082 double nacc_limit_trans,
00083 double nxy_goal_tolerance,
00084 double nyaw_goal_tolerance,
00085
00086
00087 bool nprune_plan = true,
00088 double ntrans_stopped_vel = 0.1,
00089 double nrot_stopped_vel = 0.1):
00090 max_trans_vel(nmax_trans_vel),
00091 min_trans_vel(nmin_trans_vel),
00092 max_vel_x(nmax_vel_x),
00093 min_vel_x(nmin_vel_x),
00094 max_vel_y(nmax_vel_y),
00095 min_vel_y(nmin_vel_y),
00096 max_rot_vel(nmax_rot_vel),
00097 min_rot_vel(nmin_rot_vel),
00098 acc_lim_x(nacc_lim_x),
00099 acc_lim_y(nacc_lim_y),
00100 acc_lim_theta(nacc_lim_theta),
00101 acc_limit_trans(nacc_limit_trans),
00102
00103
00104 prune_plan(nprune_plan),
00105 xy_goal_tolerance(nxy_goal_tolerance),
00106 yaw_goal_tolerance(nyaw_goal_tolerance),
00107 trans_stopped_vel(ntrans_stopped_vel),
00108 rot_stopped_vel(nrot_stopped_vel) {}
00109
00110 ~LocalPlannerLimits() {}
00111
00116 Eigen::Vector3f getAccLimits() {
00117 Eigen::Vector3f acc_limits;
00118 acc_limits[0] = acc_lim_x;
00119 acc_limits[1] = acc_lim_y;
00120 acc_limits[2] = acc_lim_theta;
00121 return acc_limits;
00122 }
00123
00124 };
00125
00126 }
00127 #endif // __LOCALPLANNERLIMITS_H__