Skip to content

Commit b399fa7

Browse files
committed
fix linting issues
1 parent bb992e4 commit b399fa7

5 files changed

Lines changed: 13 additions & 21 deletions

File tree

trajectory_optimization/include/trajectory_optimization/performance_logger.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ class PerformanceLogger {
129129
* @param[in] dims acados NLP dimensions.
130130
* @param[in] obstacle_circles Number of obstacle circles represented in the nonlinear constraints.
131131
*/
132-
void collectConstraintDiagnostics(PerformanceMetrics& metrics,
133-
ocp_nlp_solver* solver,
134-
const ocp_nlp_dims* dims,
135-
int obstacle_circles) const;
132+
static void collectConstraintDiagnostics(PerformanceMetrics& metrics,
133+
ocp_nlp_solver* solver,
134+
const ocp_nlp_dims* dims,
135+
int obstacle_circles);
136136

137137
/**
138138
* @brief Returns the path of the CSV performance log.

trajectory_optimization/include/trajectory_optimization/trajectory_optimization_node.hpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,6 @@ class TrajectoryOptimizationNode : public rclcpp::Node {
157157
*/
158158
void printSolution(const PerformanceMetrics& metrics);
159159

160-
/**
161-
* @brief Emits one machine-readable performance record when performance logging is enabled.
162-
*
163-
* @param[in] metrics Performance metrics to write to the log.
164-
*/
165-
void logPerformance(const PerformanceMetrics& metrics);
166-
167160
/**
168161
* @brief Transforms the planned trajectory into the configured output frame (trajectory_frame_id_) if required.
169162
*

trajectory_optimization/src/performance_logger.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ void PerformanceLogger::collectSolverStatistics(PerformanceMetrics& metrics,
112112
void PerformanceLogger::collectConstraintDiagnostics(PerformanceMetrics& metrics,
113113
ocp_nlp_solver* solver,
114114
const ocp_nlp_dims* dims,
115-
int obstacle_circles) const {
115+
int obstacle_circles) {
116+
// The acados C API exposes stage-dependent dimensions as raw arrays.
117+
// NOLINTBEGIN(cppcoreguidelines-pro-bounds-pointer-arithmetic)
116118
for (int stage = 0; stage <= dims->N; ++stage) {
117119
std::vector<double> residuals(2 * dims->ni[stage]);
118120
ocp_nlp_get_at_stage(solver, stage, "ineq_fun", residuals.data());
@@ -177,6 +179,7 @@ void PerformanceLogger::collectConstraintDiagnostics(PerformanceMetrics& metrics
177179
metrics.max_ineq_type = "slack";
178180
metrics.max_ineq_index = index - nb - ng - nh;
179181
}
182+
// NOLINTEND(cppcoreguidelines-pro-bounds-pointer-arithmetic)
180183
}
181184

182185
void PerformanceLogger::write(const PerformanceMetrics& metrics) {

trajectory_optimization/src/trajectory_optimization_node.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,9 @@ void TrajectoryOptimizationNode::planningCycle() {
436436
auto logCompletedCycle = [&]() {
437437
metrics.cycle_ms = elapsedMilliseconds(cycle_start);
438438
metrics.postprocessing_ms = metrics.cycle_ms - metrics.preprocessing_ms - metrics.solve_wall_ms;
439-
logPerformance(metrics);
439+
if (performance_logger_) {
440+
performance_logger_->write(metrics);
441+
}
440442
};
441443

442444
// set initial state
@@ -504,8 +506,8 @@ void TrajectoryOptimizationNode::planningCycle() {
504506
"Rejecting solver output: status=%d finite=%d primal residuals=[eq=%e, ineq=%e] tolerances=[eq=%e, ineq=%e].",
505507
metrics.status, finite_solution, metrics.res_eq, metrics.res_ineq, solver_opts->tol_eq, solver_opts->tol_ineq);
506508
if (finite_solution && performance_logger_) {
507-
performance_logger_->collectConstraintDiagnostics(metrics, nlp_solver_, nlp_dims_,
508-
static_cast<int>(p_obstacle_circles_shape_[0]));
509+
PerformanceLogger::collectConstraintDiagnostics(metrics, nlp_solver_, nlp_dims_,
510+
static_cast<int>(p_obstacle_circles_shape_[0]));
509511
}
510512
if (finite_solution && (metrics.status == ACADOS_MAXITER || metrics.status == ACADOS_TIMEOUT)) {
511513
// Preserve progress from a recoverable solve; the states are rolled out again from the next x_init.

trajectory_optimization/src/utils.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -481,10 +481,4 @@ void TrajectoryOptimizationNode::printSolution(const PerformanceMetrics& metrics
481481
}
482482
}
483483

484-
void TrajectoryOptimizationNode::logPerformance(const PerformanceMetrics& metrics) {
485-
if (performance_logger_) {
486-
performance_logger_->write(metrics);
487-
}
488-
}
489-
490484
} // namespace trajectory_optimization

0 commit comments

Comments
 (0)