Sensor Cluster

Table of Contents

Goal

  • Develop an integrated sensor cluster fuses multiple sensors on the same board that can connect to the Flight Controller through one CAN network

  • Viable for multiple vehicle platforms and could be placed in a variety of places around the drone.

 

 

Requirements and Considerations

  • Sensors must be able to coexist in the same location on the board

    • Ex: rangefinder, optical flow sensor point in the same direction (downwards) but might be difficult to place GPS on this board as GPS should be in open space on top of the drone.

  • Integrating all sensors on to one CAN line will significantly reduce wiring from several sensors and will provide noise immunity to signal

    • Flexibility to place sensor cluster farther away from the flight controller wherever its needed

  • Ideally sensors are not super time sensitive

    • Ex, IMU samples very quickly and should be consumed by flight controller ASAP and so it should be on flight controller directly as opposed to sensor cluster

Sensor Options

GPS

  • Lower data sampling frequency which is ideal for this case

  • Needs to be on top of the drone to acquire good signal from satellites and away from any parts of the drone that generates EMC (power boards, ESCs, motors), puts strain on sensor cluster location

  • Will require discussion with mechanical on where to place sensor cluster

IMU

  • High data sampling rate, critical data. Not ideal for this case

  • Much better placement on flight controller directly

  • Avoid overhead of communicating to sensor cluster MCU and flight controller MCU

GYRO

  • High data sampling rate, critical data. Not ideal for this case

  • Much better placement on flight controller directly

  • Avoid overhead of communicating to sensor cluster MCU and flight controller MCU

BAROMETER

  • Slower data sampling rate, good for general altitude, not precision vertical position

  • Requires pressure isolation from propellors, will place limitations to location of sensor cluster

    • could also require sponge/covering over sensor

  • Could be sensitive to direct sunlight

    • cannot be placed on top of drone

  • Could be considered seriously for sensor cluster

OPTICAL FLOW SENSOR

  • Does not require super high update rate to flight controller

    • Camera will be outputting high freq data to onboard MCU, but MCU will only need to supply lower freq delta X and delta Y data to flight controller over CAN

  • Should be facing downwards on the drone, not super sensitive to other parts of the drone, ideal for sensor cluster

  • Difficult to implement from EFS standpoint, will require a lot of work compared to just buying a module

RANGEFINDER/LIDAR

  • Good for tracking distance to ground at closer range or for object detection

    • Since sensor cluster is likely to be used in downward configuration, this rangefinder will be for ground detection and for reference for OFS

    • Once certain altitude is achieved, barometer will be used

  • Laser rangefinders not good over water

  • May require special lens and custom mechanical design for optimization

  • Different rangefinder distances range from a few meters to a couple hundred meters and refresh rates of ~10Hz to hundreds of Hz

COMPASS/MAGNOMETER

  • Used to give heading/direction

    • Note that using two accurate GPS placed apart can also be used to give a heading measurement

    • Sensor fusion can be used to combine compass/magnometer with GPS for more stable and accurate reading

  • Magnometer location is critical and needs to be calibrated for, it should be placed in the same movement reference plane as the whole drone for easier setup

  • Note that Pixhawk 6 and 5 both have an onboard magnometer

  • Magnometer uses earths magnetic field lines to determine direction and would also be sensitive to any ferrous materials near it (especially motors) and needs to be calibrated for such.

 

Implementation Strategy

Based on the points raised above, for a first revision of sensor cluster, it would make sense to only integrate Lidar/Rangefinder + Barometer + Optical flow sensor and also redundant IMU+Compass. All other sensors would be much easier integrated directly on flight controller or have strict placement requirements.

Optical Flow Sensor

Will be quite difficult to implement ourselves.

Most designs seem to have some camera directly attached to some processor chip that calculates all the flow direction from the pixels. They also all include a rangefinder for the STM to do computation and to judge distances. People often complain about the poor performance of rangefinder in most products.

