Caddy
A 2005 Roborodentia entry with vision and path planning capability
 All Data Structures Files Functions Variables Typedefs Macros Pages
Data Structures | Macros | Typedefs | Functions
node_list.h File Reference

Course defined by a connected grid of nodes. More...

#include <stdint.h>
#include <stdbool.h>
Include dependency graph for node_list.h:
This graph shows which files directly or indirectly include this file:

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)

Detailed Description

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.

Macro Definition Documentation

#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 Documentation

typedef struct GraphNode GraphNodeType

Definition of each node (vertex) in the course map node.

Defines the directions and distances to adjacent nodes.