create_driver.h
Go to the documentation of this file.
1 
28 #ifndef CREATE_DRIVER_CREATE_DRIVER_H
29 #define CREATE_DRIVER_CREATE_DRIVER_H
30 #include "create_msgs/ChargingState.h"
31 #include "create_msgs/Mode.h"
32 #include "create_msgs/Bumper.h"
33 #include "create_msgs/DefineSong.h"
34 #include "create_msgs/PlaySong.h"
35 #include "create_msgs/MotorSetpoint.h"
36 
37 #include "create/create.h"
38 
40 #include <geometry_msgs/TransformStamped.h>
41 #include <geometry_msgs/Twist.h>
42 #include <nav_msgs/Odometry.h>
43 #include <ros/ros.h>
44 #include <sensor_msgs/JointState.h>
45 #include <std_msgs/Bool.h>
46 #include <std_msgs/Empty.h>
47 #include <std_msgs/Float32.h>
48 #include <std_msgs/Int16.h>
49 #include <std_msgs/UInt16.h>
50 #include <std_msgs/UInt8MultiArray.h>
52 
53 #include <string>
54 
55 static const double COVARIANCE[36] = {1e-5, 1e-5, 0.0, 0.0, 0.0, 1e-5, // NOLINT(whitespace/braces)
56  1e-5, 1e-5, 0.0, 0.0, 0.0, 1e-5,
57  0.0, 0.0, 1e-5, 0.0, 0.0, 0.0,
58  0.0, 0.0, 0.0, 1e-5, 0.0, 0.0,
59  0.0, 0.0, 0.0, 0.0, 1e-5, 0.0,
60  1e-5, 1e-5, 0.0, 0.0, 0.0, 1e-5};
61 
63 {
64 private:
67 
70 
85 
105 
107 
109 
110  create_msgs::Mode mode_msg_;
111  create_msgs::ChargingState charging_state_msg_;
112  create_msgs::Bumper bumper_msg_;
113  nav_msgs::Odometry odom_msg_;
114  geometry_msgs::TransformStamped tf_odom_;
116  std_msgs::Empty empty_msg_;
117  std_msgs::Float32 float32_msg_;
118  std_msgs::UInt16 uint16_msg_;
119  std_msgs::Int16 int16_msg_;
120  sensor_msgs::JointState joint_state_msg_;
122 
123  // ROS params
124  std::string dev_;
125  std::string base_frame_;
126  std::string odom_frame_;
128  double loop_hz_;
130  int baud_;
131 
132  void cmdVelCallback(const geometry_msgs::TwistConstPtr& msg);
133  void debrisLEDCallback(const std_msgs::BoolConstPtr& msg);
134  void spotLEDCallback(const std_msgs::BoolConstPtr& msg);
135  void dockLEDCallback(const std_msgs::BoolConstPtr& msg);
136  void checkLEDCallback(const std_msgs::BoolConstPtr& msg);
137  void powerLEDCallback(const std_msgs::UInt8MultiArrayConstPtr& msg);
138  void setASCIICallback(const std_msgs::UInt8MultiArrayConstPtr& msg);
139  void dockCallback(const std_msgs::EmptyConstPtr& msg);
140  void undockCallback(const std_msgs::EmptyConstPtr& msg);
141  void defineSongCallback(const create_msgs::DefineSongConstPtr& msg);
142  void playSongCallback(const create_msgs::PlaySongConstPtr& msg);
143  void sideBrushMotor(const create_msgs::MotorSetpointConstPtr& msg);
144  void mainBrushMotor(const create_msgs::MotorSetpointConstPtr& msg);
145  void vacuumBrushMotor(const create_msgs::MotorSetpointConstPtr& msg);
146 
147  bool update();
153  void publishOdom();
154  void publishJointState();
155  void publishBatteryInfo();
156  void publishButtonPresses() const;
157  void publishOmniChar();
158  void publishMode();
159  void publishBumperInfo();
160  void publishWheeldrop();
161 
162 public:
163  explicit CreateDriver(ros::NodeHandle& nh);
164  ~CreateDriver();
165  virtual void spin();
166  virtual void spinOnce();
167 }; // class CreateDriver
168 
169 #endif // CREATE_DRIVER_CREATE_DRIVER_H
CreateDriver::charge_ratio_pub_
ros::Publisher charge_ratio_pub_
Definition: create_driver.h:96
CreateDriver::voltage_pub_
ros::Publisher voltage_pub_
Definition: create_driver.h:93
CreateDriver::robot_
create::Create * robot_
Definition: create_driver.h:65
CreateDriver::is_running_slowly_
bool is_running_slowly_
Definition: create_driver.h:121
CreateDriver::debrisLEDCallback
void debrisLEDCallback(const std_msgs::BoolConstPtr &msg)
Definition: create_driver.cpp:173
CreateDriver::dock_btn_pub_
ros::Publisher dock_btn_pub_
Definition: create_driver.h:91
CreateDriver::capacity_pub_
ros::Publisher capacity_pub_
Definition: create_driver.h:97
CreateDriver::updateSafetyDiagnostics
void updateSafetyDiagnostics(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: create_driver.cpp:374
ros::Publisher
CreateDriver::publishOdom
void publishOdom()
Definition: create_driver.cpp:454
CreateDriver::powerLEDCallback
void powerLEDCallback(const std_msgs::UInt8MultiArrayConstPtr &msg)
Definition: create_driver.cpp:193
CreateDriver::temperature_pub_
ros::Publisher temperature_pub_
Definition: create_driver.h:98
CreateDriver::mode_pub_
ros::Publisher mode_pub_
Definition: create_driver.h:101
CreateDriver::loop_hz_
double loop_hz_
Definition: create_driver.h:128
CreateDriver::uint16_msg_
std_msgs::UInt16 uint16_msg_
Definition: create_driver.h:118
CreateDriver::set_ascii_sub_
ros::Subscriber set_ascii_sub_
Definition: create_driver.h:77
CreateDriver::publishButtonPresses
void publishButtonPresses() const
Definition: create_driver.cpp:563
create::Create
CreateDriver::spot_btn_pub_
ros::Publisher spot_btn_pub_
Definition: create_driver.h:92
CreateDriver::playSongCallback
void playSongCallback(const create_msgs::PlaySongConstPtr &msg)
Definition: create_driver.cpp:271
ros.h
CreateDriver::spotLEDCallback
void spotLEDCallback(const std_msgs::BoolConstPtr &msg)
Definition: create_driver.cpp:178
create.h
CreateDriver::checkLEDCallback
void checkLEDCallback(const std_msgs::BoolConstPtr &msg)
Definition: create_driver.cpp:188
CreateDriver::tf_broadcaster_
tf2_ros::TransformBroadcaster tf_broadcaster_
Definition: create_driver.h:106
CreateDriver::diagnostics_
diagnostic_updater::Updater diagnostics_
Definition: create_driver.h:108
CreateDriver::dock_led_sub_
ros::Subscriber dock_led_sub_
Definition: create_driver.h:74
CreateDriver::wheeldrop_pub_
ros::Publisher wheeldrop_pub_
Definition: create_driver.h:103
diagnostic_updater::Updater
CreateDriver::updateBatteryDiagnostics
void updateBatteryDiagnostics(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: create_driver.cpp:321
CreateDriver::priv_nh_
ros::NodeHandle priv_nh_
Definition: create_driver.h:69
CreateDriver::latch_duration_
double latch_duration_
Definition: create_driver.h:127
CreateDriver::play_song_sub_
ros::Subscriber play_song_sub_
Definition: create_driver.h:81
CreateDriver::publish_tf_
bool publish_tf_
Definition: create_driver.h:129
CreateDriver::cmdVelCallback
void cmdVelCallback(const geometry_msgs::TwistConstPtr &msg)
Definition: create_driver.cpp:167
CreateDriver::updateDriverDiagnostics
void updateDriverDiagnostics(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: create_driver.cpp:442
CreateDriver::dev_
std::string dev_
Definition: create_driver.h:124
CreateDriver::defineSongCallback
void defineSongCallback(const create_msgs::DefineSongConstPtr &msg)
Definition: create_driver.cpp:263
CreateDriver::dock_sub_
ros::Subscriber dock_sub_
Definition: create_driver.h:78
CreateDriver::vacuum_motor_sub_
ros::Subscriber vacuum_motor_sub_
Definition: create_driver.h:84
CreateDriver::empty_msg_
std_msgs::Empty empty_msg_
Definition: create_driver.h:116
transform_broadcaster.h
diagnostic_updater.h
CreateDriver::nh_
ros::NodeHandle nh_
Definition: create_driver.h:68
CreateDriver::spin
virtual void spin()
Definition: create_driver.cpp:663
CreateDriver::mode_msg_
create_msgs::Mode mode_msg_
Definition: create_driver.h:110
CreateDriver::setASCIICallback
void setASCIICallback(const std_msgs::UInt8MultiArrayConstPtr &msg)
Definition: create_driver.cpp:212
CreateDriver::spot_led_sub_
ros::Subscriber spot_led_sub_
Definition: create_driver.h:73
CreateDriver::charging_state_msg_
create_msgs::ChargingState charging_state_msg_
Definition: create_driver.h:111
CreateDriver::joint_state_msg_
sensor_msgs::JointState joint_state_msg_
Definition: create_driver.h:120
CreateDriver::main_brush_motor_sub_
ros::Subscriber main_brush_motor_sub_
Definition: create_driver.h:83
CreateDriver::updateModeDiagnostics
void updateModeDiagnostics(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: create_driver.cpp:419
CreateDriver::base_frame_
std::string base_frame_
Definition: create_driver.h:125
CreateDriver::last_cmd_vel_time_
ros::Time last_cmd_vel_time_
Definition: create_driver.h:115
CreateDriver::min_btn_pub_
ros::Publisher min_btn_pub_
Definition: create_driver.h:90
CreateDriver::undockCallback
void undockCallback(const std_msgs::EmptyConstPtr &msg)
Definition: create_driver.cpp:255
CreateDriver::bumper_msg_
create_msgs::Bumper bumper_msg_
Definition: create_driver.h:112
CreateDriver
Definition: create_driver.h:62
CreateDriver::update
bool update()
Definition: create_driver.cpp:301
CreateDriver::odom_msg_
nav_msgs::Odometry odom_msg_
Definition: create_driver.h:113
CreateDriver::updateSerialDiagnostics
void updateSerialDiagnostics(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: create_driver.cpp:395
CreateDriver::publishBatteryInfo
void publishBatteryInfo()
Definition: create_driver.cpp:518
CreateDriver::dockLEDCallback
void dockLEDCallback(const std_msgs::BoolConstPtr &msg)
Definition: create_driver.cpp:183
CreateDriver::publishOmniChar
void publishOmniChar()
Definition: create_driver.cpp:591
CreateDriver::check_led_sub_
ros::Subscriber check_led_sub_
Definition: create_driver.h:75
CreateDriver::hour_btn_pub_
ros::Publisher hour_btn_pub_
Definition: create_driver.h:89
CreateDriver::debris_led_sub_
ros::Subscriber debris_led_sub_
Definition: create_driver.h:72
CreateDriver::publishWheeldrop
void publishWheeldrop()
Definition: create_driver.cpp:650
CreateDriver::float32_msg_
std_msgs::Float32 float32_msg_
Definition: create_driver.h:117
COVARIANCE
static const double COVARIANCE[36]
Definition: create_driver.h:55
CreateDriver::power_led_sub_
ros::Subscriber power_led_sub_
Definition: create_driver.h:76
CreateDriver::sideBrushMotor
void sideBrushMotor(const create_msgs::MotorSetpointConstPtr &msg)
Definition: create_driver.cpp:279
CreateDriver::publishBumperInfo
void publishBumperInfo()
Definition: create_driver.cpp:624
CreateDriver::side_brush_motor_sub_
ros::Subscriber side_brush_motor_sub_
Definition: create_driver.h:82
CreateDriver::publishJointState
void publishJointState()
Definition: create_driver.cpp:505
CreateDriver::charge_pub_
ros::Publisher charge_pub_
Definition: create_driver.h:95
CreateDriver::undock_sub_
ros::Subscriber undock_sub_
Definition: create_driver.h:79
ros::Time
CreateDriver::cmd_vel_sub_
ros::Subscriber cmd_vel_sub_
Definition: create_driver.h:71
CreateDriver::vacuumBrushMotor
void vacuumBrushMotor(const create_msgs::MotorSetpointConstPtr &msg)
Definition: create_driver.cpp:293
tf2_ros::TransformBroadcaster
CreateDriver::clean_btn_pub_
ros::Publisher clean_btn_pub_
Definition: create_driver.h:87
CreateDriver::spinOnce
virtual void spinOnce()
Definition: create_driver.cpp:656
diagnostic_updater::DiagnosticStatusWrapper
CreateDriver::~CreateDriver
~CreateDriver()
Definition: create_driver.cpp:160
CreateDriver::publishMode
void publishMode()
Definition: create_driver.cpp:599
CreateDriver::odom_pub_
ros::Publisher odom_pub_
Definition: create_driver.h:86
CreateDriver::bumper_pub_
ros::Publisher bumper_pub_
Definition: create_driver.h:102
CreateDriver::odom_frame_
std::string odom_frame_
Definition: create_driver.h:126
CreateDriver::omni_char_pub_
ros::Publisher omni_char_pub_
Definition: create_driver.h:100
CreateDriver::int16_msg_
std_msgs::Int16 int16_msg_
Definition: create_driver.h:119
CreateDriver::charging_state_pub_
ros::Publisher charging_state_pub_
Definition: create_driver.h:99
CreateDriver::CreateDriver
CreateDriver(ros::NodeHandle &nh)
Definition: create_driver.cpp:34
CreateDriver::dockCallback
void dockCallback(const std_msgs::EmptyConstPtr &msg)
Definition: create_driver.cpp:242
CreateDriver::baud_
int baud_
Definition: create_driver.h:130
CreateDriver::wheel_joint_pub_
ros::Publisher wheel_joint_pub_
Definition: create_driver.h:104
ros::NodeHandle
ros::Subscriber
create::RobotModel
CreateDriver::define_song_sub_
ros::Subscriber define_song_sub_
Definition: create_driver.h:80
CreateDriver::mainBrushMotor
void mainBrushMotor(const create_msgs::MotorSetpointConstPtr &msg)
Definition: create_driver.cpp:286
CreateDriver::day_btn_pub_
ros::Publisher day_btn_pub_
Definition: create_driver.h:88
CreateDriver::model_
create::RobotModel model_
Definition: create_driver.h:66
CreateDriver::tf_odom_
geometry_msgs::TransformStamped tf_odom_
Definition: create_driver.h:114
CreateDriver::current_pub_
ros::Publisher current_pub_
Definition: create_driver.h:94


create_driver
Author(s): Jacob Perron
autogenerated on Wed May 24 2023 02:19:10