Public Member Functions | Protected Attributes
teb_local_planner::EdgeAccelerationStart Class Reference

Edge defining the cost function for limiting the translational and rotational acceleration at the beginning of the trajectory. More...

#include <edge_acceleration.h>

List of all members.

Public Member Functions

void computeError ()
 Actual cost function.
 EdgeAccelerationStart ()
 Construct edge.
ErrorVector & getError ()
 Compute and return error / cost value.
bool read (std::istream &is)
 Read values from input stream.
void setInitialVelocity (const Eigen::Vector2d &vel_start)
 Set the initial velocity that is taken into account for calculating the acceleration.
void setTebConfig (const TebConfig &cfg)
 Assign the TebConfig class for parameters.
bool write (std::ostream &os) const
 Write values to an output stream.
 ~EdgeAccelerationStart ()
 Destruct edge.

Protected Attributes

const TebConfigcfg_
 Store TebConfig class for parameters.

Detailed Description

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}( [a, omegadot ]^T ) \cdot weight $.
a is calculated using the difference quotient (twice) and the 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 2: the first component represents the translational acceleration and the second one the rotational acceleration.

See also:
TebOptimalPlanner::AddEdgesAcceleration
EdgeAcceleration
EdgeAccelerationGoal
Remarks:
Do not forget to call setTebConfig()
Refer to EdgeAccelerationGoal() for defining boundary values at the end of the trajectory!

Definition at line 328 of file edge_acceleration.h.


Constructor & Destructor Documentation

Construct edge.

Definition at line 335 of file edge_acceleration.h.

Destruct edge.

We need to erase vertices manually, since we want to keep them even if TebOptimalPlanner::clearGraph() is called. This is necessary since the vertices are managed by the Timed_Elastic_Band class.

Definition at line 348 of file edge_acceleration.h.


Member Function Documentation

Actual cost function.

Definition at line 360 of file edge_acceleration.h.

Compute and return error / cost value.

This method is called by TebOptimalPlanner::computeCurrentCost to obtain the current cost.

Returns:
2D Cost / error vector [translational acc cost, angular acc cost]^T

Definition at line 397 of file edge_acceleration.h.

bool teb_local_planner::EdgeAccelerationStart::read ( std::istream &  is) [inline]

Read values from input stream.

Definition at line 406 of file edge_acceleration.h.

void teb_local_planner::EdgeAccelerationStart::setInitialVelocity ( const Eigen::Vector2d &  vel_start) [inline]

Set the initial velocity that is taken into account for calculating the acceleration.

Parameters:
vel_start2D vector containing the translational and rotational velocity

Definition at line 425 of file edge_acceleration.h.

Assign the TebConfig class for parameters.

Parameters:
cfgTebConfig class

Definition at line 435 of file edge_acceleration.h.

bool teb_local_planner::EdgeAccelerationStart::write ( std::ostream &  os) const [inline]

Write values to an output stream.

Definition at line 415 of file edge_acceleration.h.


Member Data Documentation

Store TebConfig class for parameters.

Definition at line 442 of file edge_acceleration.h.


The documentation for this class was generated from the following file:


teb_local_planner
Author(s): Christoph Rösmann
autogenerated on Mon Oct 24 2016 05:31:15