Found also some cameras that have integrated chips that will simply output delta position information but these are hard to find and have very limited datasheets.

  • These types of sensors will be ideal if we can find some that will work at decently far distances (>1m)

 

image-20240417-074458.png

 

image-20240418-040806.png

 

Site where many camera sensors are sold.

https://www.epsglobal.com/products/semiconductors/sensing-and-haptics/optical-tracking

https://www.pixart.com/products-detail/93/PAW3902JF-TXQT

Will need to check with EFS whether implementing OFS into sensor cluster and trying to develop software is worth it.

 

Highly recommend using the following sensor with PixArt’s L242-ZSZ1 lens

https://www.pixart.com/products-detail/108/PAA3905E1-Q_

Need to request quote to purchase this part. Sent an inquiry on 2024-05-16.

 

https://www.mouser.com/ProductDetail/onsemi/AR0830CSSM11SMKA1-CP2?qs=dbcCsuKDzFXyvNN%252BLu%252Bveg%3D%3D

https://www.digikey.ca/en/products/detail/himax/HM01B0-AWA/14109824

 

Rangefinder

 

Part

Advertised Range

Accuracy

Cost

Communication

Challenges

Type

Measurement Rate

 

Part

Advertised Range

Accuracy

Cost

Communication

Challenges

Type

Measurement Rate

 

A121-001-T&R

https://www.digikey.com/en/products/detail/acconeer-ab/A121-001-T-R/17883300

 

20m

Standard deviation of up to 5mm

25.92$

SPI

  • BGA package

  • special power filtering

  • special software API

Radar

100Hz

ICU-20201

https://www.digikey.ca/en/products/detail/tdk-invensense/ICU-20201/19200625

20cm - 5m

“mm level accuracy”

23.40$

SPI

Easy

Ultrasonic

32Hz

 

VL53L1CBV0FY/1

https://www.digikey.com/en/products/detail/stmicroelectronics/VL53L1CBV0FY-1/8258054

4cm - 8m

+/- 25mm

9.91$

I2C

  • Not great advertised range outdoors (1m)

  • Sensitive to infrared

Lidar

60Hz

 

AFBR-S50LV85D

https://www.digikey.ca/en/products/detail/broadcom-limited/AFBR-S50LV85D/13401336

  • 30m at 3kHz

  • 100m at 100Hz

10mm standard deviation

101.11$

SPI

  • Very expensive

  • More advanced software stack for interface

Lidar

up to 3kHz

 

EPC611-CSP24-001

https://www.digikey.ca/en/products/detail/espros-photonics-ag/EPC611-CSP24-001/10516869

240m

“mm range”

20.27$

SPI

  • High input voltage

  • Requires lots of custom firmware

  • “sussy” looking part

  • Datasheet recommends external optical filter

Lidar

8000 fps

 

Another option is to buy a dedicated radar TX and RX and use that with a special IC to get farther range, this is much bulkier and also on the costly side and would be quite advanced to implement. Scratch this idea for a later revision down the road.

Based on the comparison of the sensors above, the first revision of the sensor cluster will use both the EPC611-CSP24-001 and the A121-001-T&R.

These sensors offer moderate ranging in an integrated package that we can communicate with. Using both of these sensors will allow us to validate radar and TOF sensing as we can move further into one of these schemes in a 2nd revision.

Barometer

Following table shows Altitude vs Atmospheric Pressure

Most altitude/pressure sensor ranges are measured in mBar or hPa. 1kPa = 10mBar = 10 hPa

Based on this table, to measure from the range of lowest land point on earth to the top of mount Everest, the sensor should have a rated pressure range from 1070-301mBar/hPa.

Part

Advertised Range

Resolution

Cost

Communication

Measurement Rate

Absolute Accuracy

Relative Accuracy

Part

Advertised Range

Resolution

Cost

Communication

Measurement Rate

