@@ -47,21 +47,20 @@ template <class T>
47
47
void DistortionCorrector<T>::processIMUMessage(
48
48
const std::string & base_frame, const sensor_msgs::msg::Imu::ConstSharedPtr imu_msg)
49
49
{
50
- geometry_msgs::msg::TransformStamped::SharedPtr geometry_imu_to_base_link_ptr =
51
- std::make_shared<geometry_msgs::msg::TransformStamped>();
52
- getIMUTransformation (base_frame, imu_msg->header .frame_id , geometry_imu_to_base_link_ptr);
53
- enqueueIMU (imu_msg, geometry_imu_to_base_link_ptr);
50
+ getIMUTransformation (base_frame, imu_msg->header .frame_id );
51
+ enqueueIMU (imu_msg);
54
52
}
55
53
56
54
template <class T >
57
55
void DistortionCorrector<T>::getIMUTransformation(
58
- const std::string & base_frame, const std::string & imu_frame,
59
- geometry_msgs::msg::TransformStamped::SharedPtr geometry_imu_to_base_link_ptr)
56
+ const std::string & base_frame, const std::string & imu_frame)
60
57
{
61
58
if (imu_transform_exists_) {
62
59
return ;
63
60
}
64
61
62
+ geometry_imu_to_base_link_ptr_ = std::make_shared<geometry_msgs::msg::TransformStamped>();
63
+
65
64
tf2::Transform tf2_imu_to_base_link;
66
65
if (base_frame == imu_frame) {
67
66
tf2_imu_to_base_link.setOrigin (tf2::Vector3 (0.0 , 0.0 , 0.0 ));
@@ -83,20 +82,18 @@ void DistortionCorrector<T>::getIMUTransformation(
83
82
}
84
83
}
85
84
86
- geometry_imu_to_base_link_ptr ->transform .rotation =
85
+ geometry_imu_to_base_link_ptr_ ->transform .rotation =
87
86
tf2::toMsg (tf2_imu_to_base_link.getRotation ());
88
87
}
89
88
90
89
template <class T >
91
- void DistortionCorrector<T>::enqueueIMU(
92
- const sensor_msgs::msg::Imu::ConstSharedPtr imu_msg,
93
- geometry_msgs::msg::TransformStamped::SharedPtr geometry_imu_to_base_link_ptr)
90
+ void DistortionCorrector<T>::enqueueIMU(const sensor_msgs::msg::Imu::ConstSharedPtr imu_msg)
94
91
{
95
92
geometry_msgs::msg::Vector3Stamped angular_velocity;
96
93
angular_velocity.vector = imu_msg->angular_velocity ;
97
94
98
95
geometry_msgs::msg::Vector3Stamped transformed_angular_velocity;
99
- tf2::doTransform (angular_velocity, transformed_angular_velocity, *geometry_imu_to_base_link_ptr );
96
+ tf2::doTransform (angular_velocity, transformed_angular_velocity, *geometry_imu_to_base_link_ptr_ );
100
97
transformed_angular_velocity.header = imu_msg->header ;
101
98
angular_velocity_queue_.push_back (transformed_angular_velocity);
102
99
0 commit comments