added interface for walkers
some new helper methods added interpolater for paths
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "../../nav/dijkstra/Dijkstra.h"
|
||||
|
||||
#include "GridWalk.h"
|
||||
#include "GridWalkState.h"
|
||||
#include "GridWalkHelper.h"
|
||||
|
||||
@@ -22,14 +23,14 @@
|
||||
* to stay within the room..
|
||||
*
|
||||
*/
|
||||
template <typename T> class GridWalkRandomHeadingUpdate {
|
||||
template <typename T> class GridWalkRandomHeadingUpdate : public GridWalk<T> {
|
||||
|
||||
friend class GridWalkHelper;
|
||||
|
||||
private:
|
||||
|
||||
/** per-edge: change heading with this sigma */
|
||||
static constexpr float HEADING_CHANGE_SIGMA = Angle::degToRad(4);
|
||||
static constexpr float HEADING_CHANGE_SIGMA = Angle::degToRad(8);
|
||||
|
||||
/** fast random-number-generator */
|
||||
std::minstd_rand gen;
|
||||
@@ -41,10 +42,10 @@ public:
|
||||
|
||||
/** ctor */
|
||||
GridWalkRandomHeadingUpdate() {
|
||||
;
|
||||
gen.seed(1234);
|
||||
}
|
||||
|
||||
GridWalkState<T> getDestination(Grid<T>& grid, const GridWalkState<T> start, const float distance_m) {
|
||||
GridWalkState<T> getDestination(Grid<T>& grid, const GridWalkState<T> start, const float distance_m) override {
|
||||
|
||||
return GridWalkHelper::retryOrInvert(*this, 2, grid, start, distance_m);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user