Class EdgeAccelerationHolonomicStart
Defined in File edge_acceleration.h
Inheritance Relationships
Base Type
public hateb_local_planner::BaseTebMultiEdge< 3, const geometry_msgs::Twist * >(Template Class BaseTebMultiEdge)
Class Documentation
-
class EdgeAccelerationHolonomicStart : public hateb_local_planner::BaseTebMultiEdge<3, const geometry_msgs::Twist*>
Edge defining the cost function for limiting the translational and rotational acceleration at the beginning of the trajectory.
The edge depends on three vertices \( \mathbf{s}_i, \mathbf{s}_{ip1}, \Delta T_i \), an initial velocity defined by setInitialVelocity() 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 the poses. ay is calculated using the difference quotient (twice) and the y-position parts of the 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, the second one the strafing acceleration and the third one the rotational acceleration.
See also
See also
Remark
Do not forget to call setHATebConfig()
Remark
Refer to EdgeAccelerationHolonomicGoal() for defining boundary values at the end of the trajectory!
Public Functions
-
inline EdgeAccelerationHolonomicStart()
Construct edge.
-
inline void computeError() override
Actual cost function.
-
inline void setInitialVelocity(const geometry_msgs::Twist &vel_start)
Set the initial velocity that is taken into account for calculating the acceleration.
- Parameters:
vel_start – twist message containing the translational and rotational velocity
-
inline EdgeAccelerationHolonomicStart()