- Node gets a message of LandMarkArray type and uses it to construct a list of landmarks(cones).
- Landmarks(cones) are used with delaunay triangulation to construct a list of waypoints(midpoints of edges).
- Waypoints are used to grow a tree of possible paths in a breadth first manner. ❗Need to discuss algorithm for doing so to minimize the number of branches searched (Dikjstra? A-star? heuristic?)❗
- The most likely path of the tree of paths is sent to the control node as a list of waypoints.
- x : x position of cone in local frame, frame origin passed to constructor as argument
- y : y position of cone in local frame, frame origin passed to constructor as argument
- color : cone color, can be blue, yellow or unknown
- colorConfidence : value from 0 to 1 representing confidence that cone is of specified color (Will it be relevant for unknown cones?)
- existenceConfidence : value represneting confidence that cone actually exits (Will it be useful? Not used in AMZ paper)
- (landmark, origin) : takes landmark message and origin of local frame as arguments, returns a cone in local frame 🔴Not Implemented Yet🔴
- toLocal(origin) : takes origin pose as a tuple in global frame and transforms cone position into local frame of passed origin 🔴Not Implemented Yet🔴
- getDistance(origin) : takes position as a tuple and returns the distance of the cone from passed position
- waypoints : ordered list of waypoints that make up the path
- (waypoints = []) : takes a list of waypoints as an optional argument
- addWaypoint(waypoint) : takes a waypoint object as an argument and adds it to waypoints of path
- getLargestAngleChange() : finds largest angle change within the path and returns it in degress
- getTrackWidthStandardDeviation() : calculates the standrad deviation of track width within the path
- getLeftStandardDeviation() : calculates the standard deviation of distances between left cones
- getRightStandradDeviation() : calculates the standard deviation of distances between right cones
- getNumberOfEdgesCrossed() : returns the number of waypoints in the path
- getPathLength() : calcualtes the length of the path 🔴Not Implemented Yet🔴
- getCost() : calcualtes the cost parameter used to calcualtes the prior of the path 🔴Not Implemented Yet🔴
- getPrior() : calculates the prior of the path using cost 🔴Not Implemented Yet🔴
- getLikelihood() : calculates the likelihood of the path using cone confidences 🔴Not Implemented Yet🔴
- getPosterior() : calculates the posterior of the path using likelihood and priod 🔴Not Implemented Yet🔴