Skip to content

Commit e6b56a4

Browse files
a-maumauYamatoAndo
andauthored
feat(imu_corrector): componentize ImuCorrector and GyroBiasEstimator (autowarefoundation#7129)
* remove unusing main func file Signed-off-by: a-maumau <maumaumaumaumaumaumaumaumaumau@gmail.com> * mod to componentize and use glog Signed-off-by: a-maumau <maumaumaumaumaumaumaumaumaumau@gmail.com> * change log output from screen to both Signed-off-by: a-maumau <maumaumaumaumaumaumaumaumaumau@gmail.com> * Update sensing/imu_corrector/CMakeLists.txt add namespace Co-authored-by: Yamato Ando <yamato.ando@gmail.com> Signed-off-by: a-maumau <maumaumaumaumaumaumaumaumaumau@gmail.com> * Update sensing/imu_corrector/CMakeLists.txt add namespace Co-authored-by: Yamato Ando <yamato.ando@gmail.com> --------- Signed-off-by: a-maumau <maumaumaumaumaumaumaumaumaumau@gmail.com> Co-authored-by: Yamato Ando <yamato.ando@gmail.com>
1 parent 4aeb69f commit e6b56a4

9 files changed

+30
-70
lines changed

sensing/imu_corrector/CMakeLists.txt

+15-10
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,32 @@ project(imu_corrector)
44
find_package(autoware_cmake REQUIRED)
55
autoware_package()
66

7-
ament_auto_add_library(gyro_bias_estimation_module SHARED
8-
src/gyro_bias_estimation_module.cpp
9-
)
10-
11-
ament_auto_add_executable(imu_corrector
7+
ament_auto_add_library(${PROJECT_NAME} SHARED
128
src/imu_corrector_core.cpp
13-
src/imu_corrector_node.cpp
149
)
1510

16-
ament_auto_add_executable(gyro_bias_estimator
11+
ament_auto_add_library(gyro_bias_estimator SHARED
1712
src/gyro_bias_estimator.cpp
18-
src/gyro_bias_estimator_node.cpp
13+
src/gyro_bias_estimation_module.cpp
1914
)
2015

21-
target_link_libraries(gyro_bias_estimator gyro_bias_estimation_module)
16+
rclcpp_components_register_node(${PROJECT_NAME}
17+
PLUGIN "imu_corrector::ImuCorrector"
18+
EXECUTABLE ${PROJECT_NAME}_node
19+
EXECUTOR SingleThreadedExecutor
20+
)
21+
22+
rclcpp_components_register_node(gyro_bias_estimator
23+
PLUGIN "imu_corrector::GyroBiasEstimator"
24+
EXECUTABLE gyro_bias_estimator_node
25+
EXECUTOR SingleThreadedExecutor
26+
)
2227

2328
function(add_testcase filepath)
2429
get_filename_component(filename ${filepath} NAME)
2530
string(REGEX REPLACE ".cpp" "" test_name ${filename})
2631
ament_add_gmock(${test_name} ${filepath})
27-
target_link_libraries("${test_name}" gyro_bias_estimation_module)
32+
target_link_libraries("${test_name}" gyro_bias_estimator)
2833
ament_target_dependencies(${test_name} ${${PROJECT_NAME}_FOUND_BUILD_DEPENDS})
2934
endfunction()
3035

sensing/imu_corrector/launch/gyro_bias_estimator.launch.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<arg name="gyro_bias_estimator_param_file" default="$(find-pkg-share imu_corrector)/config/gyro_bias_estimator.param.yaml"/>
77
<arg name="imu_corrector_param_file" default="$(find-pkg-share imu_corrector)/config/imu_corrector.param.yaml"/>
88

9-
<node pkg="imu_corrector" exec="gyro_bias_estimator" name="gyro_bias_estimator" output="screen">
9+
<node pkg="imu_corrector" exec="gyro_bias_estimator_node" output="both">
1010
<remap from="~/input/imu_raw" to="$(var input_imu_raw)"/>
1111
<remap from="~/input/odom" to="$(var input_odom)"/>
1212
<remap from="~/output/gyro_bias" to="$(var output_gyro_bias)"/>

sensing/imu_corrector/launch/imu_corrector.launch.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<arg name="output_topic" default="imu_data"/>
55
<arg name="param_file" default="$(find-pkg-share imu_corrector)/config/imu_corrector.param.yaml"/>
66

7-
<node pkg="imu_corrector" exec="imu_corrector" name="imu_corrector" output="screen">
7+
<node pkg="imu_corrector" exec="imu_corrector_node" output="both">
88
<remap from="input" to="$(var input_topic)"/>
99
<remap from="output" to="$(var output_topic)"/>
1010
<param from="$(var param_file)"/>

sensing/imu_corrector/src/gyro_bias_estimator.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
namespace imu_corrector
2525
{
26-
GyroBiasEstimator::GyroBiasEstimator()
27-
: Node("gyro_bias_validator"),
26+
GyroBiasEstimator::GyroBiasEstimator(const rclcpp::NodeOptions & options)
27+
: rclcpp::Node("gyro_bias_validator", options),
2828
gyro_bias_threshold_(declare_parameter<double>("gyro_bias_threshold")),
2929
angular_velocity_offset_x_(declare_parameter<double>("angular_velocity_offset_x")),
3030
angular_velocity_offset_y_(declare_parameter<double>("angular_velocity_offset_y")),
@@ -244,3 +244,6 @@ void GyroBiasEstimator::update_diagnostics(diagnostic_updater::DiagnosticStatusW
244244
}
245245

246246
} // namespace imu_corrector
247+
248+
#include <rclcpp_components/register_node_macro.hpp>
249+
RCLCPP_COMPONENTS_REGISTER_NODE(imu_corrector::GyroBiasEstimator)

sensing/imu_corrector/src/gyro_bias_estimator.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class GyroBiasEstimator : public rclcpp::Node
4242
using Odometry = nav_msgs::msg::Odometry;
4343

4444
public:
45-
GyroBiasEstimator();
45+
explicit GyroBiasEstimator(const rclcpp::NodeOptions & options);
4646

4747
private:
4848
void update_diagnostics(diagnostic_updater::DiagnosticStatusWrapper & stat);

sensing/imu_corrector/src/gyro_bias_estimator_node.cpp

-26
This file was deleted.

sensing/imu_corrector/src/imu_corrector_core.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,9 @@ geometry_msgs::msg::Vector3 transformVector3(
5353

5454
namespace imu_corrector
5555
{
56-
ImuCorrector::ImuCorrector()
57-
: Node("imu_corrector"), output_frame_(declare_parameter<std::string>("base_link", "base_link"))
56+
ImuCorrector::ImuCorrector(const rclcpp::NodeOptions & options)
57+
: rclcpp::Node("imu_corrector", options),
58+
output_frame_(declare_parameter<std::string>("base_link", "base_link"))
5859
{
5960
transform_listener_ = std::make_shared<tier4_autoware_utils::TransformListener>(this);
6061

@@ -123,3 +124,6 @@ void ImuCorrector::callbackImu(const sensor_msgs::msg::Imu::ConstSharedPtr imu_m
123124
}
124125

125126
} // namespace imu_corrector
127+
128+
#include <rclcpp_components/register_node_macro.hpp>
129+
RCLCPP_COMPONENTS_REGISTER_NODE(imu_corrector::ImuCorrector)

sensing/imu_corrector/src/imu_corrector_core.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class ImuCorrector : public rclcpp::Node
3434
using COV_IDX = tier4_autoware_utils::xyz_covariance_index::XYZ_COV_IDX;
3535

3636
public:
37-
ImuCorrector();
37+
explicit ImuCorrector(const rclcpp::NodeOptions & options);
3838

3939
private:
4040
void callbackImu(const sensor_msgs::msg::Imu::ConstSharedPtr imu_msg_ptr);

sensing/imu_corrector/src/imu_corrector_node.cpp

-26
This file was deleted.

0 commit comments

Comments
 (0)