atlascar_egomotion is a package responsible for estimating the car position and attitude.
To use this package it is necessary several other nodes and packages:
-pkg: atlascar_base node:plc_base topic:"/vhc/plc/status"
-pkg: atlascar_base node:velocity_status topic:"vhc/velocity/status"
These first two nodes gives the information necessary to calculate wheel odometry
-pkg: atlascar_base node:odometry topic:"/vhc/odometry"
-pkg: optoelectric node:sensor_GP2D12 topic:
This package gives the distance measure by four sensors placed under the car.
Robot_pose_ekf is the node responsible for fusing the information of odometry node, imu and gps. It publishes a transformation between /base_footprint and /world frames.
The add_imu_odometry_cov node is used to complete the imu and odometry msgs with respective covariances, that are necessary to the robot_pose_ekf pkg.
car_attitude2ground node subscribes the topic from the four sensors and it calculates the mean height of the car to the ground. It also calculates pitch and roll between the car and the ground. It publishes the transformation between the car and the ground.
ground_attitude2world node intersects the transformations published by robot_pose_ekf and car_attitude2ground. It publishes a new transformation between ground and world frame. It is use to distinguish between imu orientation and orientation given by the car_attitude2ground.