RSMControls.h
Go to the documentation of this file.
1 #ifndef RSM_CONTROLS_H
2 #define RSM_CONTROLS_H
3 
4 #include <ros/ros.h>
5 #include <rviz/panel.h>
6 #include <QtWidgets/QWidget>
7 #include <QtWidgets/QPushButton>
8 #include <QStringList>
9 #include <QDebug>
10 #include <QObject>
11 #include "ui_rsm_controls.h"
12 #include <std_srvs/SetBool.h>
13 #include <std_srvs/Trigger.h>
14 #include <std_msgs/String.h>
15 #include <rsm_msgs/OperationMode.h>
16 #include <rsm_msgs/SetWaypointFollowingMode.h>
17 #include <rsm_msgs/AddWaypoint.h>
18 #include <rsm_msgs/GetWaypointRoutines.h>
19 #include <rsm_msgs/GetRobotPose.h>
20 #include <rsm_msgs/SetOperationMode.h>
21 #include <std_srvs/SetBool.h>
22 #include <std_msgs/Bool.h>
24 
25 namespace rsm {
26 
32  Q_OBJECT
33 public:
38  RSMControlPanel(QWidget *parent = 0);
39 
44  virtual void load(const rviz::Config &config);
49  virtual void save(rviz::Config config) const;
50 
51 protected slots:
52  void startStopExploration();
54  void resetWaypoints();
55  void addWaypoint();
56  void setReverseMode();
57  void emergencyStop();
58  void stopOperation();
59  void setAutonomyOperation();
60  void setTeleoperation();
61  void stop2dNavGoal();
62 
63 private:
64  Ui::rsm_controls* _gui;
65 
67 
84 
112  std::vector<std::string> _waypoint_routines;
113 
114  void callSetOperationMode();
115  void stateInfoCallback(const std_msgs::String::ConstPtr& state_info);
116  void reverseModeCallback(const std_msgs::Bool::ConstPtr& reverse_mode);
118  const rsm_msgs::OperationMode::ConstPtr& operation_mode);
119  void initCommunications();
120  void connectSlots();
121  void initRoutineComboBox();
122  void getStateInfo();
124  void setExplorationMode();
125  void updateOperationModeGUI();
126 };
127 
128 } // end namespace rsm
129 
130 #endif // RSM_CONTROLS_H
ros::ServiceClient _set_waypoint_following_mode_client
Definition: RSMControls.h:71
ros::ServiceClient _state_info_client
Definition: RSMControls.h:78
ros::ServiceClient _start_stop_waypoint_following_client
Definition: RSMControls.h:69
ros::ServiceClient _waypoint_reset_client
Definition: RSMControls.h:70
ros::ServiceClient _set_reverse_mode_client
Definition: RSMControls.h:74
void reverseModeCallback(const std_msgs::Bool::ConstPtr &reverse_mode)
ros::ServiceClient _add_waypoint_client
Definition: RSMControls.h:72
void startStopWaypointFollowing()
ros::Subscriber _state_info_subscriber
Definition: RSMControls.h:80
config
bool _exploration_running
Is the exploration currently running.
Definition: RSMControls.h:92
ros::ServiceClient _set_operation_mode_client
Definition: RSMControls.h:76
ros::Subscriber _reverse_mode_subscriber
Definition: RSMControls.h:81
void stateInfoCallback(const std_msgs::String::ConstPtr &state_info)
ros::ServiceClient _set_exploration_mode_client
Definition: RSMControls.h:77
virtual void load(const rviz::Config &config)
Saves configuration data from this panel to the Config object.
ros::ServiceClient _get_robot_pose_client
Definition: RSMControls.h:75
bool _operation_mode_button_pushed
Was an operation mode button just pushed.
Definition: RSMControls.h:88
Ui::rsm_controls * _gui
Definition: RSMControls.h:64
ros::NodeHandle _nh
Definition: RSMControls.h:66
ros::Subscriber _operation_mode_subcriber
Definition: RSMControls.h:82
bool _waypoint_following_running
Is waypoint following currently running.
Definition: RSMControls.h:96
ros::ServiceClient _stop_2d_nav_goal_client
Definition: RSMControls.h:79
ros::Subscriber _exploration_mode_subscriber
Definition: RSMControls.h:83
void operationModeCallback(const rsm_msgs::OperationMode::ConstPtr &operation_mode)
std::vector< std::string > _waypoint_routines
Definition: RSMControls.h:112
ros::ServiceClient _start_stop_exploration_client
Definition: RSMControls.h:68
ros::ServiceClient _get_waypoint_routines_client
Definition: RSMControls.h:73
Panel plugin for RViz which adds buttons to interface the RSM.
Definition: RSMControls.h:31
RSMControlPanel(QWidget *parent=0)
Constructor.
Definition: RSMControls.cpp:5
virtual void save(rviz::Config config) const
Load configuration data for this panel from Config object.


rsm_rviz_plugins
Author(s): Marco Steinbrink
autogenerated on Tue Mar 16 2021 02:44:40