diff --git a/sensors/orientation.md b/sensors/orientation.md index 9eba52a7..e258692d 100644 --- a/sensors/orientation.md +++ b/sensors/orientation.md @@ -15,6 +15,38 @@ top = false ## Sensors +### Sensor Types + +Type | Subtype(s) | Primary Function(s) | Interface Library +---|---|---|--- +Accelerometer | motion
/ orientation | translation
/ uprightness | ... +Magnetometer
/ Compass | motion
/ orientation | yaw rate
/ angle | ... +Gyroscope | motion
/ orientation | rotation rate
/ roll/pitch/yaw changes | ... +Barometer (external) | positioning
/ motion | depth
/ vertical | ... +Barometer (internal) | safety | ... | ... +Temperature | environment | accuracy correction | ... +Power Usage | safety | battery level
/ usage within capacity | ... +Rangefinder
/ Altimeter | positioning
/ safety | terrain-follow
/ target tracking
/ obstacle avoidance | ... +Leak Detector | safety | enclosure failure | ... +GPS (surface) | positioning | absolute localisation
/ drift correction | ... +USBL / SBL | positioning | ... | ... +DVL | positioning | positioning | ... + +### Tested with ArduSub + +Sensor | Type | [Used On](@/hardware/required/autopilot/index.md) | Integration Source +---|---|---|--- +[MMC5983](.) | Magnetometer | Navigator | ... +[AK09915](.) | Compass | Navigator | ... +[LSM303D](.) | Accel / Mag | Pixhawk | ... +[IST8310](.) | Magnetometer | Pixhawk 4 | ... +[ICM-20602](.) | IMU | Navigator / Pixhawk 4 | [AP_IntertialSensor_Invensense.cpp](https://github.com/ArduPilot/ardupilot/blob/Sub-4.1/libraries/AP_InertialSensor/AP_InertialSensor_Invensense.cpp) +[L3GD20H](.) | Gyroscope | Pixhawk | ... +[MPU6000](.) | accel/gyro | Pixhawk | ... +[BMI055](.) | accel/gyro | Pixhawk 4 | ... +[ICM-20689](.) | accel/gyro | Pixhawk 4 | ... + + ### Magnetometers / Compasses - Measure magnetic field strength in all directions @@ -22,7 +54,7 @@ top = false - Calibration allows correcting for _constant_ magnetic effects from vehicle components - Subject to error due to magnetic field fluctuations (from nearby changing electrical currents, and going near large magnetic structures) - DIFFERENCE?? -- [`AP_...` library]() +- [`AP_...` library](.) ### Gyroscopes @@ -30,7 +62,7 @@ top = false - Can be integrated over time to estimate relative rotation angles - Integrated readings continually build error, and need to be corrected for by an absolute reference - Faster response than compass -- [`AP_...` library]() +- [`AP_...` library](.) - [`AP_Compass` library](https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_Compass) ### Accelerometers @@ -44,17 +76,6 @@ top = false - [`AP_InertialSensor` library](https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_InertialSensor) ### Tested with ArduSub -- [MMC5983 magnetometer]() (Navigator) -- [AK09915 compass]() (Navigator) -- [LSM303D accel/mag]() (Pixhawk) -- [IST8310 magnetometer]() (Pixhawk 4) -- [ICM-20602 IMU]() (Navigator / Pixhawk 4) -- [L3GD20H gyro]() (Pixhawk) -- [MPU6000 accel/gyro]() (Pixhawk) -- [BMI055 accel/gyro]() (Pixhawk 4) -- [ICM-20689 accel/gyro]() (Pixhawk 4) -- [ICM 20602](https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_InertialSensor/AP_InertialSensor_Invensense.cpp) - ## Code Usage InertialSensor -> InertialNav / NavEKF/2/3 -> AHRS -> AttitudeControl