Open doebrowsk opened 8 years ago
Could implement a version of A* searching algorithm with fewer feedback inputs. Or possibly a solid implementation of Djikstra's algorithm that has a high resolution grid-style node system.
Using the existing set of nav_msgs in ROS to manage the mapping. The resolution of the grid to model the compound area is not yet decided, but will use a 3-point coordinate system, x, y, and z.
X and Y will handle horizontal mapping of the grid, with Z being used to track changes in depth. Z will start at 0 for all locations and be updated as part of the pathing heuristic as the area is mapped.
The actual heuristic analysis being used will be an implementation of the A* pathing algorithm. It will still encompass the original two factors, current distance from start and the estimated cost to finish, with the included Z height data point now added as a factor.
Turning may also impact performance if it is decided that we want to accomplish diagonal movement. With tank turning (0 radius, in place), we can calculate the turning cost as time it takes to turn 90 degrees. With diagonal movement, the heuristic would need to calculate the additional effort required to turn whilst moving.
Creating a node in ROS that will process a path using either a crude rectangle drawing pathfinder, or implementing a relatively simple, widely used pathfinding algorithm (to be researched). It is not yet known what the mapping interface will be of the environment, so this will likely begin the architecture portion of the project.
Deliverable for this is at least one ROS node with a malleable interface. It should attempt to be as arbitrary as possible to allow the later integration of the mapping interface to be as easy as possible.