Skip to content

Commit

Permalink
sensors: add initial coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
ES-Alexander committed Nov 21, 2022
1 parent 6ab3444 commit f3e7e22
Show file tree
Hide file tree
Showing 3 changed files with 117 additions and 0 deletions.
28 changes: 28 additions & 0 deletions sensors/operation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
+++
title = "Operation"
description = "Sensors for measuring the operational status and conditions of the vehicle."
date = 2022-11-21T22:50:00+11:00
template = "docs/page.html"
sort_by = "weight"
weight = 30
draft = false

[extra]
lead = ""
toc = true
top = false
+++

## Sensors

### Type

- Used for
- Features
- [Library]()

### Tested with ArduSub
- [SensorID type]() (Autopilot)

## Code Usage
Library -> Flow -> of -> Code
61 changes: 61 additions & 0 deletions sensors/orientation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
+++
title = "Inertial"
description = "Inertial orientation/motion sensor types."
date = 2022-11-21T21:50:00+11:00
template = "docs/page.html"
sort_by = "weight"
weight = 10
draft = false

[extra]
lead = "Inertial sensors make measurements of the vehicle orientation and motion without requiring direct access to the surrounding environment"
toc = true
top = false
+++

## Sensors

### Magnetometers / Compasses

- Measure magnetic field strength in all directions
- Can estimate North orientation by strongest magnet direction
- 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]()

### Gyroscopes

- Measure rotation rate about all axes
- 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_Compass` library](https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_Compass)

### Accelerometers

- Measure acceleration in all directions
- Can directly estimate gravity direction
- Can be integrated over short time periods to estimate "airspeed" (speed through the transport fluid)
- Integrated readings continually build error, and need to be corrected for by an absolute reference, or not used
- Can be doubly-integrated to estimate position relative to a starting time
- Double integration error grows exponentially, so is impractical to use without frequent corrections
- [`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

28 changes: 28 additions & 0 deletions sensors/positioning.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
+++
title = "Positioning"
description = "Positioning sensor types."
date = 2022-11-21T22:30:00+11:00
template = "docs/page.html"
sort_by = "weight"
weight = 20
draft = false

[extra]
lead = "Sensors used for positioning and motion, based on measuring the surrounding environment."
toc = true
top = false
+++

## Sensors

### Type

- Used for
- Features
- [Library]()

### Tested with ArduSub
- [SensorID type]() (Autopilot)

## Code Usage
Library -> Flow -> of -> Code

0 comments on commit f3e7e22

Please sign in to comment.