*** WORK IN PROGRESS ***
- DVL
- barometer
- IMU
- Robot body frame velocity (DVL)
- Navigation frame linear position z (barometer)
- Robot body frame linear acceleration + angular velocity (IMU)
- Navigation frame linear position x, y, z (IMU preintegration - NavState)
- Navigation frame linear velocity x, y, z (DVL)
- Navigation frame angular position (IMU preintegration - NavState)
- Robot body frame acceleration bias (IMU preintegration - NavState)
- Robot body frame angular velocity bias position (IMU preintegration - NavState)
- Dead reckoning where position is computed by performing euler integration on velocity measurements obtained by DVL
- Estimator position is computed by performing trapezoidal integration method on velocity measurements obtained by DVL and IMU
6 DoF loosely coupled EKF
x - map
y - map
z - map
roll - map
pitch - map
yaw - map
x velocity (u) - map
y velocity (v) - map
z velocity (w) - map
x accel bias - robot
y accel bias - robot
z accel bias - robot
x gyro bias - robot
y gyro bias - robot
z gyro bias - robot
File | Description |
---|---|
ekfTest.launch | File to launch the SensorNode.py, deadReckoning.py, and computeError.py. This file also contains ros parameters that are used in the python files. |
uuvEkfEstimator.py | Script that setup and performs the state estimation of the vehicle with EKF using DVL, IMU, and barometer. |
uuvEkfRosNode.py | Ros wrapper for EKF base code (uuvEkfEstimator.py) |
deadReckon.py | Performs dead reckoning with velocity data from DVL and orientation data from IMU. |
deadReckonRosNode.py | Ros wrapper for EKF base code (deadReckon.py) |
ekf.py | Script that contains the math behind EKF. |
computeError.py | Computes the x-error, y-error, z-error, and distance between the estimator and dead reckoning against ground truth in real time. |
- ROS kinetic or melodic:
- Ubuntu 18.04 LTS:
- Python 2.7 environment
Required: Ubuntu 16.04 with ROS Kinetic (http://wiki.ros.org/kinetic). Also, the following packages are required:
-
UUV-simulator (simulator):
-
rexrov2 vehicle (vehicle simulator):
-
plotjuggler (plotting tool):
- Install all relevant packages stated above