rm_control
Loading...
Searching...
No Matches
referee_base.h
Go to the documentation of this file.
1//
2// Created by ljq on 2021/12/3.
3//
4
5#pragma once
6
9#include <ros/timer.h>
10#include <std_msgs/Int32.h>
11#include <std_msgs/Float32MultiArray.h>
12
18
19namespace rm_referee
20{
22{
23public:
24 explicit RefereeBase(ros::NodeHandle& nh, Base& base);
25 virtual void addUi();
26
27 // unpack call back
28 virtual void robotStatusDataCallBack(const rm_msgs::GameRobotStatus& game_robot_status_data,
29 const ros::Time& last_get_data_time);
30 virtual void gameStatusDataCallBack(const rm_msgs::GameStatus& game_status_data, const ros::Time& last_get_data_time);
31 virtual void capacityDataCallBack(const rm_msgs::PowerManagementSampleAndStatusData& data,
32 ros::Time& last_get_data_time);
33 virtual void powerHeatDataCallBack(const rm_msgs::PowerHeatData& power_heat_data, const ros::Time& last_get_data_time);
34 virtual void robotHurtDataCallBack(const rm_msgs::RobotHurt& robot_hurt_data, const ros::Time& last_get_data_time);
35 virtual void bulletRemainDataCallBack(const rm_msgs::BulletAllowance& bullet_allowance,
36 const ros::Time& last_get_data_time);
37 virtual void interactiveDataCallBack(const rm_referee::InteractiveData& interactive_data,
38 const ros::Time& last_get_data_time);
39 virtual void eventDataCallBack(const rm_msgs::EventData& event_data, const ros::Time& last_get_data_time);
40 virtual void updateGameRobotHpDataCallBack(const rm_msgs::GameRobotHp& game_robot_hp_data);
41 virtual void supplyBulletDataCallBack(const rm_msgs::SupplyProjectileAction& data);
42 virtual void updateShootDataDataCallBack(const rm_msgs::ShootData& msg);
43 virtual void updateBulletRemainData(const rm_referee::BulletNumData& data);
44
45 // sub call back
46 virtual void jointStateCallback(const sensor_msgs::JointState::ConstPtr& joint_state);
47 virtual void actuatorStateCallback(const rm_msgs::ActuatorState::ConstPtr& data);
48 virtual void dbusDataCallback(const rm_msgs::DbusData::ConstPtr& data);
49 virtual void heroLegDataCallback(const rm_msgs::ChassisActiveSusCmd::ConstPtr& data);
50 virtual void chassisCmdDataCallback(const rm_msgs::ChassisCmd::ConstPtr& data);
51 virtual void vel2DCmdDataCallback(const geometry_msgs::Twist::ConstPtr& data);
52 virtual void shootStateCallback(const rm_msgs::ShootState::ConstPtr& data);
53 virtual void gimbalCmdDataCallback(const rm_msgs::GimbalCmd::ConstPtr& data);
54 virtual void cardCmdDataCallback(const rm_msgs::StateCmd::ConstPtr& data);
55 virtual void engineerUiDataCallback(const rm_msgs::EngineerUi::ConstPtr& data);
56 virtual void manualDataCallBack(const rm_msgs::ManualToReferee::ConstPtr& data);
57 virtual void radarDataCallBack(const std_msgs::Int8MultiArrayConstPtr& data);
58 virtual void cameraNameCallBack(const std_msgs::StringConstPtr& data);
59 virtual void trackCallBack(const rm_msgs::TrackDataConstPtr& data);
60 virtual void deployDistanceCallBack(const geometry_msgs::PointConstPtr& data);
61 virtual void balanceStateCallback(const rm_msgs::BalanceStateConstPtr& data);
62 virtual void radarReceiveCallback(const rm_msgs::ClientMapReceiveData::ConstPtr& data);
63 virtual void mapSentryCallback(const rm_msgs::MapSentryDataConstPtr& data);
64 virtual void sentryAttackingTargetCallback(const rm_msgs::SentryAttackingTargetConstPtr& data);
65 virtual void sendSentryCmdCallback(const rm_msgs::SentryCmdConstPtr& data);
66 virtual void sendRadarCmdCallback(const rm_msgs::RadarCmdConstPtr& data);
67 virtual void sendCustomInfoCallback(const std_msgs::StringConstPtr& data);
68 virtual void dronePoseCallBack(const geometry_msgs::PoseStampedConstPtr& data);
69 virtual void shootCmdCallBack(const rm_msgs::ShootCmdConstPtr& data);
70 virtual void radarToRefereeCallBack(const rm_msgs::RadarToSentryConstPtr& data);
71 virtual void customizeDisplayCmdCallBack(const std_msgs::UInt32ConstPtr& data);
72 virtual void visualizeStateDataCallBack(const rm_msgs::VisualizeStateDataConstPtr& data);
73 virtual void relocalizeProgressCallback(const std_msgs::Int32ConstPtr& data);
74
75 // send ui
77 void sendQueue();
78
79 ros::Subscriber joint_state_sub_;
80 ros::Subscriber actuator_state_sub_;
81 ros::Subscriber dbus_sub_;
82 ros::Subscriber chassis_cmd_sub_;
83 ros::Subscriber hero_leg_data_sub_;
84 ros::Subscriber vel2D_cmd_sub_;
85 ros::Subscriber shoot_state_sub_;
86 ros::Subscriber gimbal_cmd_sub_;
87 ros::Subscriber detection_status_sub_;
88 ros::Subscriber card_cmd_sub_;
89 ros::Subscriber calibration_status_sub_;
90 ros::Subscriber engineer_cmd_sub_;
91 ros::Subscriber radar_date_sub_;
92 ros::Subscriber manual_data_sub_;
93 ros::Subscriber camera_name_sub_;
94 ros::Subscriber track_sub_;
95 ros::Subscriber deploy_distance_sub_;
96 ros::Subscriber balance_state_sub_;
97 ros::Subscriber radar_receive_sub_;
98 ros::Subscriber map_sentry_sub_;
99 ros::Subscriber sentry_to_referee_sub_;
100 ros::Subscriber radar_to_referee_sub_;
101 ros::Subscriber sentry_cmd_sub_;
102 ros::Subscriber radar_cmd_sub_;
103 ros::Subscriber sentry_state_sub_;
104 ros::Subscriber drone_pose_sub_;
105 ros::Subscriber shoot_cmd_sub_;
109
118
137
142
144
152
158
160 std::deque<Graph> graph_queue_;
161 std::deque<Graph> character_queue_;
162 // std::deque<std::tuple<>> interactive_data_queue_;
163
167
172 bool add_ui_flag_ = false, is_adding_ = false;
173 ros::NodeHandle nh_;
174 std::string dbus_topic_;
175};
176} // namespace rm_referee
Definition time_change_ui.h:196
Definition data.h:120
Definition interactive_data.h:40
Definition time_change_ui.h:309
Definition flash_ui.h:162
Definition trigger_change_ui.h:225
Definition time_change_ui.h:43
Definition trigger_change_ui.h:49
Definition flash_ui.h:68
Definition interactive_data.h:28
Definition flash_ui.h:44
Definition time_change_ui.h:101
Definition time_change_ui.h:336
Definition flash_ui.h:95
Definition time_change_ui.h:363
Definition time_change_ui.h:73
Definition flash_ui.h:147
Definition ui_base.h:98
Definition trigger_change_ui.h:263
Definition time_change_ui.h:396
Definition trigger_change_ui.h:120
Definition ui_base.h:72
Definition flash_ui.h:112
Definition time_change_ui.h:349
Definition trigger_change_ui.h:82
Definition time_change_ui.h:271
Definition interactive_data.h:12
Definition time_change_ui.h:284
Definition time_change_ui.h:149
Definition time_change_ui.h:258
Definition time_change_ui.h:87
Definition interactive_data.h:64
Definition referee_base.h:22
FrictionSpeedTriggerChangeUi * friction_speed_trigger_change_ui_
Definition referee_base.h:116
virtual void robotHurtDataCallBack(const rm_msgs::RobotHurt &robot_hurt_data, const ros::Time &last_get_data_time)
Definition referee_base.cpp:416
virtual void radarReceiveCallback(const rm_msgs::ClientMapReceiveData::ConstPtr &data)
Definition referee_base.cpp:571
ros::Subscriber sentry_state_sub_
Definition referee_base.h:103
ProgressTimeChangeUi * progress_time_change_ui_
Definition referee_base.h:123
GimbalTriggerChangeUi * gimbal_trigger_change_ui_
Definition referee_base.h:112
BurstFlashUi * burst_flash_ui_
Definition referee_base.h:151
StringTriggerChangeUi * joint_temperature_trigger_change_ui_
Definition referee_base.h:140
ros::Subscriber manual_data_sub_
Definition referee_base.h:92
virtual void robotStatusDataCallBack(const rm_msgs::GameRobotStatus &game_robot_status_data, const ros::Time &last_get_data_time)
Definition referee_base.cpp:384
virtual void balanceStateCallback(const rm_msgs::BalanceStateConstPtr &data)
Definition referee_base.cpp:561
virtual void interactiveDataCallBack(const rm_referee::InteractiveData &interactive_data, const ros::Time &last_get_data_time)
Definition referee_base.cpp:427
RadarToSentry * radar_to_sentry_
Definition referee_base.h:157
BulletTimeChangeUi * bullet_time_change_ui_
Definition referee_base.h:119
int add_ui_max_times_
Definition referee_base.h:170
ros::Subscriber camera_name_sub_
Definition referee_base.h:93
ros::Subscriber visualize_state_data_sub_
Definition referee_base.h:107
virtual void sendSentryCmdCallback(const rm_msgs::SentryCmdConstPtr &data)
Definition referee_base.cpp:600
TargetHpTimeChangeUi * target_hp_time_change_ui_
Definition referee_base.h:136
virtual void radarToRefereeCallBack(const rm_msgs::RadarToSentryConstPtr &data)
Definition referee_base.cpp:658
ros::Subscriber chassis_cmd_sub_
Definition referee_base.h:82
void sendSerialDataCallback()
Definition referee_base.cpp:298
virtual void eventDataCallBack(const rm_msgs::EventData &event_data, const ros::Time &last_get_data_time)
Definition referee_base.cpp:430
virtual void gimbalCmdDataCallback(const rm_msgs::GimbalCmd::ConstPtr &data)
Definition referee_base.cpp:505
LaneLineTimeChangeGroupUi * lane_line_time_change_ui_
Definition referee_base.h:126
virtual void updateBulletRemainData(const rm_referee::BulletNumData &data)
Definition referee_base.cpp:652
GroupUiBase * graph_queue_sender_
Definition referee_base.h:159
ros::Subscriber hero_leg_data_sub_
Definition referee_base.h:83
CapacitorTimeChangeUi * capacitor_time_change_ui_
Definition referee_base.h:120
virtual void mapSentryCallback(const rm_msgs::MapSentryDataConstPtr &data)
Definition referee_base.cpp:581
std::string dbus_topic_
Definition referee_base.h:174
ros::Subscriber actuator_state_sub_
Definition referee_base.h:80
virtual void actuatorStateCallback(const rm_msgs::ActuatorState::ConstPtr &data)
Definition referee_base.cpp:452
ros::Subscriber joint_state_sub_
Definition referee_base.h:79
SpinFlashUi * spin_flash_ui_
Definition referee_base.h:146
ros::Subscriber engineer_cmd_sub_
Definition referee_base.h:90
EffortTimeChangeUi * effort_time_change_ui_
Definition referee_base.h:122
virtual void customizeDisplayCmdCallBack(const std_msgs::UInt32ConstPtr &data)
Definition referee_base.cpp:664
CameraTriggerChangeUi * camera_trigger_change_ui_
Definition referee_base.h:115
std::deque< Graph > character_queue_
Definition referee_base.h:161
virtual void shootCmdCallBack(const rm_msgs::ShootCmdConstPtr &data)
Definition referee_base.cpp:644
virtual void sendRadarCmdCallback(const rm_msgs::RadarCmdConstPtr &data)
Definition referee_base.cpp:610
ros::Subscriber vel2D_cmd_sub_
Definition referee_base.h:84
virtual void chassisCmdDataCallback(const rm_msgs::ChassisCmd::ConstPtr &data)
Definition referee_base.cpp:482
StringTriggerChangeUi * servo_mode_trigger_change_ui_
Definition referee_base.h:139
ros::Time radar_interactive_data_last_send_
Definition referee_base.h:164
void sendQueue()
Definition referee_base.cpp:349
BalancePitchTimeChangeGroupUi * balance_pitch_time_change_group_ui_
Definition referee_base.h:127
ros::Subscriber balance_state_sub_
Definition referee_base.h:96
InteractiveSender * interactive_data_sender_
Definition referee_base.h:153
ros::Subscriber sentry_cmd_sub_
Definition referee_base.h:101
HeroLegTimeChangeUi * hero_leg_time_change_ui_
Definition referee_base.h:134
ros::Subscriber card_cmd_sub_
Definition referee_base.h:88
JointPositionTimeChangeUi * engineer_joint2_time_change_ui
Definition referee_base.h:130
ros::Subscriber deploy_distance_sub_
Definition referee_base.h:95
virtual void shootStateCallback(const rm_msgs::ShootState::ConstPtr &data)
Definition referee_base.cpp:498
bool add_ui_flag_
Definition referee_base.h:172
ros::Subscriber shoot_cmd_sub_
Definition referee_base.h:105
StringTriggerChangeUi * gripper_state_trigger_change_ui_
Definition referee_base.h:140
ros::Subscriber customize_display_cmd_sub_
Definition referee_base.h:106
DroneTowardsTimeChangeGroupUi * drone_towards_time_change_group_ui_
Definition referee_base.h:138
virtual void addUi()
Definition referee_base.cpp:209
virtual void radarDataCallBack(const std_msgs::Int8MultiArrayConstPtr &data)
Definition referee_base.cpp:539
virtual void manualDataCallBack(const rm_msgs::ManualToReferee::ConstPtr &data)
Definition referee_base.cpp:524
virtual void relocalizeProgressCallback(const std_msgs::Int32ConstPtr &data)
Definition referee_base.cpp:408
virtual void sendCustomInfoCallback(const std_msgs::StringConstPtr &data)
Definition referee_base.cpp:621
ros::Time sentry_interactive_data_last_send_
Definition referee_base.h:165
CustomInfoSender * custom_info_sender
Definition referee_base.h:154
ros::Time sentry_cmd_data_last_send_
Definition referee_base.h:166
TargetViewAngleTriggerChangeUi * target_view_angle_trigger_change_ui_
Definition referee_base.h:114
FixedUi * fixed_ui_
Definition referee_base.h:143
HeroHitFlashUi * hero_hit_flash_ui_
Definition referee_base.h:148
RelocalizeProgressTimeChangeUi * relocalize_progress_time_change_ui_
Definition referee_base.h:121
ros::Subscriber map_sentry_sub_
Definition referee_base.h:98
virtual void dbusDataCallback(const rm_msgs::DbusData::ConstPtr &data)
Definition referee_base.cpp:455
JointPositionTimeChangeUi * engineer_joint3_time_change_ui
Definition referee_base.h:131
StringTriggerChangeUi * stone_num_trigger_change_ui_
Definition referee_base.h:139
virtual void vel2DCmdDataCallback(const geometry_msgs::Twist::ConstPtr &data)
Definition referee_base.cpp:493
ShooterTriggerChangeUi * shooter_trigger_change_ui_
Definition referee_base.h:111
CoverFlashUi * cover_flash_ui_
Definition referee_base.h:145
virtual void deployDistanceCallBack(const geometry_msgs::PointConstPtr &data)
Definition referee_base.cpp:556
RefereeBase(ros::NodeHandle &nh, Base &base)
Definition referee_base.cpp:10
ExceedBulletSpeedFlashUi * exceed_bullet_speed_flash_ui_
Definition referee_base.h:149
JointPositionTimeChangeUi * engineer_joint1_time_change_ui
Definition referee_base.h:130
ros::Subscriber sentry_to_referee_sub_
Definition referee_base.h:99
virtual void cardCmdDataCallback(const rm_msgs::StateCmd::ConstPtr &data)
Definition referee_base.cpp:510
virtual void bulletRemainDataCallBack(const rm_msgs::BulletAllowance &bullet_allowance, const ros::Time &last_get_data_time)
Definition referee_base.cpp:419
ros::Subscriber detection_status_sub_
Definition referee_base.h:87
ros::Subscriber calibration_status_sub_
Definition referee_base.h:89
ros::Subscriber track_sub_
Definition referee_base.h:94
DeployDistanceTimeChangeUi * deploy_distance_time_change_ui_
Definition referee_base.h:133
virtual void heroLegDataCallback(const rm_msgs::ChassisActiveSusCmd::ConstPtr &data)
Definition referee_base.cpp:475
ros::Subscriber dbus_sub_
Definition referee_base.h:81
double send_ui_queue_delay_
Definition referee_base.h:171
ros::Time radar_cmd_data_last_send_
Definition referee_base.h:166
HeroLegTriggerChangeUi * hero_leg_trigger_change_ui_
Definition referee_base.h:117
RotationTimeChangeUi * rotation_time_change_ui_
Definition referee_base.h:125
virtual void supplyBulletDataCallBack(const rm_msgs::SupplyProjectileAction &data)
Definition referee_base.cpp:628
FriendBulletsTimeChangeGroupUi * friend_bullets_time_change_group_ui_
Definition referee_base.h:135
ros::Subscriber shoot_state_sub_
Definition referee_base.h:85
ros::Subscriber radar_to_referee_sub_
Definition referee_base.h:100
CustomizeDisplayFlashUi * customize_display_flash_ui_
Definition referee_base.h:150
virtual void visualizeStateDataCallBack(const rm_msgs::VisualizeStateDataConstPtr &data)
Definition referee_base.cpp:670
virtual void sentryAttackingTargetCallback(const rm_msgs::SentryAttackingTargetConstPtr &data)
Definition referee_base.cpp:566
SentryToRadar * sentry_to_radar_
Definition referee_base.h:156
TargetDistanceTimeChangeUi * target_distance_time_change_ui_
Definition referee_base.h:132
int add_ui_times_
Definition referee_base.h:170
virtual void updateShootDataDataCallBack(const rm_msgs::ShootData &msg)
Definition referee_base.cpp:638
virtual void trackCallBack(const rm_msgs::TrackDataConstPtr &data)
Definition referee_base.cpp:547
virtual void updateGameRobotHpDataCallBack(const rm_msgs::GameRobotHp &game_robot_hp_data)
Definition referee_base.cpp:390
virtual void cameraNameCallBack(const std_msgs::StringConstPtr &data)
Definition referee_base.cpp:542
Base & base_
Definition referee_base.h:168
ros::Subscriber drone_pose_sub_
Definition referee_base.h:104
BulletNumShare * bullet_num_share_
Definition referee_base.h:155
virtual void dronePoseCallBack(const geometry_msgs::PoseStampedConstPtr &data)
Definition referee_base.cpp:632
virtual void engineerUiDataCallback(const rm_msgs::EngineerUi::ConstPtr &data)
Definition referee_base.cpp:513
ros::Subscriber gimbal_cmd_sub_
Definition referee_base.h:86
ros::Timer add_ui_timer_
Definition referee_base.h:169
PitchAngleTimeChangeUi * pitch_angle_time_change_ui_
Definition referee_base.h:128
ros::Timer send_serial_data_timer_
Definition referee_base.h:169
ros::Subscriber radar_date_sub_
Definition referee_base.h:91
VisualizeStateTriggerChangeUi * visualize_state_trigger_change_ui_
Definition referee_base.h:141
virtual void powerHeatDataCallBack(const rm_msgs::PowerHeatData &power_heat_data, const ros::Time &last_get_data_time)
Definition referee_base.cpp:413
bool is_adding_
Definition referee_base.h:172
ros::Subscriber radar_cmd_sub_
Definition referee_base.h:102
virtual void gameStatusDataCallBack(const rm_msgs::GameStatus &game_status_data, const ros::Time &last_get_data_time)
Definition referee_base.cpp:397
DartStatusTimeChangeUi * dart_status_time_change_ui_
Definition referee_base.h:124
DeployFlashUi * deploy_flash_ui_
Definition referee_base.h:147
ImageTransmissionAngleTimeChangeUi * image_transmission_angle_time_change_ui_
Definition referee_base.h:129
TargetTriggerChangeUi * target_trigger_change_ui_
Definition referee_base.h:113
ros::Subscriber relocalize_progress_sub_
Definition referee_base.h:108
ros::Subscriber radar_receive_sub_
Definition referee_base.h:97
std::deque< Graph > graph_queue_
Definition referee_base.h:160
virtual void capacityDataCallBack(const rm_msgs::PowerManagementSampleAndStatusData &data, ros::Time &last_get_data_time)
Definition referee_base.cpp:400
ChassisTriggerChangeUi * chassis_trigger_change_ui_
Definition referee_base.h:110
virtual void jointStateCallback(const sensor_msgs::JointState::ConstPtr &joint_state)
Definition referee_base.cpp:433
int add_ui_frequency_
Definition referee_base.h:170
ros::NodeHandle nh_
Definition referee_base.h:173
Definition time_change_ui.h:57
Definition time_change_ui.h:114
Definition interactive_data.h:51
Definition trigger_change_ui.h:101
Definition flash_ui.h:82
Definition trigger_change_ui.h:250
Definition time_change_ui.h:323
Definition time_change_ui.h:426
Definition trigger_change_ui.h:139
Definition trigger_change_ui.h:162
Definition trigger_change_ui.h:276
Definition data.h:109