Skip to content

Commit 27bf7e9

Browse files
RT1-6697 use polling subscriber
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
1 parent ce1a86a commit 27bf7e9

File tree

3 files changed

+15
-31
lines changed

3 files changed

+15
-31
lines changed

control/shift_decider/include/shift_decider/shift_decider.hpp

+11-8
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
#ifndef SHIFT_DECIDER__SHIFT_DECIDER_HPP_
1616
#define SHIFT_DECIDER__SHIFT_DECIDER_HPP_
1717

18+
#include "tier4_autoware_utils/ros/polling_subscriber.hpp"
19+
1820
#include <rclcpp/rclcpp.hpp>
1921

2022
#include <autoware_control_msgs/msg/control.hpp>
2123
#include <autoware_system_msgs/msg/autoware_state.hpp>
2224
#include <autoware_vehicle_msgs/msg/gear_command.hpp>
2325
#include <autoware_vehicle_msgs/msg/gear_report.hpp>
2426

25-
#include <memory>
26-
2727
class ShiftDecider : public rclcpp::Node
2828
{
2929
public:
@@ -38,16 +38,19 @@ class ShiftDecider : public rclcpp::Node
3838
void initTimer(double period_s);
3939

4040
rclcpp::Publisher<autoware_vehicle_msgs::msg::GearCommand>::SharedPtr pub_shift_cmd_;
41-
rclcpp::Subscription<autoware_control_msgs::msg::Control>::SharedPtr sub_control_cmd_;
42-
rclcpp::Subscription<autoware_system_msgs::msg::AutowareState>::SharedPtr sub_autoware_state_;
43-
rclcpp::Subscription<autoware_vehicle_msgs::msg::GearReport>::SharedPtr sub_current_gear_;
41+
tier4_autoware_utils::InterProcessPollingSubscriber<autoware_control_msgs::msg::Control>
42+
sub_control_cmd_{this, "input/control_cmd"};
43+
tier4_autoware_utils::InterProcessPollingSubscriber<autoware_system_msgs::msg::AutowareState>
44+
sub_autoware_state_{this, "input/state"};
45+
tier4_autoware_utils::InterProcessPollingSubscriber<autoware_vehicle_msgs::msg::GearReport>
46+
sub_current_gear_{this, "input/current_gear"};
4447

4548
rclcpp::TimerBase::SharedPtr timer_;
4649

47-
autoware_control_msgs::msg::Control::SharedPtr control_cmd_;
48-
autoware_system_msgs::msg::AutowareState::SharedPtr autoware_state_;
50+
autoware_control_msgs::msg::Control::ConstSharedPtr control_cmd_;
51+
autoware_system_msgs::msg::AutowareState::ConstSharedPtr autoware_state_;
4952
autoware_vehicle_msgs::msg::GearCommand shift_cmd_;
50-
autoware_vehicle_msgs::msg::GearReport::SharedPtr current_gear_ptr_;
53+
autoware_vehicle_msgs::msg::GearReport::ConstSharedPtr current_gear_ptr_;
5154
uint8_t prev_shift_command = autoware_vehicle_msgs::msg::GearCommand::PARK;
5255

5356
bool park_on_goal_;

control/shift_decider/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<depend>autoware_vehicle_msgs</depend>
1818
<depend>rclcpp</depend>
1919
<depend>rclcpp_components</depend>
20+
<depend>tier4_autoware_utils</depend>
2021

2122
<test_depend>ament_cmake_cppcheck</test_depend>
2223
<test_depend>ament_cmake_cpplint</test_depend>

control/shift_decider/src/shift_decider.cpp

+3-23
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
#include <cstddef>
2020
#include <functional>
21-
#include <memory>
22-
#include <utility>
2321

2422
ShiftDecider::ShiftDecider(const rclcpp::NodeOptions & node_options)
2523
: Node("shift_decider", node_options)
@@ -34,33 +32,15 @@ ShiftDecider::ShiftDecider(const rclcpp::NodeOptions & node_options)
3432

3533
pub_shift_cmd_ =
3634
create_publisher<autoware_vehicle_msgs::msg::GearCommand>("output/gear_cmd", durable_qos);
37-
sub_control_cmd_ = create_subscription<autoware_control_msgs::msg::Control>(
38-
"input/control_cmd", queue_size, std::bind(&ShiftDecider::onControlCmd, this, _1));
39-
sub_autoware_state_ = create_subscription<autoware_system_msgs::msg::AutowareState>(
40-
"input/state", queue_size, std::bind(&ShiftDecider::onAutowareState, this, _1));
41-
sub_current_gear_ = create_subscription<autoware_vehicle_msgs::msg::GearReport>(
42-
"input/current_gear", queue_size, std::bind(&ShiftDecider::onCurrentGear, this, _1));
4335

4436
initTimer(0.1);
4537
}
4638

47-
void ShiftDecider::onControlCmd(autoware_control_msgs::msg::Control::SharedPtr msg)
48-
{
49-
control_cmd_ = msg;
50-
}
51-
52-
void ShiftDecider::onAutowareState(autoware_system_msgs::msg::AutowareState::SharedPtr msg)
53-
{
54-
autoware_state_ = msg;
55-
}
56-
57-
void ShiftDecider::onCurrentGear(autoware_vehicle_msgs::msg::GearReport::SharedPtr msg)
58-
{
59-
current_gear_ptr_ = msg;
60-
}
61-
6239
void ShiftDecider::onTimer()
6340
{
41+
control_cmd_ = sub_control_cmd_.takeData();
42+
autoware_state_ = sub_autoware_state_.takeData();
43+
current_gear_ptr_ = sub_current_gear_.takeData();
6444
if (!autoware_state_ || !control_cmd_ || !current_gear_ptr_) {
6545
return;
6646
}

0 commit comments

Comments
 (0)