pixhawk自学笔记之Mixer学习

来源:互联网 发布:seo效果明显吗 编辑:程序博客网 时间:2024/06/05 03:34

混合器输出定义控制器的输出是如何映射到电机和伺服输出。所有内置mixer文件位于ROM文件系统的/etc/mixers目录,并编译成固件。Mixer是一组独立的映射器,从控制读入写入,写入执行器输出。一个模块,结合一组根据预先定义的规则和参数的输入,产生一组输出。


1.语法:

Mixer的定义是文本文件,用一个大写字母后跟一个冒号开头的行。所有其他的行都会被忽略,这意味着解释性文本可与定义相混合。每个文件可以定义多个Mixer。由一个Mixer产生的执行器输出的数量是特定的。

起始形式如下:

<tag>:<mixer arguments>

标签选择Mixer的类型,“M”为一种简单求和Mixer,“R”为多转子(多旋翼)Mixer等。

一个空的Mixer不消耗控制,并产生一个执行机构的输出,其值始终为零。通常一个空的Mixer被用作占位符Mixer的集合中,以实现制动器输出的特定模式。

空的Mixer定义形式:

Z:

 

2.简单的Mixer

一个简单的Mixer的开始:

M: <control count>
O: <-ve scale> <+ve scale> <offset> <lower limit> <upper limit>

如果为零,则输出就为零,Mixer输出的固定值是受限制的。

第二行定义了输出输出定标器和标量参数。虽然计算作为浮点运算进行的,存储在所述定义文件中的值是由10000倍缩放,-0.5偏移被编码为-5000.

 

该定义继续描述控制输入和缩放项:

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

这些值定义了控制组从那些定标器中读取数据,和该组内的值的偏移。是特定于设备读取Mixer的定义。

 

当用于混合车辆的控制,混合器组0是车辆姿态控制组,索引值从0到3通常分别是:roll,pitch,yaw,thrust。

 

具体详解见:https://pixhawk.org/dev/mixing?s[]=mixer

 

3.多旋翼Mixer

在多旋翼混合器结合四个控制输入(roll,pitch,yaw,thrust)为一组用于驱动电机速度控制器制动输出。

Mixer定义的形式:

R: <geometry> <roll scale> <pitch scale> <yaw scale> <deadband>

参数解释:

    机械:包括quad4x4+),hex6x6+),octo8x8+

    单独的rollpitchyaw控制因子

    电机输出死区  

支持配置如下:

每个滚动,俯仰和偏航刻度值的确定侧倾,俯仰的缩放和偏航控制相对于所述推力控制。

滚动,俯仰和偏航输入预期范围从-1.0到1.0,而油门输入范围从0.0到1.0。为每个致动器输出的范围是-1.0到1.0。

在致动器饱和,所有致动器被重新缩放,使得饱和致动器被限制在1.0的情况下。

例子如下:



1 2
原创粉丝点击