aaa

Dependencies:   mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic

Committer:
nakedt555
Date:
Tue Dec 11 17:51:47 2018 +0000
Revision:
3:a45557a0dcb8
Parent:
1:bdd17feaa4ce
Child:
4:cf1a4e503974
12/10iikanji

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nakedt555 0:10f626cf3ec4 1 #ifndef _MY_ROS_H_
nakedt555 0:10f626cf3ec4 2 #define _MY_ROS_H_
nakedt555 0:10f626cf3ec4 3
nakedt555 1:bdd17feaa4ce 4 #include "type.h"
nakedt555 1:bdd17feaa4ce 5 #include "odom.h"
nakedt555 1:bdd17feaa4ce 6
nakedt555 1:bdd17feaa4ce 7 #include <mbed.h>
nakedt555 1:bdd17feaa4ce 8 #include <ros.h>
nakedt555 1:bdd17feaa4ce 9 #include <ros/time.h>
nakedt555 1:bdd17feaa4ce 10 #include <std_msgs/Bool.h>
nakedt555 1:bdd17feaa4ce 11 #include <geometry_msgs/Point.h>
nakedt555 1:bdd17feaa4ce 12 #include <geometry_msgs/PointStamped.h>
nakedt555 1:bdd17feaa4ce 13 #include <std_msgs/Empty.h>
nakedt555 0:10f626cf3ec4 14
nakedt555 0:10f626cf3ec4 15 #define COURT_RED false
nakedt555 0:10f626cf3ec4 16 #define COURT_BLUE true
nakedt555 0:10f626cf3ec4 17
nakedt555 1:bdd17feaa4ce 18 void ack_from_pc_cb(const std_msgs::Empty&);
nakedt555 1:bdd17feaa4ce 19
nakedt555 1:bdd17feaa4ce 20 class My_Ros : public Odom_Abstract
nakedt555 0:10f626cf3ec4 21 {
nakedt555 1:bdd17feaa4ce 22 public:
nakedt555 1:bdd17feaa4ce 23
nakedt555 0:10f626cf3ec4 24 private:
nakedt555 1:bdd17feaa4ce 25 ros::NodeHandle nh_;
nakedt555 1:bdd17feaa4ce 26 bool court_color_;
nakedt555 0:10f626cf3ec4 27
nakedt555 0:10f626cf3ec4 28 public:
nakedt555 1:bdd17feaa4ce 29 //Constructor
nakedt555 3:a45557a0dcb8 30 My_Ros(Odom *odom) : court_color_(COURT_RED){
nakedt555 3:a45557a0dcb8 31 set_instance(odom);
nakedt555 3:a45557a0dcb8 32
nakedt555 1:bdd17feaa4ce 33 //ROS node initialize
nakedt555 1:bdd17feaa4ce 34 nh_.getHardware()->setBaud(115200);
nakedt555 1:bdd17feaa4ce 35 nh_.initNode();
nakedt555 1:bdd17feaa4ce 36
nakedt555 1:bdd17feaa4ce 37 initialize();
nakedt555 1:bdd17feaa4ce 38 }
nakedt555 1:bdd17feaa4ce 39
nakedt555 1:bdd17feaa4ce 40 //Setter
nakedt555 1:bdd17feaa4ce 41 void set_court_color(bool court_color){
nakedt555 1:bdd17feaa4ce 42 court_color_ = court_color;
nakedt555 1:bdd17feaa4ce 43 }
nakedt555 1:bdd17feaa4ce 44 template<typename SubscriberT>
nakedt555 1:bdd17feaa4ce 45 void set_subscliber(SubscriberT& s){
nakedt555 1:bdd17feaa4ce 46 nh_.subscribe(s);
nakedt555 1:bdd17feaa4ce 47 }
nakedt555 1:bdd17feaa4ce 48
nakedt555 1:bdd17feaa4ce 49 //amcl parameter の初期化
nakedt555 1:bdd17feaa4ce 50 void enable_initialize_amcl();
nakedt555 1:bdd17feaa4ce 51
nakedt555 0:10f626cf3ec4 52 private:
nakedt555 1:bdd17feaa4ce 53 //Initialise
nakedt555 1:bdd17feaa4ce 54 void initialize();
nakedt555 1:bdd17feaa4ce 55
nakedt555 1:bdd17feaa4ce 56 //Publisher
nakedt555 1:bdd17feaa4ce 57 void court_color_publisher();
nakedt555 1:bdd17feaa4ce 58 void initial_pose_publisher();
nakedt555 1:bdd17feaa4ce 59 void pose_publisher();
nakedt555 1:bdd17feaa4ce 60
nakedt555 3:a45557a0dcb8 61 //Overlap function
nakedt555 3:a45557a0dcb8 62 virtual void loop();
nakedt555 0:10f626cf3ec4 63 };
nakedt555 0:10f626cf3ec4 64
nakedt555 0:10f626cf3ec4 65 #endif