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 #ifndef STDR_OBSTACLE_AVOIDANCE_SAMPLE
00022 #define STDR_OBSTACLE_AVOIDANCE_SAMPLE
00023
00024 #include <iostream>
00025 #include <cstdlib>
00026 #include <cmath>
00027
00028 #include <ros/package.h>
00029 #include "ros/ros.h"
00030
00031 #include <stdr_msgs/RobotIndexedVectorMsg.h>
00032
00033 #include <geometry_msgs/Pose2D.h>
00034 #include <geometry_msgs/Point.h>
00035 #include <geometry_msgs/Twist.h>
00036 #include <sensor_msgs/LaserScan.h>
00037 #include <sensor_msgs/Range.h>
00038
00043 namespace stdr_samples
00044 {
00049 class ObstacleAvoidance
00050 {
00051 private:
00052
00054 sensor_msgs::LaserScan scan_;
00055
00057 ros::Subscriber subscriber_;
00058
00060 ros::NodeHandle n_;
00061
00063 std::string laser_topic_;
00064
00066 std::string speeds_topic_;
00067
00069 ros::Publisher cmd_vel_pub_;
00070
00071 public:
00072
00079 ObstacleAvoidance(int argc,char **argv);
00080
00085 ~ObstacleAvoidance(void);
00086
00092 void callback(const sensor_msgs::LaserScan& msg);
00093
00094 };
00095 }
00096
00097 #endif