1 #ifndef COLLISIONDETECTION_H
2 #define COLLISIONDETECTION_H
4 #include <nav_msgs/OccupancyGrid.h>
11 namespace HybridAStar {
13 void getConfiguration(
const Node2D* node,
float& x,
float& y,
float& t) {
20 void getConfiguration(
const Node3D* node,
float& x,
float& y,
float& t) {
51 getConfiguration(node, x, y, t);
55 return !
grid->data[node->getIdx()];
92 nav_msgs::OccupancyGrid::Ptr
grid;
97 #endif // COLLISIONDETECTION_H
bool isTraversable(const T *node)
evaluates whether the configuration is safe
Definition: collisiondetection.h:41
This is a collection of constants that are used throughout the project.
The CollisionDetection class determines whether a given configuration q of the robot will result in a...
Definition: collisiondetection.h:31
void updateGrid(nav_msgs::OccupancyGrid::Ptr map)
updates the grid with the world map
Definition: collisiondetection.h:88
float configurationCost(float x, float y, float t)
Calculates the cost of the robot taking a specific configuration q int the World W.
Definition: collisiondetection.h:74
bool configurationTest(float x, float y, float t)
Tests whether the configuration q of the robot is in C_free.
Definition: collisiondetection.cpp:31
CollisionDetection()
Constructor.
Definition: collisiondetection.cpp:5
A structure capturing the lookup for each theta configuration.
Definition: constants.h:132
Constants::config collisionLookup[Constants::headings *Constants::positions]
The collision lookup table.
Definition: collisiondetection.h:94
nav_msgs::OccupancyGrid::Ptr grid
The occupancy grid.
Definition: collisiondetection.h:92