22 #ifndef EV3_INFRARED_CONTROLLER_H_
23 #define EV3_INFRARED_CONTROLLER_H_
25 #include <controller_interface/controller.h>
26 #include <pluginlib/class_list_macros.h>
27 #include <realtime_tools/realtime_publisher.h>
28 #include <boost/shared_ptr.hpp>
29 #include <sensor_msgs/Range.h>
30 #include <sensor_msgs/Joy.h>
31 #include <h4r_ev3_msgs/Seek.h>
34 #include <h4r_ev3_control/Ev3SensorInterface.h>
58 Ev3Strings::Ev3InfraredMode mode_;
61 bool sensor_mode_needs_init_;
65 std::string frame_id_;
66 unsigned value_number_;
69 typedef boost::shared_ptr<
70 realtime_tools::RealtimePublisher<sensor_msgs::Range> > RtRangePublisherPtr;
71 RtRangePublisherPtr realtime_range_publisher_;
73 typedef boost::shared_ptr<
74 realtime_tools::RealtimePublisher<h4r_ev3_msgs::Seek> > RtSeekPublisherPtr;
75 RtSeekPublisherPtr realtime_seek_publishers_[4];
77 typedef boost::shared_ptr<
78 realtime_tools::RealtimePublisher<sensor_msgs::Joy> > RtJoyPublisherPtr;
79 RtJoyPublisherPtr realtime_joy_publishers_[4];
82 ros::Time last_publish_time_[4];
91 ros::NodeHandle &root_nh,
92 ros::NodeHandle& ctrl_nh);
94 virtual void starting(
const ros::Time& time);
95 virtual void update(
const ros::Time& time,
const ros::Duration& );
96 virtual void stopping(
const ros::Time& ){}
Definition: ev3_infrared_controller.h:53
Definition: Ev3SensorInterface.h:35
Definition: Ev3SensorInterface.h:97