Caddy
A 2005 Roborodentia entry with vision and path planning capability
|
Course defined by a connected grid of nodes. More...
#include <stdint.h>
#include <stdbool.h>
Go to the source code of this file.
Data Structures | |
struct | GraphNode |
Definition of each node (vertex) in the course map node. More... |
Macros | |
#define | NUM_NODES 43 |
#define | START_NODE 0 |
#define | START_HEADING -64 |
#define | STOP_NODE 42 |
#define | BALL_NODE_MIN 1 |
#define | BALL_NODE_MAX 20 |
#define | JUNCTION_MIN 21 |
#define | JUNCTION_MAX 41 |
#define | NUM_BALL_NODES (BALL_NODE_MAX - BALL_NODE_MAX + 1) |
#define | MAX_ADJ_NODES 3 |
#define | N_WEST -41 |
#define | S_EAST 87 |
#define | BONUS_BALL_1 24 |
#define | BONUS_BALL_2 30 |
#define | SENSOR_NODE 37 |
#define | BB1_HEADING 32 |
#define | BB2_HEADING -96 |
#define | NUM_FIXED_GOALS 3 |
#define | NUM_RANDOM_GOALS 3 |
#define | NUM_GOALS NUM_FIXED_GOALS + NUM_RANDOM_GOALS |
Typedefs | |
typedef struct GraphNode | GraphNodeType |
Definition of each node (vertex) in the course map node. |
Functions | |
bool | isJunction (uint8_t nodeNum) |
uint8_t | getCostToNode (GraphNodeType *node, uint8_t nodeNum) |
uint8_t | getNodeAtHeading (GraphNodeType *node, int8_t heading) |
bool | isBallNode (uint8_t nodeNum) |
void | getNode (uint8_t nodeNum, GraphNodeType *node) |
Course defined by a connected grid of nodes.
Conserves SRAM by storing graph of arena in FLASH memory. See doc directory for image of arena with node numbers.
Definition in file node_list.h.
#define BALL_NODE_MAX 20 |
End of node number range used for ball nodes
Definition at line 51 of file node_list.h.
#define BALL_NODE_MIN 1 |
Beginning of node number range used for ball nodes
Definition at line 49 of file node_list.h.
#define BB1_HEADING 32 |
The heading required to pickup bonus ball 1
Definition at line 75 of file node_list.h.
#define BB2_HEADING -96 |
The heading required to pickup bonus ball 2
Definition at line 77 of file node_list.h.
#define BONUS_BALL_1 24 |
Node number of bonus ball 1
Definition at line 68 of file node_list.h.
#define BONUS_BALL_2 30 |
Node number of bonus ball 2
Definition at line 70 of file node_list.h.
#define JUNCTION_MAX 41 |
End of node number range used for junction nodes
Definition at line 55 of file node_list.h.
#define JUNCTION_MIN 21 |
Beginning of node number range used for junction nodes
Definition at line 53 of file node_list.h.
#define MAX_ADJ_NODES 3 |
Maximum number nodes that can be adjacent to one node
Definition at line 61 of file node_list.h.
#define N_WEST -41 |
Direction of north west in binary radians (brads)
Definition at line 63 of file node_list.h.
#define NUM_FIXED_GOALS 3 |
The number of goals known a priori (nest sensor and two bonus balls)
Definition at line 80 of file node_list.h.
#define NUM_GOALS NUM_FIXED_GOALS + NUM_RANDOM_GOALS |
Total number of goals
Definition at line 84 of file node_list.h.
#define NUM_NODES 43 |
Total number of nodes in the arena map
Definition at line 39 of file node_list.h.
#define NUM_RANDOM_GOALS 3 |
The number of goals with unknown location at the start of a run (ground balls)
Definition at line 82 of file node_list.h.
#define S_EAST 87 |
Convenience macor for direction of south east in (brads)
Definition at line 65 of file node_list.h.
#define SENSOR_NODE 37 |
Node number of the nest release sensor
Definition at line 72 of file node_list.h.
#define START_HEADING -64 |
Heading of the robot at the beginning of the course
Definition at line 44 of file node_list.h.
#define START_NODE 0 |
Beginning of the course
Definition at line 42 of file node_list.h.
#define STOP_NODE 42 |
End of the course
Definition at line 46 of file node_list.h.
typedef struct GraphNode GraphNodeType |
Definition of each node (vertex) in the course map node.
Defines the directions and distances to adjacent nodes.