-
Notifications
You must be signed in to change notification settings - Fork 2
BuggyState Republisher Tasks
The buggies need information about their current state (and in Short Circuit's case, information about the state of the other buggy) to run their control loops. They get raw data about their states from a few different inputs, in different units + data types. BuggyState Republisher will take all this data and convert + package it into a single neat topic (self/state and other/state if relevant) that the rest of the code can access cleanly.
Each buggy needs different information and receives input from different sources (by subscribing to different ROS topics). The end goal is to publish an Odometry object. The first thing the republisher must do is check if the self-buggy is Short Circuit or NAND.
Short Circuit needs information both about its own state, and NAND's state. In order to get information about its own state (self/state):
- Get position + heading data from Short Circuit's UKF node. The UKF outputs data in UTM coordinates and degrees - these units do not need to be changed.
- Get position covariance data from the INS. The INS outputs covariance in ECEF coordinates. Convert this to UTM.
- Get velocity data from the INS. The INS outputs data in ECEF coordinates. Convert this to meters/second.
To get information about NAND's state (other/state):
- Get NAND's position and scalar velocity from the serial node. The units will be in UTM coordinates and meters/second - these do not need to be changed.
self/state:
- Get position, heading, and velocity data through the serial node (NAND's UKF). The units will be in UTM coordinates, radians, and meters/second - the radians should be converted to degrees.