Hybrid A* Planner
 All Classes Namespaces Files Functions Variables Friends Pages
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
HybridAStar::Node3D Class Reference

A three dimensional node class that is at the heart of the algorithm. More...

#include <node3d.h>

Public Member Functions

 Node3D ()
 The default constructor for 3D array initialization.
 
 Node3D (float x, float y, float t, float g, float h, const Node3D *pred, int prim=0)
 Constructor for a node with the given arguments.
 
float getX () const
 get the x position
 
float getY () const
 get the y position
 
float getT () const
 get the heading theta
 
float getG () const
 get the cost-so-far (real value)
 
float getH () const
 get the cost-to-come (heuristic value)
 
float getC () const
 get the total estimated cost
 
int getIdx () const
 get the index of the node in the 3D array
 
int getPrim () const
 get the number associated with the motion primitive of the node
 
bool isOpen () const
 determine whether the node is open
 
bool isClosed () const
 determine whether the node is closed
 
const Node3DgetPred () const
 determine whether the node is open
 
void setX (const float &x)
 set the x position
 
void setY (const float &y)
 set the y position
 
void setT (const float &t)
 set the heading theta
 
void setG (const float &g)
 set the cost-so-far (real value)
 
void setH (const float &h)
 set the cost-to-come (heuristic value)
 
int setIdx (int width, int height)
 set and get the index of the node in the 3D grid
 
void setPrim (const int &prim)
 set the primitive
 
void open ()
 open the node
 
void close ()
 close the node
 
void setPred (const Node3D *pred)
 set a pointer to the predecessor of the node
 
void updateG ()
 Updates the cost-so-far for the node x' coming from its predecessor. It also discovers the node.
 
bool operator== (const Node3D &rhs) const
 Custom operator to compare nodes. Nodes are equal if their x and y position as well as heading is similar.
 
bool isInRange (const Node3D &goal) const
 Determines whether it is appropriate to find a analytical solution.
 
bool isOnGrid (const int width, const int height) const
 Validity check to test, whether the node is in the 3D array.
 
Node3DcreateSuccessor (const int i)
 Creates a successor in the continous space.
 

Static Public Attributes

static const int dir = 3
 Number of possible directions.
 
static const float dx [] = { 0.7068582, 0.705224, 0.705224}
 Possible movements in the x direction.
 
static const float dy [] = { 0, -0.0415893, 0.0415893}
 Possible movements in the y direction.
 
static const float dt [] = { 0, 0.1178097, -0.1178097}
 Possible movements regarding heading theta.
 

Private Attributes

float x
 the x position
 
float y
 the y position
 
float t
 the heading theta
 
float g
 the cost-so-far
 
float h
 the cost-to-go
 
int idx
 the index of the node in the 3D array
 
bool o
 the open value
 
bool c
 the closed value
 
int prim
 the motion primitive of the node
 
const Node3Dpred
 the predecessor pointer
 

Detailed Description

A three dimensional node class that is at the heart of the algorithm.

Each node has a unique configuration (x, y, theta) in the configuration space C.


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