diff --git a/vehicle/autoware_raw_vehicle_cmd_converter/README.md b/vehicle/autoware_raw_vehicle_cmd_converter/README.md
index 25e816e6f8692..858db3cbaa768 100644
--- a/vehicle/autoware_raw_vehicle_cmd_converter/README.md
+++ b/vehicle/autoware_raw_vehicle_cmd_converter/README.md
@@ -26,11 +26,11 @@ For ease of calibration and adjustments to the lookup table, an auto-calibration
 
 ## Input topics
 
-| Name                  | Type                                  | Description                                                                                                        |
-| --------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
-| `~/input/control_cmd` | autoware_control_msgs::msg::Control   | target `velocity/acceleration/steering_angle/steering_angle_velocity` is necessary to calculate actuation command. |
-| `~/input/steering"`   | autoware_vehicle_msgs::SteeringReport | current status of steering used for steering feed back control                                                     |
-| `~/input/twist`       | navigation_msgs::Odometry             | twist topic in odometry is used.                                                                                   |
+| Name                  | Type                                       | Description                                                                                                        |
+| --------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
+| `~/input/control_cmd` | autoware_control_msgs::msg::Control        | target `velocity/acceleration/steering_angle/steering_angle_velocity` is necessary to calculate actuation command. |
+| `~/input/steering"`   | autoware_vehicle_msgs::msg::SteeringReport | current status of steering used for steering feed back control                                                     |
+| `~/input/odometry`    | navigation_msgs::Odometry                  | twist topic in odometry is used.                                                                                   |
 
 ## Output topics
 
diff --git a/vehicle/autoware_raw_vehicle_cmd_converter/include/autoware_raw_vehicle_cmd_converter/node.hpp b/vehicle/autoware_raw_vehicle_cmd_converter/include/autoware_raw_vehicle_cmd_converter/node.hpp
index 9b64c26770e40..26b3dde029ebc 100644
--- a/vehicle/autoware_raw_vehicle_cmd_converter/include/autoware_raw_vehicle_cmd_converter/node.hpp
+++ b/vehicle/autoware_raw_vehicle_cmd_converter/include/autoware_raw_vehicle_cmd_converter/node.hpp
@@ -20,6 +20,7 @@
 #include "autoware_raw_vehicle_cmd_converter/pid.hpp"
 #include "autoware_raw_vehicle_cmd_converter/steer_map.hpp"
 #include "tier4_autoware_utils/ros/logger_level_configure.hpp"
+#include "tier4_autoware_utils/ros/polling_subscriber.hpp"
 
 #include <rclcpp/rclcpp.hpp>
 
@@ -74,12 +75,13 @@ class RawVehicleCommandConverterNode : public rclcpp::Node
 
   //!< @brief topic publisher for low level vehicle command
   rclcpp::Publisher<ActuationCommandStamped>::SharedPtr pub_actuation_cmd_;
-  //!< @brief subscriber for current velocity
-  rclcpp::Subscription<Odometry>::SharedPtr sub_velocity_;
   //!< @brief subscriber for vehicle command
   rclcpp::Subscription<Control>::SharedPtr sub_control_cmd_;
-  //!< @brief subscriber for steering
-  rclcpp::Subscription<Steering>::SharedPtr sub_steering_;
+  // polling subscribers
+  tier4_autoware_utils::InterProcessPollingSubscriber<Odometry> sub_odometry_{
+    this, "~/input/odometry"};
+  tier4_autoware_utils::InterProcessPollingSubscriber<Steering> sub_steering_{
+    this, "~/input/steering"};
 
   rclcpp::TimerBase::SharedPtr timer_;
 
@@ -109,9 +111,7 @@ class RawVehicleCommandConverterNode : public rclcpp::Node
     const double current_velocity, const double desired_acc, bool & accel_cmd_is_zero);
   double calculateBrakeMap(const double current_velocity, const double desired_acc);
   double calculateSteer(const double vel, const double steering, const double steer_rate);
