PX4-Autopilot icon indicating copy to clipboard operation
PX4-Autopilot copied to clipboard

[Bug] UAVCAN ESC initialization error problem due to the message truncation features in UAVCAN ESC driver

Open realstone1 opened this issue 1 year ago • 0 comments
trafficstars

Describe the bug

Hi.

I found some problems while applying DroneCAN ESC for my VTOL kit.

It is about the UAVCAN ESC Driver included in PX4's source code which is a feature to truncate messages with motor CMD values of 0 in accordance with UAVCAN's policy. (src/drivers/uavcan/actuators/esc.cpp - Ln.111~118)

I noticed that the comments in the source code also questioned the usefulness of this part, and I completely agree with those concerns. This feature is applied without any consideration in terms of overall operation of PX4 firmware.

For example, in the Disarm state, commands of all motors is the disarm value(65535). The feature then works and cuts out any messages sent to the ESC. This occurs an initialization error problem on ESCs. Because, even though the battery is connected, ESC can not receive any message from FC. In this case, the ESC is initialized only when the motor cmd is output to a value greater than 0, after Arming. But this again occurs a new problem that causes a take-off sequence to be irregular.

Messages to the ESC are blocked even, if certain motors are completely switched off during flight(e.g. lift motors for VTOL UAV). This can then be considered an error by the ESC, potentially triggering the fail-safe function or causing other unexpected behavior.

Given these issues, I think it's better to remove the feature completely from the UAVCAN ESC driver.

Thank you.

To Reproduce

Expected behavior

Screenshot / Media

No response

Flight Log

Software Version

v1.15.0-beta2

Flight controller

Holybro Pixhawk6X

Vehicle type

Hybrid VTOL

How are the different components wired up (including port information)

No response

Additional context

No response

realstone1 avatar Jul 29 '24 09:07 realstone1