ompl::geometric::PathHybridization Class Reference

Given multiple geometric paths, attempt to combine them in order to obtain a shorter solution. More...

`#include <ompl/geometric/PathHybridization.h>`

## Public Member Functions | |

PathHybridization (base::SpaceInformationPtr si) | |

The constructor needs to know about the space information of the paths it will operate on. | |

PathHybridization (base::SpaceInformationPtr si, base::OptimizationObjectivePtr obj) | |

This constructor also takes an alternative Optimization Objective to find lower costs for arbitrary objectives. | |

const base::PathPtr & | getHybridPath () const |

Get the currently computed hybrid path. computeHybridPath() needs to have been called before. | |

void | computeHybridPath () |

Run Dijkstra's algorithm to find out the lowest-cost path among the mixed ones. | |

unsigned int | recordPath (const base::PathPtr &pp, bool matchAcrossGaps) |

Add a path to the hybridization. If matchAcrossGaps is true, more possible edge connections are evaluated. Return the number of attempted connections between paths. | |

std::size_t | pathCount () const |

Get the number of paths that are currently considered as part of the hybridization. | |

void | matchPaths (const geometric::PathGeometric &p, const geometric::PathGeometric &q, double gapValue, std::vector< int > &indexP, std::vector< int > &indexQ) const |

Given two geometric paths p and q, compute the alignment of the paths using dynamic programming in an edit-distance like fashion, as described in the referenced paper. The cost of a gap is considered to be gapCost. The output of the computation is two arrays indexP and indexQ of equal length, such that these arrays contain matching index positions from the states in p and q, respectively. Gaps are marked by -1. | |

void | clear () |

Clear all the stored paths. | |

void | print (std::ostream &out=std::cout) const |

Print information about the computed path. | |

const std::string & | getName () const |

Get the name of the algorithm. | |

## Detailed Description

Given multiple geometric paths, attempt to combine them in order to obtain a shorter solution.

- External documentation

B. Raveh, A. Enosh, and D. Halperin, A little more, a lot better: Improving path quality by a path-merging algorithm, *IEEE Trans. on Robotics*, vol. 27, pp. 365–371, Apr. 2011. DOI: 10.1109/TRO.2010.2098622

[PDF]

Definition at line 131 of file PathHybridization.h.

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

- ompl/geometric/PathHybridization.h
- ompl/geometric/src/PathHybridization.cpp