Community
cancel
Showing results for 
Search instead for 
Did you mean: 
idata
Community Manager
984 Views

Complete power failure upon switch to position control mode

Jump to solution

I have just come across seemingly major issue while working with the Ready-to-Fly. I am attempting to get the PX4 position control flight mode working on the RTF and it's causing an instantaneous power shutdown for the entire drone (not just the Aero Flight Controller, the entire system)!

For some context I am trying to use local_position_estimator app from PX4. Folks I have spoken to in other research groups have had continued problems with the ekf2 app on PX4 so I am trying a different route using local_position_estimator.

Here is my setup and workflow

Aero Compute Board:

- running Ubuntu 16.04

- setup as desktop workstation, i.e. props removed, wall power as opposed to battery, monitor+keyboard+mouse interface

Aero Flight Controller:

- running the px4 build that comes with the drone: /etc/aerofc/px4/nuttx-aerofc-v1-default.px4

- (note same result if I flash the most recent commit to master on https://github.com/PX4/Firmware https://github.com/PX4/Firmware)

Workflow:

1. From Aero Compute Board, access mavlink shell via Aero Compute Board

```

cd ~/Firmware/Tools

python mavlink_shell.py 0.0.0.0:14550

```

2. shutdown ekf2 and startup attitude_estimator_q and local_position_estimator

```

ekf2 stop

attitude_estimator_q start

local_position_estimator start

```

3. Manually arm quadrotor and attempt to switch to position control mode

RESULT:

+ The entire Intel RTF completely powers down almost instantaneously; not just AeroFC, the entire drone complete powers off!!.

+ I will note that it has just enough time to send a REJECT POSITION CONTROL message to QGroundControl.

+ This does NOT happen if the quad is NOT armed

While it might be easy to disregard this as a PX4 problem, I disagree. Whatever PX4 is doing, it shouldn't be able to cause a complete power failure for the Intel RTF platform. Furthermore I am using a "vanilla" version of PX4 so it's not doing anything exotic.

0 Kudos
1 Solution
idata
Community Manager
78 Views

Even though I don't know the root cause of the power failure, it looks like I found a solution. Based on information found here: https://dev.px4.io/en/ros/external_position_estimation.html https://dev.px4.io/en/ros/external_position_estimation.html and using this file as a template: https://github.com/PX4/Firmware/blob/master/cmake/configs/nuttx_px4fmu-v2_lpe.cmake https://github.com/PX4/Firmware/blob/master/cmake/configs/nuttx_px4fmu-v2_lpe.cmake, I made a new cmake file specifically for local_position_estimator instead of ekf2. As far as I can tell the functional difference between my previous work flow and using the custom cmake file is the inclusion drivers/irlock in the cmake file.

When I flash the AeroFC with this new firmware, I am able to switch into position control without causing a power failure

View solution in original post

1 Reply
idata
Community Manager
79 Views

Even though I don't know the root cause of the power failure, it looks like I found a solution. Based on information found here: https://dev.px4.io/en/ros/external_position_estimation.html https://dev.px4.io/en/ros/external_position_estimation.html and using this file as a template: https://github.com/PX4/Firmware/blob/master/cmake/configs/nuttx_px4fmu-v2_lpe.cmake https://github.com/PX4/Firmware/blob/master/cmake/configs/nuttx_px4fmu-v2_lpe.cmake, I made a new cmake file specifically for local_position_estimator instead of ekf2. As far as I can tell the functional difference between my previous work flow and using the custom cmake file is the inclusion drivers/irlock in the cmake file.

When I flash the AeroFC with this new firmware, I am able to switch into position control without causing a power failure

View solution in original post

Reply