aaa

Dependencies:   mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers myRos.h Source File

myRos.h

00001 #ifndef _MY_ROS_H_
00002 #define _MY_ROS_H_
00003 
00004 #include "type.h"
00005 #include "odom.h"
00006 
00007 #include <mbed.h>
00008 #include <ros.h>
00009 #include <ros/time.h>
00010 #include <std_msgs/Bool.h>
00011 #include <geometry_msgs/Point.h>
00012 #include <geometry_msgs/PointStamped.h>
00013 #include <std_msgs/Empty.h>
00014 
00015 void ack_from_pc_cb(const std_msgs::Empty&);
00016 void drift_sub_cb(const geometry_msgs::Point& drift);
00017 
00018 class My_Ros : public Odom_Abstract
00019 {
00020     public:
00021     
00022     private:
00023         ros::NodeHandle nh_;
00024         
00025     public:
00026         //Constructor
00027         My_Ros(Odom *odom) : Odom_Abstract(odom){
00028 //            set_instance(odom);
00029             set_court_color(COURT_RED);
00030             
00031             //ROS node initialize
00032             nh_.getHardware()->setBaud(115200);
00033             nh_.initNode();
00034             
00035             initialize();
00036         }
00037                 
00038         //Setter
00039         template<typename SubscriberT>
00040         void set_subscliber(SubscriberT& s){
00041             nh_.subscribe(s);
00042         }
00043         
00044         //amcl parameter の初期化
00045         void enable_initialize_amcl();
00046         
00047     private:
00048         //Initialise
00049         void initialize();
00050         
00051         //Publisher
00052         void court_color_publisher();
00053         void initial_pose_publisher();
00054         void pose_publisher();
00055         
00056         //Overlap function
00057         virtual void loop();
00058 };
00059 
00060 #endif