Class EdgeAccelerationHolonomic

Inheritance Relationships

Base Type

Class Documentation

class EdgeAccelerationHolonomic : public hateb_local_planner::BaseTebMultiEdge<3, double>

Edge defining the cost function for limiting the translational and rotational acceleration.

The edge depends on five vertices \( \mathbf{s}_i, \mathbf{s}_{ip1}, \mathbf{s}_{ip2}, \Delta T_i, \Delta T_{ip1} \) and minimizes: \( \min \textrm{penaltyInterval}( [ax, ay, omegadot } ]^T ) \cdot weight \). ax is calculated using the difference quotient (twice) and the x position parts of all three poses ay is calculated using the difference quotient (twice) and the y position parts of all three poses omegadot is calculated using the difference quotient of the yaw angles followed by a normalization to [-pi, pi]. weight can be set using setInformation() penaltyInterval denotes the penalty function, see penaltyBoundToInterval() The dimension of the error / cost vector is 3: the first component represents the translational acceleration (x-dir), the second one the strafing acceleration and the third one the rotational acceleration.

Remark

Do not forget to call setHATebConfig()

Remark

Refer to EdgeAccelerationHolonomicStart() and EdgeAccelerationHolonomicGoal() for defining boundary values!

Public Functions

inline EdgeAccelerationHolonomic()

Construct edge.

inline void computeError() override

Actual cost function.