Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] setting WV_EN to enable and executing MAV_CMD_DO_VTOL_TRANSITION results in an error. #24426

Open
bonobo001 opened this issue Feb 28, 2025 · 0 comments

Comments

@bonobo001
Copy link

Describe the bug

I am operating a VTOL based on PX4 firmware version 1.15.2 or later. After setting WV_EN to enable and executing MAV_CMD_DO_VTOL_TRANSITION to transition from multicopter mode to fixed-wing mode, the following issues occurred:

  1. Mission failure: Unable to reach heading within timeout.
  2. After the mission failure, the vehicle did not transition to fixed-wing mode and remained in multicopter mode.

To Reproduce

  1. Set up a VTOL running PX4 firmware 1.15.2 or later.
  2. Enable the WV_EN parameter.
  3. Execute a VTOL transition mission:
    3.1. Perform a back transition (fixed-wing to multicopter).
    3.2. Then execute another transition to fixed-wing mode.

Expected behavior

  1. Issue observed:
    4.1. The aircraft's nose is not aligned with the next mission waypoint direction.
    4.2. The same "Mission failure: unable to reach heading within timeout" error occurs.
    4.3. The nose direction does not change as expected during the transition.

  2. Additional findings:
    5.1. When the WV_EN parameter was disabled, the issue did not occur, and the transition proceeded as expected.
    5.2. In version 1.14.0, the logic was designed to control yaw during transition, even when the weather vane (WV_EN) feature was enabled. However, starting from version 1.15.0, some logic statements have been removed or modified.

  3. Identified Code Changes
    6.1. Mission.cpp → Logic has been removed or modified.
    The following lines have been removed:
    pos_sp_triplet->current.disable_weather_vane = true;
    pos_sp_triplet->current.disable_weather_vane = false;

6.2. PositionSetpoint.msg → The message has been removed.
The following statement has been removed:
bool disable_weather_vane

6.3. FlightTaskAuto.cpp → The code has been modified.
The following statement has been modified:
_weathervane.setNavigatorForceDisabled(_sub_triplet_setpoint.get().current.disable_weather_vane);

  • After applying the above modifications, MAV_CMD_DO_VTOL_TRANSITION successfully executes the transition even when WV_EN is enabled on PX4 version 1.15.0 or later.

Screenshot / Media

Image

Flight Log

https://logs.px4.io/plot_app?log=1db2b97a-d16c-4097-a82a-be04ed17c649

Software Version

PX4 v1.15.2 Ver.

Flight controller

Holybro X6, SITL

Vehicle type

Hybrid VTOL

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

No response

Additional context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant