I’m looking into a copter architecture in which the centerbody rotates independently from the propulsion system in the pitch axis and passively orients itself parallel to the freestream flow at all forward flight speeds to reduce drag. See sketch of this below. Independent rotation is achieved by using a rotor frame that is attached to the centerbody via bearings. Passive orientation is achieved by aerodynamic forces acting on the centerbody during forward flight, which produces a favorable net torque for a statically stable configuration.
How would I go about configuring a ‘dynamic motor’ setup like this in ardupilot?
Btw I’m open to any other feedback folks may have on the general feasibility/practically of this configuration. Thanks.
My guess is this is quite hard since there are a lot of fixed orientation assumptions baked into the code. You are also going to need some way of sensing the rotation as I suspect assuming it is perfectly level at all times is invalid. But @iampete is your man - if it can be done he will know how.
If you just mount all the flight control stuff on the tilting bit ArduCopter will not care what the fuselage does, but you may have to do some gain scheduling because the vehicle will change inertia as the copter tilts relative to the fuselage.
Hey @iampete one more question. Any recommendation on how to handle the external compass (on gps) being mounted on the fuselage while the flight controller compass is mounted on the propulsion frame? My setup is fight controller mounted 270roll, 270 yaw on propulsion frame while gps is mounted on fuselage pointing forward. With this current setup, I am getting an ‘inconsistent compass’ error. Thanks.
If I mount the GPS on the ‘copter’ bit in the same orientation as the flight controller (270 roll, 270 yaw, set in ahrs_orientation), do any other parameters need to be updated? From the wiki, looks like not, but just want to confirm.