|
Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
|
#include <Environment.h>


Public Member Functions | |
| Environment () | |
| virtual | ~Environment ()=default |
| void | setStart (const Point &point) |
| const Point & | start () const |
| void | setGoal (const Point &point) |
| const Point & | goal () const |
| virtual bool | collides (double x, double y) |
| virtual bool | collides (const Polygon &polygon) |
| bool | collides (const Point &p) |
| bool | collides (const ompl::geometric::PathGeometric &trajectory) |
| bool | collides (const ob::State *state) |
| bool | checkValidity (const ob::State *state) |
| Used by planners to determine if the state is valid or not. More... | |
| const ob::RealVectorBounds & | bounds () const |
| double | width () const |
| double | height () const |
| virtual double | distance (double x, double y) |
| Compute distance from xy-coordinate to the closest obstacle if possible. More... | |
| double | distance (const ob::State *state) |
| Compute distance of a state to the closest obstacle if possible. More... | |
| double | bilinearDistance (double x, double y, double cellSize=1) |
| Bilinear filtering of distance. More... | |
| double | bilinearDistance (const Point &point, double cellSize=1) |
| double | bilinearDistance (const ob::State *state, double cellSize=1) |
| bool | distanceGradient (double x, double y, double &dx, double &dy, double p=0.1, double cellSize=1) |
| Computes negative gradient of distance field at position x, y. More... | |
| virtual std::string | name () const |
| void | estimateStartGoalOrientations () |
| Estimates potentially suitable theta values for the start and goal state by running a simple line search from start to goal. More... | |
| bool | thetasDefined () const |
| void | setThetas (double start, double goal) |
| ompl::base::State * | startState () const |
| ompl::base::State * | goalState () const |
| ompl::base::ScopedState< ob::SE2StateSpace > | startScopedState () const |
| ompl::base::ScopedState< ob::SE2StateSpace > | goalScopedState () const |
| ob::RealVectorBounds | getBounds () const |
| double | startTheta () const |
| double | goalTheta () const |
| virtual void | to_json (nlohmann::json &j) |
| virtual double | unit () const |
| Unit, e.g. More... | |
| void | resetCollisionTimer () |
| double | elapsedCollisionTime () const |
Protected Attributes | |
| Point | _start |
| Point | _goal |
| double | _start_theta {0} |
| double | _goal_theta {0} |
| bool | _thetas_defined {false} |
| ob::RealVectorBounds | _bounds {2} |
| Stopwatch | _collision_timer |
| Environment::Environment | ( | ) |
|
virtualdefault |
|
inline |
|
inline |
| double Environment::bilinearDistance | ( | double | x, |
| double | y, | ||
| double | cellSize = 1 |
||
| ) |
Bilinear filtering of distance.
|
inline |
| bool Environment::checkValidity | ( | const ob::State * | state | ) |
Used by planners to determine if the state is valid or not.
|
inline |
| bool Environment::collides | ( | const ompl::geometric::PathGeometric & | trajectory | ) |
|
inline |
|
inlinevirtual |
Reimplemented in GridMaze, and PolygonMaze.
|
inlinevirtual |
Reimplemented in GridMaze, and PolygonMaze.
|
inline |
Compute distance of a state to the closest obstacle if possible.
This currently assumes a point robot and does not support a check for arbitrary polygons. (will only use x and y component of state)
| state | The state to check. |
|
inlinevirtual |
Compute distance from xy-coordinate to the closest obstacle if possible.
This currently assumes a point robot and does not support a check for arbitrary polygons.
| x | X-coordinate of the point to check. |
| y | Y-Coordinate of the point to check. |
Reimplemented in GridMaze.
| bool Environment::distanceGradient | ( | double | x, |
| double | y, | ||
| double & | dx, | ||
| double & | dy, | ||
| double | p = 0.1, |
||
| double | cellSize = 1 |
||
| ) |
Computes negative gradient of distance field at position x, y.
| x | Position coordinate x. |
| y | Position coordinate y. |
| dx | Resulting gradient coordinate x. |
| dy | Resulting gradient coordinate y. |
| p | Sampling precision. |
|
inline |
| void Environment::estimateStartGoalOrientations | ( | ) |
Estimates potentially suitable theta values for the start and goal state by running a simple line search from start to goal.
This feature is useful for approaches that operate on the SE2 state space and cannot find good start / goal angles themselves (e.g. SBPL).
|
inline |
|
inline |
| ompl::base::ScopedState< ob::SE2StateSpace > Environment::goalScopedState | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in GridMaze, and PolygonMaze.
|
inline |
| void Environment::setGoal | ( | const Point & | point | ) |
| void Environment::setStart | ( | const Point & | point | ) |
| void Environment::setThetas | ( | double | start, |
| double | goal | ||
| ) |
|
inline |
| ompl::base::ScopedState< ob::SE2StateSpace > Environment::startScopedState | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in GridMaze, and PolygonMaze.
|
inlinevirtual |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |