Class EdgeVelocity
Defined in File edge_velocity.h
Inheritance Relationships
Base Type
public hateb_local_planner::BaseTebMultiEdge< 2, double >(Template Class BaseTebMultiEdge)
Class Documentation
-
class EdgeVelocity : public hateb_local_planner::BaseTebMultiEdge<2, double>
Edge defining the cost function for limiting the translational and rotational velocity.
The edge depends on three vertices \( \mathbf{s}_i, \mathbf{s}_{ip1}, \Delta T_i \) and minimizes: \( \min \textrm{penaltyInterval}( [v,omega]^T ) \cdot weight \). v is calculated using the difference quotient and the position parts of both poses. 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 2: the first component represents the translational velocity and the second one the rotational velocity.
See also
Remark
Do not forget to call setHATebConfig()
Public Functions
-
inline EdgeVelocity()
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 EdgeVelocity()