00001 #ifndef NJ_OA_LASER_TWIST_HANDLER_H 00002 #define NJ_OA_LASER_TWIST_HANDLER_H 00003 00004 #include <cmath> 00005 #include <string> 00006 00007 #include <angles/angles.h> 00008 #include <geometry_msgs/Twist.h> 00009 #include <sensor_msgs/LaserScan.h> 00010 00011 namespace nj_oa_laser 00012 { 00013 00014 class TwistHandler 00015 { 00016 public : 00017 00018 TwistHandler(const double robot_radius); 00019 00020 geometry_msgs::Twist getTwist(const sensor_msgs::LaserScan& scan); 00021 00022 double robot_radius; 00023 double min_distance; 00024 double long_distance; 00025 double short_lateral_distance; 00026 double long_lateral_distance; 00027 double force_turn_left_factor; 00028 00029 00030 double turnrate_collide; 00031 double vel_close_obstacle; 00032 double turnrate_factor; 00033 00034 double max_linear_velocity; 00035 double max_angular_velocity; 00036 }; 00037 00038 } // namespace nj_oa_laser 00039 00040 #endif // NJ_OA_LASER_TWIST_HANDLER_H 00041