-  void onSteering(const Steering::ConstSharedPtr msg);
   void onControlCmd(const Control::ConstSharedPtr msg);
-  void onVelocity(const Odometry::ConstSharedPtr msg);
   void publishActuationCmd();
   // for debugging
   rclcpp::Publisher<Float32MultiArrayStamped>::SharedPtr debug_pub_steer_pid_;
diff --git a/vehicle/autoware_raw_vehicle_cmd_converter/package.xml b/vehicle/autoware_raw_vehicle_cmd_converter/package.xml
index 25a329be3a6b9..973af0dc112fb 100644
--- a/vehicle/autoware_raw_vehicle_cmd_converter/package.xml
+++ b/vehicle/autoware_raw_vehicle_cmd_converter/package.xml
@@ -7,6 +7,7 @@
   <maintainer email="takamasa.horibe@tier4.jp">Takamasa Horibe</maintainer>
   <maintainer email="taiki.tanaka@tier4.jp">Tanaka Taiki</maintainer>
   <maintainer email="makoto.kurihara@tier4.jp">Makoto Kurihara</maintainer>
+  <maintainer email="sho.iwasawa.2@tier4.jp">Sho Iwasawa</maintainer>
 
   <license>Apache License 2.0</license>
 
diff --git a/vehicle/autoware_raw_vehicle_cmd_converter/src/node.cpp b/vehicle/autoware_raw_vehicle_cmd_converter/src/node.cpp
index 044d698e8b9fc..0051dea0a5103 100644
--- a/vehicle/autoware_raw_vehicle_cmd_converter/src/node.cpp
+++ b/vehicle/autoware_raw_vehicle_cmd_converter/src/node.cpp
@@ -78,10 +78,6 @@ RawVehicleCommandConverterNode::RawVehicleCommandConverterNode(
   pub_actuation_cmd_ = create_publisher<ActuationCommandStamped>("~/output/actuation_cmd", 1);
   sub_control_cmd_ = create_subscription<Control>(
     "~/input/control_cmd", 1, std::bind(&RawVehicleCommandConverterNode::onControlCmd, this, _1));
-  sub_velocity_ = create_subscription<Odometry>(
-    "~/input/odometry", 1, std::bind(&RawVehicleCommandConverterNode::onVelocity, this, _1));
-  sub_steering_ = create_subscription<Steering>(
-    "~/input/steering", 1, std::bind(&RawVehicleCommandConverterNode::onSteering, this, _1));
   debug_pub_steer_pid_ = create_publisher<Float32MultiArrayStamped>(
     "/vehicle/raw_vehicle_cmd_converter/debug/steer_pid", 1);
 
@@ -204,20 +200,18 @@ double RawVehicleCommandConverterNode::calculateBrakeMap(
   return desired_brake_cmd;
 }
 
-void RawVehicleCommandConverterNode::onSteering(const Steering::ConstSharedPtr msg)
-{
-  current_steer_ptr_ = std::make_unique<double>(msg->steering_tire_angle);
-}
-
-void RawVehicleCommandConverterNode::onVelocity(const Odometry::ConstSharedPtr msg)
-{
-  current_twist_ptr_ = std::make_unique<TwistStamped>();
-  current_twist_ptr_->header = msg->header;
-  current_twist_ptr_->twist = msg->twist.twist;
-}
-
 void RawVehicleCommandConverterNode::onControlCmd(const Control::ConstSharedPtr msg)
 {
+  const auto odometry_msg = sub_odometry_.takeData();
+  const auto steering_msg = sub_steering_.takeData();
+  if (steering_msg) {
+    current_steer_ptr_ = std::make_unique<double>(steering_msg->steering_tire_angle);
+  }
+  if (odometry_msg) {
+    current_twist_ptr_ = std::make_unique<TwistStamped>();
+    current_twist_ptr_->header = odometry_msg->header;
+    current_twist_ptr_->twist = odometry_msg->twist.twist;
+  }
   control_cmd_ptr_ = msg;
   publishActuationCmd();
 }