utiasSTARS / PX4-PhoenixDrone

PX4 Source Code for Phoenix Tail-sitter
Other
7 stars 10 forks source link

Differential Thrust Implementation #11

Open HarshilNaikk opened 1 year ago

HarshilNaikk commented 1 year ago

Hello!

I am trying to replicate the Phoenix Drone in the current version of PX4 firmware, by modifying the existing quad-tailsitter with control surfaces (elevons) (removed 2 motors). In hover, I am trying to use elevons for pitch and yaw control, while using differential thrust for roll control. The elevons seem to be working fine, but the differential thrust part doesnt work. The vehicle randomly rolls when I initiate takeoff.

I believe this to be some issue with the Control_Allocator module, since I dont think differential thrust has been modelled during the hover phase. But I am not sure.

Any help will be highly appreciated! Thanks a lot!

yilun-wu commented 1 year ago

Hello - I believe the PX4 firmware includes configurations for duo-tailsitters see https://docs.px4.io/main/en/frames_vtol/tailsitter.html. You might want to start modifying from the base of a duo-tailsitter instead of a quad-tailsitter.

In our implementation, the differential thrust is modeled in the attitude control part, where desired body rate is mapped to eleven deflections and propeller thrusts using a set of nonlinear equations we calibrated for the aerodynamics of the vehicle. From there, two propeller rpm and eleven deflection angles are then sent to actuator drivers to convert to PWM commands.