aaa

Dependencies:   mbed BNO055_fusion Adafruit_GFX ros_lib_kinetic

Committer:
nakedt555
Date:
Wed Dec 12 03:35:52 2018 +0000
Revision:
4:cf1a4e503974
Parent:
3:a45557a0dcb8
toriaezu ok;

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 1:bdd17feaa4ce 15 void ack_from_pc_cb(const std_msgs::Empty&);
nakedt555 4:cf1a4e503974 16 void drift_sub_cb(const geometry_msgs::Point& drift);
nakedt555 1:bdd17feaa4ce 17
nakedt555 1:bdd17feaa4ce 18 class My_Ros : public Odom_Abstract
nakedt555 0:10f626cf3ec4 19 {
nakedt555 1:bdd17feaa4ce 20 public:
nakedt555 1:bdd17feaa4ce 21
nakedt555 0:10f626cf3ec4 22 private:
nakedt555 1:bdd17feaa4ce 23 ros::NodeHandle nh_;
nakedt555 0:10f626cf3ec4 24
nakedt555 0:10f626cf3ec4 25 public:
nakedt555 1:bdd17feaa4ce 26 //Constructor
nakedt555 4:cf1a4e503974 27 My_Ros(Odom *odom) : Odom_Abstract(odom){
nakedt555 4:cf1a4e503974 28 // set_instance(odom);
nakedt555 4:cf1a4e503974 29 set_court_color(COURT_RED);
nakedt555 3:a45557a0dcb8 30
nakedt555 1:bdd17feaa4ce 31 //ROS node initialize
nakedt555 1:bdd17feaa4ce 32 nh_.getHardware()->setBaud(115200);
nakedt555 1:bdd17feaa4ce 33 nh_.initNode();
nakedt555 1:bdd17feaa4ce 34
nakedt555 1:bdd17feaa4ce 35 initialize();
nakedt555 1:bdd17feaa4ce 36 }
nakedt555 1:bdd17feaa4ce 37
nakedt555 1:bdd17feaa4ce 38 //Setter
nakedt555 1:bdd17feaa4ce 39 template<typename SubscriberT>
nakedt555 1:bdd17feaa4ce 40 void set_subscliber(SubscriberT& s){
nakedt555 1:bdd17feaa4ce 41 nh_.subscribe(s);
nakedt555 1:bdd17feaa4ce 42 }
nakedt555 1:bdd17feaa4ce 43
nakedt555 1:bdd17feaa4ce 44 //amcl parameter の初期化
nakedt555 1:bdd17feaa4ce 45 void enable_initialize_amcl();
nakedt555 1:bdd17feaa4ce 46
nakedt555 0:10f626cf3ec4 47 private:
nakedt555 1:bdd17feaa4ce 48 //Initialise
nakedt555 1:bdd17feaa4ce 49 void initialize();
nakedt555 1:bdd17feaa4ce 50
nakedt555 1:bdd17feaa4ce 51 //Publisher
nakedt555 1:bdd17feaa4ce 52 void court_color_publisher();
nakedt555 1:bdd17feaa4ce 53 void initial_pose_publisher();
nakedt555 1:bdd17feaa4ce 54 void pose_publisher();
nakedt555 1:bdd17feaa4ce 55
nakedt555 3:a45557a0dcb8 56 //Overlap function
nakedt555 3:a45557a0dcb8 57 virtual void loop();
nakedt555 0:10f626cf3ec4 58 };
nakedt555 0:10f626cf3ec4 59
nakedt555 0:10f626cf3ec4 60 #endif