- The Open Motion Planning Library
-
August 10, 2011
- Replaced the implementation of BasicPRM with PRM. Thanks to James Marble, the new implementation uses BGL.
July 21, 2011
- Added isStraightLinePathValid() to PlannerDefinition
July 12, 2011
- Using boost ublas for real vector projections
July 9, 2011
- Benchmarked planners are now run in a separate thread (and termination conditions are evaluated separately, to detect crashes)
July 5, 2011
- Added GNAT nearest neighbors datastructure
June 29, 2011
- Moved state propagation functionality from ControlSpace to a separate StatePropagator class
June 22, 2011
- Added representation of a discrete state space
June 15, 2011
- Improvements to control::KPIECE1, so that it considers goal biasing more appropriately
- Move code for extracting machine properties from util/ to benchmark/
- Add sanity checks for state spaces
June 8, 2011
- Added representation of probability density functions (PDF)
- Added getType() for Goal and replaced getType() for planners by getSpecs()
- Documentation fixes
June 3, 2011
- Added notion of probability of success for goals
- Added initial version of RRTstar contribution
May 20, 2011
- Generalized planner termination conditions. The user can now call terminate() at any time to signal a planner it should stop its computation
May 19, 2011
- Renamed StateManifold to StateSpace and ControlManifold to ControlSpace
April 15, 2011
- Added ability to generate random paths
April 5, 2011
- Added bi-directional version of KPIECE (BKPIECE)
- Removed use of hill climbing in KPIECE
- Added a common Discretization to be used by all KPIECE-type planners
- bugfix for SO2StateSpace
March 21, 2011
- Some work on automatic computation of cell sizes for projections
March 17, 2011
- Path smoothing with B-Splines
March 10, 2011
February 15, 2011
- StateValidityChecker allows for distances to invalid states to be specified
- Improvements to GAIK and Profiler
February 10, 2011
- Function to visualize the structure of a state space (diagram())
- Additions and bugfixes for state operators
February 5, 2011
- Bugfix for planning with controls
January 14, 2011
- Convenience operators on scoped states: state[index] will return a double value, if one exists, state[space] will return the part of the state that corresponds to the specified state space. space1 + space2 yields the Cartesian product of the two. A corresponding - operator exists as well.
December 31, 2010
- Added copyToReals/copyFromReals for states & controls
November 15, 2010
- Improved ODE bindings
- Added support for sampling controls based on the previous control and/or the state at which the control will be executed.
November 10, 2010
- Added a new function for shortening computed solution paths: collapseCloseVertices()
- Added a repair() function to PathGeometric.
- Added a representation of time as a state space (TimeStateSpace)
November 3, 2010
- Added support for ODE bindings
- Added support for compound projections
October 7, 2010
- Added the concept of MotionValidator for checking validity of path segments.
- The collision checking resolution is a percentage of the extent of the entire space
- Generic termination conditions for planners
- Added benchmakring for planning under geometric constraints
- Added registerDefaultProjection() for StateSpace.
August 9, 2010
- Including the following sampling-based motion planning algorithms (inherit from ompl::base::Planner):
- planning under geometric constraints: KPIECE, LBKPIECE, SBL, pSBL, EST, RRT, pRRT, RRTConnect, LazyRRT, PRM
- planning under differential constraints: KPIECE, RRT
- The representation of goals is abstract. In the most general case, a goal is a predicate function that states whether the goal has been reached or not (ompl::base::Goal). More specifically, the goal can designate a region and can compute an approximate distance to this region (ompl::base::GoalRegion). This is useful when biasing planners is desirable. A further layer of abstraction allows sampling these regions (ompl::base::GoalSampleableRegion). Instantiations of this latter abstraction for a goal state (ompl::base::GoalState) and a set of states (ompl::base::GoalStates) are provided.
- Support for Python bindings