Absolute Accuracy

Relative Accuracy

MS561101BA03-50

https://www.digikey.ca/en/products/detail/te-connectivity-measurement-specialties/MS561101BA03-50/5277445

10mBar-1200mBar

0.012mBar

18.07$

SPI/I2C

~120Hz (for max resolution)

+/- 1.5mBar

 

LPS22HBTR

https://www.digikey.ca/en/products/detail/stmicroelectronics/LPS22HBTR/5799910

260hPa-1260hPa

0.1hPa

6.07$

SPI/I2C

1Hz-75Hz

+/- 1hPa

+/- 0.1hPa

ICP-20100

https://www.digikey.com/en/products/detail/tdk-invensense/ICP-20100/16379591

300mBar-1100mBar

0.003hPa (theoretically calculated)

3.79$

SPI/I2C/I3C

2Hz-120Hz

+/- 0.2hPa

+/- 0.01hPa

BMP390

https://www.digikey.com/en/products/detail/bosch-sensortec/BMP390/16164577

300hPa-1250hPa

0.016hPa

4.12$

SPI/I2C

Up to 200Hz

+/- 0.33hPa

+/- 0.03hPa

Preference between ICP-20100 and BMP390 since they are both supported by ardupilot. I have decided to choose the ICP-20100 due to its good resolution and accuracy. It is also the cheapest and supported by Ardupilot.

 

IMU and Compass

Add IMU and Compass/Magnometer from ZP3 interface board to sensor cluster and BOM populating options.

 

IMU

https://www.digikey.ca/en/products/detail/tdk-invensense/ICM-42688-P/10824934

Magnometer

https://www.digikey.ca/en/products/detail/melexis-technologies-nv/MLX90393SLW-ABA-011-RE/5031683

 

MCU

Use standard CAN MCU decided by EE and EFS

https://www.digikey.ca/en/products/detail/stmicroelectronics/STM32L431KCU6/6621817

 

Protocols/Interface

EPC611-CSP24-001

SPI

  • 16MHz

Signal between MCU and Device

Direction (from device perspective)

Signal between MCU and Device

Direction (from device perspective)

DATA_RDY

Output

nSS

Input

SCLK

Input

MOSI

Input

MISO

Output

A121-001-T&R

SPI

  • 50MHz

Signal between MCU and Device

Direction (from device perspective)

Signal between MCU and Device

Direction (from device perspective)

Enable

Input

INTERRUPT

Output

SPI_SS

Input

SPI_CLK

Input

SPI_MOSI

Input

SPI_MISO

Output

ICP-20100

SPI

  • 12MHz

I2C

  • 1MHz

I3C

  • 12.5MHz

Signal between MCU and Device

Direction (from device perspective)

Signal between MCU and Device

Direction (from device perspective)

Enable

Input

INTERRUPT

Output

SPI_SS

Input

SPI_CLK

Input

SPI_MOSI

Input

SPI_MISO

Output

ICM-42688-P

SPI

  • 24MHz

I2C

  • 1MHz

I3C

  • 12.5MHz

Signal between MCU and Device

Direction (from device perspective)

Signal between MCU and Device

Direction (from device perspective)

AP_SDO / AP_AD0

Output

INT1 / INT

Output

INT2 / FSYNC / CLKIN

Input/Output

AP_CS

Input

AP_SCL / AP_SCLK

Input

AP_SDA / AP_SDIO / AP_SDI

Input

MLX90393SLW-ABA-011-RE

I2C

  • 400kHz

SPI

  • 10MHz

Signal between MCU and Device

Direction (from device perspective)

Signal between MCU and Device

Direction (from device perspective)

INT

Output

MS/CS

Input

SCL/SCLK

Input

SDA/MOSI

Output

MISO

Input

INT/TRIG

Input/Output

PAA3905E1-Q

SPI

  • See datasheet

See datasheet for OFS pinout