矢量推进控制咨询


两个摇杆来控制实现舵机和推进器的联动,两种姿态对应水平面和垂直面两种运动情况,利用两个推进器完成simplerov四个推进器的功能。

控制就是pixhawk和树莓派加地面站QGC和遥控器,利用开源的arudsub代码和QGC实现。

手动模式:

用左边摇杆实现前进后退(forward,reverse)还有左右偏航,偏航运动时,由舵机1和2的偏转加上推进器1和2的推力大小差值共同来控制航向,摇杆的油门量对应舵机1和2的偏转角度(-30度到30度)

用右边摇杆实现沉浮(throttle,ascend,descend)和水平面自旋运动,沉浮运动时让舵机3和4旋转90度达到垂直面运动状态,然后两个推进器按照摇杆的油门大小给相应的推力;还有水平面的自旋运功,回到水平面运动状态,改变两个推进器转向就可以实现自旋运动
我们的想法:

两个推进器分别接主通道main out1和2,舵机1和2用Y线接辅助通道aux out1,舵机3和4用Y线接辅助通道aux out2

摇杆的偏航运动功能,需要让舵机油门既控制两个推进器的推力大小分配(原来的开源代码有改一下),也要摇杆的油门量控制对应舵机1和2的偏转角度(-30度到30度),也就是改变辅助通道aux out1给舵机的pwm脉宽。

摇杆的潜浮运动功能,移动摇杆后需要让舵机3和4先旋转90度到垂直面的运动状态,再按照油门的大小控制两个两个推进器的推力大小分配(原来的开源代码有)

问题:矢量推进的偏航运动和潜浮都要求通过油门实现舵机和推进器可以联动,怎么做到?