Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
Public Member Functions | Protected Attributes | List of all members
CurvatureOptimizationObjective Class Reference

An optimization objective for minimizing curvature of a path. More...

#include <OptimizationObjective.h>

Inheritance diagram for CurvatureOptimizationObjective:
Inheritance graph
[legend]
Collaboration diagram for CurvatureOptimizationObjective:
Collaboration graph
[legend]

Public Member Functions

 CurvatureOptimizationObjective (ob::SpaceInformationPtr &space_info, double max_curvature=std::numeric_limits< double >::max())
 
ob::Cost stateCost (const ob::State *s) const override
 Returns identity cost. More...
 
ob::Cost motionCost (const ob::State *s1, const ob::State *s2) const override
 Motion cost for this objective is defined as the sum of normalied curvature along the path. More...
 

Protected Attributes

double max_curvature_
 

Detailed Description

An optimization objective for minimizing curvature of a path.

This optimization objective sums up the normalized curvature (see below) along the path. Hence, there is some implicit optimization of path length as well (i.e., there is no point in going a very long straight path).

The curvature is normalized by multiplying by the length of the segments such that this metric does not increase with higher path resolution.

The curvature can be capped at a specified value to deal with infinite curvature points in the path (i.e., cusps).

Constructor & Destructor Documentation

◆ CurvatureOptimizationObjective()

CurvatureOptimizationObjective::CurvatureOptimizationObjective ( ob::SpaceInformationPtr &  space_info,
double  max_curvature = std::numeric_limits<double>::max() 
)
inline

Member Function Documentation

◆ motionCost()

ob::Cost CurvatureOptimizationObjective::motionCost ( const ob::State s1,
const ob::State s2 
) const
override

Motion cost for this objective is defined as the sum of normalied curvature along the path.

◆ stateCost()

ob::Cost CurvatureOptimizationObjective::stateCost ( const ob::State s) const
override

Returns identity cost.

Member Data Documentation

◆ max_curvature_

double CurvatureOptimizationObjective::max_curvature_
protected

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