Class ABITstar
Defined in File ABITstar.h
Inheritance Relationships
Base Type
public ompl::geometric::BITstar
(Class BITstar)
Class Documentation
-
class ABITstar : public ompl::geometric::BITstar
Advanced Batch Informed Trees (ABIT*)
ABIT* (Advanced Batch Informed Trees) is an almost-surely asymptotically optimal path planner. It views the planning problem as the two subproblems of approximation and search. This perspective allows it use advanced graph-search techniques, such as inflation and truncation.
This implementation of ABIT* derives from BIT* which means it benefits from a couple of features not mentioned in the ABIT* publication. It can handle multiple starts, multiple goals, a variety of optimization objectives (e.g., path length), and with just-in-time sampling, infinite problem domains. Note that for some of optimization objectives, the user must specify a suitable heuristic and that when this heuristic is not specified, it will use the conservative/always admissible zero-heuristic.
This implementation also includes some new advancements, including the ability to prioritize exploration until an initial solution is found (Delayed rewiring), the ability to generate samples only when necessary (Just-in-time sampling), and the ability to periodically remove samples that have yet to be connected to the graph (Sample dropping). With just-in-time sampling, ABIT* can even solve planning problems with infinite state space boundaries, i.e., (-inf, inf).
The inflation and truncation factor update policies of this implementation reflect the policies used to create the experimental results in ABIT*’s publication. Each increasingly dense RGG is searched twice, once with a very high inflation factor (gABITstarSetInitialInflationFactor, 1’000’000 by default), and once with an inflation factor that scales as 1 + inflation_parameter / q, where inflation_parameter is a parameter that scales the inflation factor (gABITstarSetInflationScalingParameter, 10 by default) is and q is the number of samples. Each search is truncated with a truncation factor of 1 + truncation_parameter / q, where truncation_parameter is a parameter that influences the truncation factor (gABITstarSetTruncationScalingParameter, 5 by default) and q is the number of samples again. For more information see ABIT*’s publication.
M. P. Strub, J. D. Gammell. “Advanced BIT* (ABIT*): Sampling-based planning with advanced graph-search techniques.” in Proceedings of the IEEE international conference on robotics and automation (ICRA), Paris, France, 31 May – 4 Jun. 2020. DOI: arXiv:2002.06589. Video 1: ICRA submission video. Video 2: ICRA presentation video
- Associated publication:
Public Functions
-
ABITstar(const base::SpaceInformationPtr &spaceInfo, const std::string &name = "ABITstar")
-
virtual ~ABITstar() override = default
-
void setInitialInflationFactor(double factor)
Set the inflation factor for the initial search.
-
void setInflationScalingParameter(double parameter)
Set the parameter for the inflation factor update policy.
-
void setTruncationScalingParameter(double parameter)
Set the parameter for the truncation factor update policy.
-
double getInitialInflationFactor() const
Get the inflation factor for the initial search.
-
double getInflationScalingParameter() const
Get the inflation scaling parameter.
-
double getTruncationScalingParameter() const
Get the truncation scaling parameter.
-
double getCurrentInflationFactor() const
Get the inflation factor for the current search.
-
double getCurrentTruncationFactor() const
Get the truncation factor for the current search.