I’ve created a new VTOL aircraft which is a hybrid of conventional aircraft and multi-copter. I derived it as a mix of Octo Coax Wide and adapting the Standard VTOL configuration.
I followed the airframe reference documentation from pixhawk and successfully imported to QGC and flashed the firmware.
When I fly the aircraft it pitches up and flies backwards while lifting as if it was following the take-off procedure for helicopters to keep helipad in sight.
I researched through the forums and found that the new config needs to be defined using toml files in firmware/src/lib/mixer/geometries.
What is the method to define these files, which parameters need to be provided, what are the units (SI or Metric)?
What are the source files which will need to be created and or modified to make this configuration flyable?
I’m using pixhawk 1, FMU V2.4.8 (as marked on the case). The command that I’m allowed to use when building the firmware is make px4_fmu-v3_default at max.
Is the latest version of px4 software from github compatible for this board?
@gkashyap Hi, just create a new toml file in here which contains the geometry of your vehicle.
You want to specify the location of each motor with respect to the CG. It uses an xyz coordinate system where x points forward, y to the right and z points down.
I haven’t looked at it for a while but I think you should scale the distances such that the longest distance is equal to 1 (not sure about this, maybe the script scales automatically and you can use any units, as long as you are consistent.)
Then make sure that you add that file to the CMakeList.txt here
If you need more help on this please share your branch in a working state such that I can quickly check if everything is fine.
Thanks for the response.
I noticed that regardless of configuration, the toml files have Ct = 1.0, Cm = 0.05.
What is the impact on configuration if they are always constant?
Also, can you please answer this part from the original question: “I’m using pixhawk 1, FMU V2.4.8 (as marked on the case). The command that I’m allowed to use when building the firmware is make px4_fmu-v3_default at max.
Is the latest version of px4 software from github compatible for this board?”
I think Ct and Cm are the thrust and torque coefficients. I don’t think the relation is important if all the motors are aligned with the Z axis. In that case only rotor drag produces torque on the Z axis (Cm).
Anyway, your mixer looks ok to me. Just verify that the mixer is present in mixer_multirotor and then you should be good to go.
PX4 still supports that board but due to flash space and RAM being on the lower end I would consider using something more up to data like Pixhawk4. But for now you should be ok, you can always disable some modules that you don’t need if you run out of flash space.
What’s currently definitely not possible is to run UAVCAN on a VTOL on that autopilot. There’s simply not enough RAM and flash space for that.
Thanks for your response.
Flew the configuration and discovered the motor order in the file was not right. Corrected the order, built, tested and it was flying. But I’m experiencing yaw to the right. There is yaw control to the right but no yaw control to the left.