Skip to content

Commit d062ff3

Browse files
authored
Merge branch 'rm-controls:master' into new_protocol
2 parents 9f12685 + 5425e42 commit d062ff3

File tree

5 files changed

+67
-2
lines changed

5 files changed

+67
-2
lines changed

rm_common/include/rm_common/decision/command_sender.h

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,10 @@ class ShooterCommandSender : public TimeStampCommandSenderBase<rm_msgs::ShootCmd
505505
{
506506
deploy_flag_ = flag;
507507
}
508+
bool getDeployState()
509+
{
510+
return deploy_flag_;
511+
}
508512
void setSpeedDesAndWheelSpeedDes()
509513
{
510514
switch (heat_limit_->getSpeedLimit())
@@ -582,7 +586,7 @@ class ShooterCommandSender : public TimeStampCommandSenderBase<rm_msgs::ShootCmd
582586
double total_extra_wheel_speed_{};
583587
double deploy_wheel_speed_{};
584588
bool auto_wheel_speed_ = false;
585-
bool deploy_flag_{};
589+
bool deploy_flag_ = false;
586590
rm_msgs::TrackData track_data_;
587591
rm_msgs::GimbalDesError gimbal_des_error_;
588592
rm_msgs::ShootBeforehandCmd shoot_beforehand_cmd_;
@@ -591,6 +595,24 @@ class ShooterCommandSender : public TimeStampCommandSenderBase<rm_msgs::ShootCmd
591595
uint8_t armor_type_{};
592596
};
593597

598+
class UseLioCommandSender : public CommandSenderBase<std_msgs::Bool>
599+
{
600+
public:
601+
explicit UseLioCommandSender(ros::NodeHandle& nh) : CommandSenderBase<std_msgs::Bool>(nh)
602+
{
603+
}
604+
605+
void setUseLio(bool flag)
606+
{
607+
msg_.data = flag;
608+
}
609+
bool getUseLio() const
610+
{
611+
return msg_.data;
612+
}
613+
void setZero() override{};
614+
};
615+
594616
class BalanceCommandSender : public CommandSenderBase<std_msgs::UInt8>
595617
{
596618
public:

rm_referee/include/rm_referee/referee_base.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ class RefereeBase
6666
virtual void radarToRefereeCallBack(const rm_msgs::RadarToSentryConstPtr& data);
6767
virtual void customizeDisplayCmdCallBack(const std_msgs::UInt32ConstPtr& data);
6868
virtual void visualizeStateDataCallBack(const rm_msgs::VisualizeStateDataConstPtr& data);
69+
virtual void disBase2TargetDataCallBack(const std_msgs::Float32ConstPtr& data);
6970

7071
// send ui
7172
void sendSerialDataCallback();
@@ -98,6 +99,7 @@ class RefereeBase
9899
ros::Subscriber shoot_cmd_sub_;
99100
ros::Subscriber customize_display_cmd_sub_;
100101
ros::Subscriber visualize_state_data_sub_;
102+
ros::Subscriber dis_base2target_data_sub_;
101103

102104
ChassisTriggerChangeUi* chassis_trigger_change_ui_{};
103105
ShooterTriggerChangeUi* shooter_trigger_change_ui_{};
@@ -115,6 +117,7 @@ class RefereeBase
115117
RotationTimeChangeUi* rotation_time_change_ui_{};
116118
LaneLineTimeChangeGroupUi* lane_line_time_change_ui_{};
117119
BalancePitchTimeChangeGroupUi* balance_pitch_time_change_group_ui_{};
120+
DistanceBaseTimeChangeUi* distance_base_time_change_ui_{};
118121
PitchAngleTimeChangeUi* pitch_angle_time_change_ui_{};
119122
ImageTransmissionAngleTimeChangeUi* image_transmission_angle_time_change_ui_{};
120123
JointPositionTimeChangeUi *engineer_joint1_time_change_ui{}, *engineer_joint2_time_change_ui{},

rm_referee/include/rm_referee/ui/time_change_ui.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#pragma once
66

7+
#include <std_msgs/Float32.h>
8+
79
#include "rm_referee/ui/ui_base.h"
810

911
namespace rm_referee
@@ -238,6 +240,19 @@ class BalancePitchTimeChangeGroupUi : public TimeChangeGroupUi
238240
double bottom_angle_;
239241
};
240242

