Class EdgeVelocityHolonomic
Defined in File edge_velocity.h
Inheritance Relationships
Base Type
public hateb_local_planner::BaseTebMultiEdge< 3, double >(Template Class BaseTebMultiEdge)
Class Documentation
-
class EdgeVelocityHolonomic : public hateb_local_planner::BaseTebMultiEdge<3, double>
Edge defining the cost function for limiting the translational and rotational velocity according to x,y and theta.
The edge depends on three vertices \( \mathbf{s}_i, \mathbf{s}_{ip1}, \Delta T_i \) and minimizes: \( \min \textrm{penaltyInterval}( [vx,vy,omega]^T ) \cdot weight \). vx denotes the translational velocity w.r.t. x-axis (computed using finite differneces). vy denotes the translational velocity w.r.t. y-axis (computed using finite differneces). omega is calculated using the difference quotient of both 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 velocity w.r.t. x-axis, the second one w.r.t. the y-axis and the third one the rotational velocity.
See also
Remark
Do not forget to call setHATebConfig()
Public Functions
-
inline EdgeVelocityHolonomic()
Construct edge.
-
inline void computeError() override
Actual cost function.
-
inline void setParameters(const HATebConfig &cfg, const BaseFootprintModel *robot_model, const int isMode)
Protected Attributes
-
const BaseFootprintModel *robot_model_
-
Obstacle *obs_ = new PointObstacle()
-
int mode_ = 0
-
inline EdgeVelocityHolonomic()