io.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
6{
8 {
9 // Pre-processing (hill climb)
10 double clearance = 100.0;
11 double hill_climb_step_size = 10.0;
13
14 // Obstacle avoidance
15 double w_obs = 2000.0;
16 double obs_max_distance = 500.0;
17 double obs_barrier_eps_mm = 1.0;
18 bool use_obs = true;
22 double w_theta_track = 10.0;
23
24 // Obstacle-based pose freezing: hold interior waypoints constant during
25 // pose optimization if their pre-processed clearance is below threshold.
28
29 // Pose smoothness
30 double w_boundary = 10.0;
31 double w_pose_smooth = 10.0;
32 double w_orientation_smooth = 100.0;
33 double w_pose_jerk = 0.0;
34 bool use_jerk = false;
35 double w_robot_smooth = 0.0;
36 bool use_robot_smooth = true;
37
38 // Waypoint spacing
39 double w_spacing = 1.0;
40 bool use_soft_spacing = true;
42 double w_spacing_linear = 1.0;
43 double w_spacing_quadratic = 5.0;
44
45 // Velocity profile
46 double start_velocity = 100.0;
47 double w_accel_decel_limit = 1.0;
48 double max_accel_per_segment = 100.0;
49 double max_decel_per_segment = 100.0;
50 double w_nominal_velocity = 0.01;
52 double slow_down_distance = 300.0;
54
55 // Tracking
56 double w_track = 0.05;
57 bool use_tracking = true;
58
59 // Clearance-adaptive tracking: fade out tracking residuals in open space
63
64 // Robot-pose proximity to pre-processed trajectory
69
70 // Ceres solver
72 int num_threads = 4;
76
77 // Planner behavior
79 };
80
82 loadSmoothingParams(const std::string& filePath = "algorithms/orientation-aware-smoothing.cfg");
83
84} // namespace armarx::navigation::algorithms::orientation_aware::smoothing::io
SmoothingParams loadSmoothingParams(const std::string &filePath)
Definition io.cpp:13