## ROS API

### pose_estimation

`pose_estimation`is a node for estimating the 6DOF of a robot based on the EKF of various sensor sources.

#### Subscribed Topics

`fix`(sensor_msgs/NavSatFix)

- GPS data.

`raw_imu`(Sensor_msgs/Imu)

- Raw IMU data.

`syscommand`(std_msgs/String)

- System command. If the string equals "reset" the map and robot pose are reset to their initial state.

`magnetic`(geometry_msgs/Vector3Stamped)

- Magnetic orientation.

`pressure_height`(geometry_msgs/PointStamped)

- Altitude from barometric pressure.

`fix_velocity`(geometry_msgs/Vector3Stamped)

- Velocities from GPS data (North = x, East = y).

`twistupdate`(geometry_msgs/TwistWithCovarianceStamped)

- Twist update.

`poseupdate`(geometry_msgs/PoseWithCovarianceStamped)

- Estimated robot pose with a gaussian estimate of uncertainty.

#### Published Topics

`pose`(geometry_msgs/PoseStamped)

- Estimated pose of the robot based on the sensor fusing.

`velocity`(geometry_msgs/Vector3Stamped)

- X, Y and Z velocities of the robot.

`state`(nav_msgs/Odometry)

- Odometry computed based on robot's sensors.

`fix/pose`(geometry_msgs/PoseStamped)

- The estimated robot pose based on the GPS data.

`imu`(sensor_msgs/Imu)

- Filtered IMU data.

`angular_velocity_bias`(geometry_msgs/Vector3Stamped)

- TBD

`tf`(tf2_msgs/TFMessage)

- TBD

`linear_acceleration_bias`(geometry_msgs/Vector3Stamped)

- TBD

`global`(sensor_msgs/NavSatFix)

- Global GPS coordinates.

`euler`(geometry_msgs/Vector3Stamped)

- Euler angles.