Struct HATebConfig::Optimization

Nested Relationships

This struct is a nested type of Class HATebConfig.

Struct Documentation

struct Optimization

Optimization related parameters.

Public Members

int no_inner_iterations

Number of solver iterations called in each outerloop iteration.

int no_outer_iterations

Each outerloop iteration automatically resizes the trajectory and invokes the internal optimizer with no_inner_iterations.

bool optimization_activate

Activate the optimization.

bool optimization_verbose

Print verbose information.

double penalty_epsilon

Add a small safety margin to penalty functions for hard-constraint approximations.

double time_penalty_epsilon

Time safety margin for penalty functions.

bool cap_optimaltime_penalty

Whether to cap the optimal time penalty.

double weight_max_vel_x

Optimization weight for satisfying the maximum allowed translational velocity.

double weight_max_vel_y

Optimization weight for satisfying the maximum allowed strafing velocity (in use only for holonomic robots)

double weight_max_vel_theta

Optimization weight for satisfying the maximum allowed angular velocity.

double weight_acc_lim_x

Optimization weight for satisfying the maximum allowed translational acceleration.

double weight_acc_lim_y

Optimization weight for satisfying the maximum allowed strafing acceleration (in use only for holonomic robots)

double weight_acc_lim_theta

Optimization weight for satisfying the maximum allowed angular acceleration.

double weight_kinematics_nh

Optimization weight for satisfying the non-holonomic kinematics.

double weight_kinematics_forward_drive

Optimization weight for forcing the robot to choose only forward directions (positive transl. velocities, only diffdrive robot)

double weight_kinematics_turning_radius

Optimization weight for enforcing a minimum turning radius (carlike robots)

double weight_optimaltime

Optimization weight for contracting the trajectory w.r.t. transition time.

double weight_shortest_path

Optimization weight for contracting the trajectory w.r.t. path length.

double weight_obstacle

Optimization weight for satisfying a minimum separation from obstacles.

double weight_inflation

Optimization weight for the inflation penalty (should be small)

double weight_dynamic_obstacle

Optimization weight for satisfying a minimum separation from dynamic obstacles.

double weight_dynamic_obstacle_inflation

Optimization weight for the inflation penalty of dynamic obstacles (should be small)

double weight_viapoint

Optimization weight for minimizing the distance to via-points.

double weight_prefer_rotdir

Optimization weight for preferring a specific turning direction.

double weight_adapt_factor

Some special weights (currently ‘weight_obstacle’) are repeatedly scaled by this factor in each outer TEB iteration (weight_new = weight_old*factor); Increasing weights iteratively instead of setting a huge value a-priori leads to better numerical conditions of the underlying optimization problem.

double obstacle_cost_exponent

Exponent for nonlinear obstacle cost (cost = linear_cost * obstacle_cost_exponent). Set to 1 to disable nonlinear cost (default)

double weight_max_agent_vel_x

Optimization weight for satisfying maximum agent translational velocity.

double weight_max_agent_vel_y

Optimization weight for satisfying maximum agent straffing velocity.

double weight_nominal_agent_vel_x

Optimization weight for maintaining nominal agent velocity.

double weight_max_agent_vel_theta

Optimization weight for satisfying maximum agent angular velocity.

double weight_agent_acc_lim_x

Optimization weight for satisfying agent translational acceleration limits.

double weight_agent_acc_lim_y

Optimization weight for satisfying agent straffing acceleration limits.

double weight_agent_acc_lim_theta

Optimization weight for satisfying agent angular acceleration limits.

double weight_agent_optimaltime

Optimization weight for agent trajectory transition time.

double weight_agent_viapoint

Optimization weight for agent via-points.

double weight_invisible_human

Optimization weight for invisible human penalties.

double weight_agent_robot_safety

Optimization weight for agent-robot safety constraints.

double weight_agent_agent_safety

Optimization weight for agent-agent safety constraints.

double weight_agent_robot_rel_vel

Optimization weight for relative velocity constraint between agent and robot.

double weight_agent_robot_visibility

Optimization weight for agent visibility to robot.

bool disable_warm_start

If true, disables warm start in optimization.

bool disable_rapid_omega_chage

If true, prevents rapid changes in angular velocity.

double omega_chage_time_seperation

Minimum time separation for angular velocity changes.