@@ -119,7 +119,7 @@ DiagnosticStatus ControlEvaluatorNode::generateLaneletDiagnosticStatus(const Pos
119
119
}
120
120
121
121
DiagnosticStatus ControlEvaluatorNode::generateKinematicStateDiagnosticStatus (
122
- const Odometry & odom, const AccelWithCovarianceStamped & accel_stamped )
122
+ const Odometry & odom, const Imu & imu )
123
123
{
124
124
DiagnosticStatus status;
125
125
status.name = " kinematic_state" ;
@@ -129,24 +129,24 @@ DiagnosticStatus ControlEvaluatorNode::generateKinematicStateDiagnosticStatus(
129
129
key_value.value = std::to_string (odom.twist .twist .linear .x );
130
130
status.values .push_back (key_value);
131
131
key_value.key = " acc" ;
132
- const auto & acc = accel_stamped. accel . accel . linear .x ;
132
+ const auto & acc = imu. linear_acceleration .x ;
133
133
key_value.value = std::to_string (acc);
134
134
status.values .push_back (key_value);
135
135
key_value.key = " jerk" ;
136
136
const auto jerk = [&]() {
137
- if (!prev_acc_stamped_ .has_value ()) {
138
- prev_acc_stamped_ = accel_stamped ;
137
+ if (!prev_imu_ .has_value ()) {
138
+ prev_imu_ = imu ;
139
139
return 0.0 ;
140
140
}
141
- const auto t = static_cast <double >(accel_stamped .header .stamp .sec ) +
142
- static_cast <double >(accel_stamped .header .stamp .nanosec ) * 1e-9 ;
143
- const auto prev_t = static_cast <double >(prev_acc_stamped_ .value ().header .stamp .sec ) +
144
- static_cast <double >(prev_acc_stamped_ .value ().header .stamp .nanosec ) * 1e-9 ;
141
+ const auto t = static_cast <double >(imu .header .stamp .sec ) +
142
+ static_cast <double >(imu .header .stamp .nanosec ) * 1e-9 ;
143
+ const auto prev_t = static_cast <double >(prev_imu_ .value ().header .stamp .sec ) +
144
+ static_cast <double >(prev_imu_ .value ().header .stamp .nanosec ) * 1e-9 ;
145
145
const auto dt = t - prev_t ;
146
146
if (dt < std::numeric_limits<double >::epsilon ()) return 0.0 ;
147
147
148
- const auto prev_acc = prev_acc_stamped_ .value ().accel . accel . linear .x ;
149
- prev_acc_stamped_ = accel_stamped ;
148
+ const auto prev_acc = prev_imu_ .value ().linear_acceleration .x ;
149
+ prev_imu_ = imu ;
150
150
return (acc - prev_acc) / dt;
151
151
}();
152
152
key_value.value = std::to_string (jerk);
@@ -191,7 +191,8 @@ void ControlEvaluatorNode::onTimer()
191
191
DiagnosticArray metrics_msg;
192
192
const auto traj = traj_sub_.takeData ();
193
193
const auto odom = odometry_sub_.takeData ();
194
- const auto acc = accel_sub_.takeData ();
194
+ // const auto acc = accel_sub_.takeData();
195
+ const auto imu = imu_sub_.takeData ();
195
196
196
197
// generate decision diagnostics from input diagnostics
197
198
for (const auto & function : target_functions_) {
@@ -224,8 +225,8 @@ void ControlEvaluatorNode::onTimer()
224
225
metrics_msg.status .push_back (generateLaneletDiagnosticStatus (ego_pose));
225
226
}
226
227
227
- if (odom && acc ) {
228
- metrics_msg.status .push_back (generateKinematicStateDiagnosticStatus (*odom, *acc ));
228
+ if (odom && imu ) {
229
+ metrics_msg.status .push_back (generateKinematicStateDiagnosticStatus (*odom, *imu ));
229
230
}
230
231
231
232
metrics_msg.header .stamp = now ();
0 commit comments