Px4添加一个新的机型

添加一个新的机型

       所有定义的机型文件保存在ROMFS/px4fmu_common/init.d

建立一个混控器

1 简单学习混控器定义:

       舵机/电机的接口顺序和这个文件中的混控器顺序一致。意思是按照文件从头到尾的混控器顺序就是通道(channel)的顺序一致。

       混控器只有以一个字母开头后紧跟冒号的行是有用的,其他格式的均为注释。以如下一个简单飞翼的副翼混控器定义为例:

 

M: 2

O:      10000  10000      0 -10000  10000

S: 0 0  -6000  -6000      0 -10000  10000

S: 0 1   6500   6500      0 -10000  10000

 

从左到右每个数字代表的意思如下:

M:代表有2个缩放系数(对应着两个输入)

O:代表输出缩放系数(负输入量缩放系数为1,正输入量缩放系数为1),偏移量(这里是0),输出范围(这里-1到+1)

S:代表第一个输入量的缩放系数:输入量来自控制组#0(姿态控制)的第一个输入(滚转),缩放系数为0.6,并且符号取反(-0.6换算到标准单位是-6000),没有偏移量(0),输出为全范围(-1到+1)

S:代表第二个输入量的缩放系数:输入量来自控制组#0(姿态控制)的第二个输入(俯仰),缩放系数为0.65(0.65换算到标准单位是6500),没有偏移量(0),输出为全范围(-1到+1)

 

解释一下单行的定义:

S: <group> <index> <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>

比如:

S: 0 0  -6000  -6000      0 -10000  10000

  1. 第一个0 指的是group的值。如下:
  • Control Group #0 (Flight Control)

0: roll (-1..1)
1: pitch (-1..1)
2: yaw (-1..1)
3: throttle (0..1 normal range, -1..1 for variable pitch / thrust reversers)
4: flaps (-1..1)
5: spoilers (-1..1)
6: airbrakes (-1..1)
7: landing gear (-1..1)

  • Control Group #1 (Flight Control VTOL/Alternate)

0: roll ALT (-1..1)
1: pitch ALT (-1..1)
2: yaw ALT (-1..1)
3: throttle ALT (0..1 normal range, -1..1 for variable pitch / thrust reversers)
4: reserved / aux0
5: reserved / aux1
6: reserved / aux2
7: reserved / aux3

  • Control Group #2 (Gimbal)

0: gimbal roll
1: gimbal pitch
2: gimbal yaw
3: gimbal shutter
4: reserved
5: reserved
6: reserved
7: reserved (parachute, -1..1)

  • Control Group #3 (Manual Passthrough)

0: RC roll
1: RC pitch
2: RC yaw
3: RC throttle
4: RC mode switch
5: RC aux1
6: RC aux2
7: RC aux3

  • Control Group #6 (First Payload)

0: function 0 (default: parachute)
1: function 1
2: function 2
3: function 3
4: function 4
5: function 5
6: function 6
7: function 7

 

  1. 第二个0指的是group中的index在组中的序号,比如这个例子中值得是group 0 0roll
  2. <-ve scale> <+ve scale>  表示缩放比例,也可以理解为权重。

关于正负问题的解释:

最常规的固定翼的正负定义如下:

    

Aileron

S: 0 0  10000  10000      0 -10000  10000

Elevator

S: 0 1  -10000  -10000      0 -10000  10000

Rudder

S: 0 2  10000  10000      0 -10000  10000

Motor speed

S: 0 3      0  20000 -10000 -10000  10000

 

对于最简单的飞翼布局的无人机,两个舵的定义如下:

M: 2

O:      10000  10000      0 -10000  10000

S: 0 0  -6000  -6000      0 -10000  10000

S: 0 1   6500   6500      0 -10000  10000

 

M: 2

O:      10000  10000      0 -10000  10000

S: 0 0  -6000  -6000      0 -10000  10000

S: 0 1  -6500  -6500      0 -10000  10000

       所以我们可以归纳总结出:

当通过两个舵来控制滚转偏航俯仰时,因为对称分布所以左右打相同角度时有正负差别,这一物理安装决定,另外副翼和方向舵所打角度左右正好相反,所以相当于乘了两次-1,于是两个

  1. <offset> <lower limit> <upper limit>  中立位 最小值 最大值。

 

注意; 因为是脚本文件,所以在相加时总是优先满足放在上面的通道。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值