Missing EKF3 Source Parameters for Optical Flow (Holybro H-Flow over CAN on Pixhawk 2.4.8)

Hello everyone,

I am working with a Pixhawk 2.4.8, running ArduPilot (Copter), and my objective is to use the Holybro H-Flow optical flow sensor over CAN (DroneCAN) for position/velocity estimation.

The hardware is connected correctly, on the CAN bus. However, I am unable to configure EKF3 to use optical flow because several required EKF3 source parameters are missing from the parameter list.

Problem Description

According to the documentation, the following EKF3 parameters should be available to configure optical flow as a velocity source:

  • EK3_SRC1_POSXY = 0 (None)

  • EK3_SRC1_VELXY = 5 (Optical Flow)

  • EK3_SRC1_POSZ = 1 (Barometer)

  • EK3_SRC1_VELZ = 0 (None)

  • EK3_SRC1_YAW = 1 (Compass)

  • EK3_SRC_OPTIONS = 0 (Disable FuseAllVelocities)

However, on my Pixhawk 2.4.8:

  • These EK3_SRC* parameters do not appear at all in Mission Planner

  • Because of this, I cannot select Optical Flow as a velocity source

  • As a result, no optical flow data is being fused into EKF

Current Setup Details

  • Flight Controller: Pixhawk 2.4.8

  • Firmware: ArduPilot Copter

  • Optical Flow Sensor: Holybro H-Flow (CAN / DroneCAN)

  • CAN parameters:

    • CAN_P1_DRIVER = 1

    • CAN_D1_PROTOCOL = 1 (DroneCAN)

  • EKF is set to EKF3 (default)

what should i do?

Use custom.ardupilot.org to build a custom firmware with that feature or get a better flight controller. One that is based on an H7 processor.

any suggestion for flight controller to use ?
i tried with the MicoAir H7 but it does not support the CAN.
or any trick to use the can base H-Flow
please help..