[PX4 Support Millimeter Wave Radar] As Rangfinder and Obstacle Distance Sensor

Description

To enable the use of long-range, wide-coverage millimeter-wave radar sensors, I adapted Nanoradar Technology’s radar products for PX4 flight control system integration:

  • Modified the UAVCAN driver interface (drivers/uavcan and drivers/uavcan/uavcan_drivers) to unify the low-level CAN driver interface, enabling future CAN device development. Refer to drivers/distance_sensor/nanoradar_can for implementation.

  • Added the UAVCAN_IF_EN parameter.

    Set the enable bit (default: 7) for UAVCAN on a CAN interface, or 0 if the interface is used by other devices.

  • Supported the CAN interface to obtain radar ranging and obstacle avoidance distances.

    Supported Models:

    • NAR24(200m), NAR15(100m)

    • UAM231(800m),UAM221(200m)

    • MR72(80m)

Radar Control Parameters

Parameter Name Value Range Description
SENS_EN_NRXX 0/1 Radar enable control1: Enable 0: Disable
SENS_NR_CAN 0/1/2 CAN interface selection0: Not used 1: CAN1 2: CAN2
SENS_NR_RNG_ORI 0-7, 24/25 Rangefinder orientation setting:0: YAW0 1: YAW45 2: YAW90 3: YAW135 4: YAW180 5: YAW225 6: YAW270 7: YAW315 24: Pitch 90° (Upward) 25: Pitch 270° (Downward)
SENS_NR_RNG_MIN Float Minimum detection range (meters)
SENS_NR_RNG_MAX Float Maximum detection range (meters)
SENS_NR_OBS_OFT Float Obstacle sensor installation angle (YAW0-YAW360) in degrees
SENS_NR_OBS_MIN Float Minimum obstacle detection range (meters)
SENS_NR_OBS_MAX Float Maximum obstacle detection range (meters)

Configuration Example

Hardware

UAVCAN – CAN2

Nanoradar Radar NAR24 Rangfinder – CAN1

Nanoradar Radar MR72 Obstalce Radar-- CAN1

Parameter Configuration

UAVCAN_ENABLE = 3; Enable UAVCAN

UAVCAN_IF_EN = 6(bit1=0,bit2=1,bit3=1); UAVCAN does use CAN1

SENS_EN_NRXX = 1; Enable Nanoradar CAN Driver Read Radar Data

SENS_IF_CAN = 1; Use CAN1

SENS_NR_RNG_ORI = 25; Face Downward

SENS_NR_RNG_MIN = 0.2; Rangefinder min distance 0.2m

SENS_NR_RNG_MAX = 200; Rangefinder max distance 200m

SENS_NR_OBS_OFT = 0; Obstacle sensor installation yaw 0 deg

SENS_NR_OBS_MIN = 0.2; Obstacle Radar min distance 0.2m

SENS_NR_OBS_MAX = 80; Obstacle Radar max distance 80m

Test

NSH Status

Rangfinder Sensor(NAR24)

Obstacle Distance Sensor(MR72) FOV 112deg Test

I’ve adapted this radar driver for the stable release v1.15.4. Feel free to try it out if you’re interested. Thanks!

Link: https://github.com/OuYangLei92/PX4-Autopilot/tree/NanoradarCAN-v1.15.4

I tried to send the pull request:[Support Millimeter Wave Radar] As Rangfinder and Obstacle Distance Sensor by OuYangLei92 · Pull Request #25006 · PX4/PX4-Autopilot · GitHub

Thanks

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.