243+
class DistanceBaseTimeChangeUi : public TimeChangeUi
244+
{
245+
public:
246+
explicit DistanceBaseTimeChangeUi(XmlRpc::XmlRpcValue& rpc_value, Base& base, std::deque<Graph>* graph_queue,
247+
std::deque<Graph>* character_queue)
248+
: TimeChangeUi(rpc_value, base, "distance", graph_queue, character_queue){};
249+
void updateDistanceBaseData(const std_msgs::Float32ConstPtr data, const ros::Time& time);
250+
251+
private:
252+
void updateConfig() override;
253+
double distance_base_ = 0.;
254+
};
255+
241256
class PitchAngleTimeChangeUi : public TimeChangeUi
242257
{
243258
public:

rm_referee/src/referee_base.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ RefereeBase::RefereeBase(ros::NodeHandle& nh, Base& base) : base_(base), nh_(nh)
5454
nh.subscribe<std_msgs::UInt32>("/customize_display_ui", 1, &RefereeBase::customizeDisplayCmdCallBack, this);
5555
RefereeBase::visualize_state_data_sub_ =
5656
nh.subscribe<rm_msgs::VisualizeStateData>("/visualize_state", 1, &RefereeBase::visualizeStateDataCallBack, this);
57-
57+
RefereeBase::dis_base2target_data_sub_ =
58+
nh.subscribe<std_msgs::Float32>("/dis_baselink2target", 1, &RefereeBase::disBase2TargetDataCallBack, this);
5859
XmlRpc::XmlRpcValue rpc_value;
5960
send_ui_queue_delay_ = getParam(nh, "send_ui_queue_delay", 0.15);
6061
add_ui_frequency_ = getParam(nh, "add_ui_frequency", 5);
@@ -113,6 +114,9 @@ RefereeBase::RefereeBase(ros::NodeHandle& nh, Base& base) : base_(base), nh_(nh)
113114
if (rpc_value[i]["name"] == "lane_line")
114115
lane_line_time_change_ui_ =
115116
new LaneLineTimeChangeGroupUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
117+
if (rpc_value[i]["name"] == "distance")
118+
distance_base_time_change_ui_ =
119+
new DistanceBaseTimeChangeUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
116120
if (rpc_value[i]["name"] == "pitch")
117121
pitch_angle_time_change_ui_ = new PitchAngleTimeChangeUi(rpc_value[i], base_, &graph_queue_, &character_queue_);
118122
if (rpc_value[i]["name"] == "image_transmission")
@@ -233,6 +237,8 @@ void RefereeBase::addUi()
233237
lane_line_time_change_ui_->addForQueue();
234238
if (balance_pitch_time_change_group_ui_)
235239
balance_pitch_time_change_group_ui_->addForQueue();
240+
if (distance_base_time_change_ui_)
241+
distance_base_time_change_ui_->addForQueue();
236242
if (pitch_angle_time_change_ui_)
237243
pitch_angle_time_change_ui_->addForQueue();
238244
if (image_transmission_angle_time_change_ui_)
@@ -627,4 +633,10 @@ void RefereeBase::visualizeStateDataCallBack(const rm_msgs::VisualizeStateDataCo
627633
}
628634
}
629635

636+
void RefereeBase::disBase2TargetDataCallBack(const std_msgs::Float32ConstPtr& data)
637+
{
638+
if (distance_base_time_change_ui_ && !is_adding_)
639+
distance_base_time_change_ui_->updateDistanceBaseData(data, ros::Time::now());
640+
}
641+
630642
} // namespace rm_referee

rm_referee/src/ui/time_change_ui.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,19 @@ void BalancePitchTimeChangeGroupUi::calculatePointPosition(const rm_msgs::Balanc
278278
updateForQueue();
279279
}
280280

281+
void DistanceBaseTimeChangeUi::updateDistanceBaseData(const std_msgs::Float32ConstPtr data, const ros::Time& time)
282+
{
283+
distance_base_ = data->data;
284+
updateForQueue();
285+
}
286+
287+
void DistanceBaseTimeChangeUi::updateConfig()
288+
{
289+
std::string distance = std::to_string(distance_base_);
290+
graph_->setContent(distance);
291+
graph_->setColor(rm_referee::GraphColor::ORANGE);
292+
}
293+
281294
void PitchAngleTimeChangeUi::updateJointStateData(const sensor_msgs::JointState::ConstPtr data, const ros::Time& time)
282295
{
283296
for (unsigned int i = 0; i < data->name.size(); i++)

0 commit comments

Comments
 (0)