PX4混控器文件理解

2023-05-16

PX4混控器文件理解

  • 1 简单混控器
  • 2 多旋翼混控器
    • 纯多旋翼

1 简单混控器

以固定翼的混控文件为例,文件位于

Firmware/ROMFS/px4fmu_common/mixers/fw_generic_wing.main.mix

Generic wing mixer
===========================
This file defines mixers suitable for controlling a delta wing aircraft.
The configuration assumes the elevon servos are connected to servo
outputs 0 and 1 and the motor speed control to output 3. Output 2 is
assumed to be unused.

Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).

See the README for more information on the scaler format.

Elevon mixers
-------------
Three scalers total (output, roll, pitch).

On the assumption that the two elevon servos are physically reversed, the pitch
input is inverted between the two servos.

The scaling factor for roll inputs is adjusted to implement differential travel
for the elevons.

M: 2
S: 0 0  -8000  -8000      0 -10000  10000
S: 0 1   6000   6000      0 -10000  10000

M: 2
S: 0 0  -8000  -8000      0 -10000  10000
S: 0 1  -6000  -6000      0 -10000  10000

Output 2
--------
This mixer is empty.

Z:

Motor speed mixer
-----------------
Two scalers total (output, thrust).

This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range.  Inputs below zero are treated as zero.

M: 1
S: 0 3      0  20000 -10000 -10000  10000

简单混控器里面的

这里是一个舵的输出,由两个输入相加得到,即控制组0,的通道0和1
M: 2
S: 0 0  -8000  -8000      0 -10000  10000
S: 0 1   6000   6000      0 -10000  10000

表示一组输出,就是输出到一个执行机构,按照px4的开发者向导的解释,该组理解为,其中一个执行机构的输入为控制组0中的通道0和通道1相加得到,混控文件里面也说明了控制组0是姿态控制,通道0是roll,通道1是pitch,通道3是thrust。 -8000表示缩放值,前面是输入为负数缩放系数,后面是输入为正数的时候的缩放系数。接着后面的0是偏移量,后面两个是限幅值。假设现在输入一个顺时针滚转的指令0.2,则第一个输出组得到的结果为0.2*(-8000)=-400,第二个输出得到的也是0.2*(-8000)=-400。也就是左右两个舵机各往反方向打一定的角度,看到是打相同的角度,作用结果不是使飞机的pitch角改变了吗? 其实不然,混控文件里面有这样一句说明:

On the assumption that the two elevon servos are physically reversed, the pitch
input is inverted between the two servos.

混控文件里面说明了,两个舵机是反向安装的,这样的结果就是,给舵机相同的指令,例如上面计算出来的-400,舵机确实会往相同的方向打一定角度,但是由于是反向安装的,打相同方向角度的作用结果是使飞行器的舵面往想反方向打了,也就是实现了滚转运动。这就对应起来了,输入0.4的roll指令,飞行器进行滚转运动。

2 多旋翼混控器

纯多旋翼

因为纯多旋翼,例如四旋翼,六旋翼,八旋翼这些飞行器,他们的输出方式是固定的,例如x型四旋翼,向前俯仰运动一定是前面两个增加,后面两个减。所以定义混控文件的时候,只需要告诉飞行器类型就可以了,px4里面有一下几种类型

4x - quadrotor in X configuration
4+ - quadrotor in + configuration
6x - hexacopter in X configuration
6+ - hexacopter in + configuration
8x - octocopter in X configuration
8+ - octocopter in + configuration

例如一个四旋翼的混控文件为:

文件信息:Firmware/ROMFS/px4fmu_common/mixers/quad_x.main.mix

R: 4x 10000 10000 10000 0
M: 1
S: 3 5  10000  10000      0 -10000  10000
M: 1
S: 3 6  10000  10000      0 -10000  10000

第一行可知指出了是4x型的飞行器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4混控器文件理解 的相关文章

  • px4: v2的主板刷写v2的固件

    v2的主板刷写v2的固件 fengxuewei 64 fengxuewei Legion Y7000 2019 PG0 src Firmware changwei rc span class token function make span
  • PX4 SITL Gazebo 仿真时 libgazebo_multirotor_base_plugin 插件运行时出错

    PX4 SITL Gazebo 仿真时 libgazebo multirotor base plugin 插件运行时出错 问题描述原因分析解决办法总结 问题描述 在 Gazebo 中进行 PX4 的软件在环仿真时 xff0c 执 make
  • PX4 Bootloader下载及编译过程中的问题解决

    买来的雷迅的板子都是Bootloader已经烧进去了 xff0c Fireware也已经刷进去了 如果是自制的板子 xff0c 上位机根本没法识别板子 xff0c 必须先烧写下载Bootloader后编译好的bin文件 这篇记一下自己下载及
  • Ubuntu下构建PX4软件

    本搭建过程基于http dev px4 io starting building html xff0c 希望大家互相交流学习 原文 xff1a Building PX4 Software xff08 构建PX4软件 xff09 PX4 ca
  • PX4源代码下载编译

    sudo git clone https github com PX4 PX4 Autopilot git recursivegit submodule update init recursivegit submodule update r
  • PX4飞控之PWM输出控制

    PX4飞控之PWM输出控制 多旋翼电调如好盈XRotor xff0c DJI通用电调等都支持PWM信号来传输控制信号 常用的400Hz电调信号对应周期2500us xff0c 一般使用高电平时间1000us 2000us为有效信号区间 xf
  • PX4 -- EKF2

    文章目录 EKF2参数高度估计Range Finder滤波 单变量更新单变量更新对多变量的影响 EKF2 参数 EKF2 中有一类 GATE 参数 当测量值在 VAR GATE 范围内才会更新值 高度估计 四种高度控制方法 xff1a 气压
  • PX4模块设计之四:MAVLink简介

    PX4模块设计之四 xff1a MAVLink简介 1 MAVLink PX4 应用简介2 MAVLink v2 0新特性3 MAVLink协议版本4 MAVLink通信协议帧4 1 MAVLink v1 0 帧格式4 2 MAVLink
  • PX4模块设计之六:PX4-Fast RTPS(DDS)简介

    64 TOC PX4模块设计之六 xff1a PX4 Fast RTPS DDS 简介 基于PX4开源软件框架简明简介的框架设计 xff0c 逐步分析内部模块功能设计 PX4 Fast RTPS DDS 具有实时发布 订阅uORB消息接口
  • PX4模块设计之十六:Hardfault模块

    PX4模块设计之十六 xff1a Hardfault模块 1 Hardfault模块初始化2 Hardfault模块主程序3 Hardfault命令3 1 hardfault check status3 2 hardfault rearm3
  • PX4模块设计之三十一:ManualControl模块

    PX4模块设计之三十一 xff1a ManualControl模块 1 ManualControl模块简介2 模块入口函数2 1 主入口manual control main2 2 自定义子命令custom command 3 Manual
  • PX4模块设计之三十六:MulticopterPositionControl模块

    PX4模块设计之三十六 xff1a MulticopterPositionControl模块 1 MulticopterPositionControl模块简介2 模块入口函数2 1 主入口mc pos control main2 2 自定义
  • PX4模块设计之四十三:icm20689模块

    PX4模块设计之四十三 xff1a icm20689模块 1 icm20689模块简介2 模块入口函数2 1 主入口icm20689 main2 2 自定义子命令custom command2 3 模块状态print status 重载 3
  • PX4模块设计之四十七:mavlink模块

    PX4模块设计之四十七 xff1a mavlink模块 1 mavlink模块简介2 模块入口函数mavlink main3 mavlink模块重要函数3 1 Mavlink start3 2 Mavlink task main3 3 Ma
  • 关于github px4 gps 驱动的开发的总结

    源码编译上边已经写过文章了 遇到的几个问题 1 解决虚拟机不能共享文件夹的问题 一开始虚拟机的更新 vmware tools 是灰色的 xff0c 不能点 xff0c 然后通过关掉虚拟机 xff0c 然后再开启的时候 xff0c 在没有启动
  • PX4-4-任务调度

    PX4所有的功能都封装在独立的模块中 xff0c uORB是任务间数据交互和同步的工具 xff0c 而管理和调度每个任务 xff0c PX4也提供了一套很好的机制 xff0c 这一篇我们分享PX4的任务调度机制 我们以PX4 1 11 3版
  • pixhawk px4 commander.cpp

    对于复杂的函数 xff0c 要做的就是看函数的输入是什么 来自哪里 xff0c 经过处理后得到什么 给谁用 xff0c 这样就可以把程序逻辑理清 中间的分析就是看函数如何处理的 span class hljs keyword extern
  • px4下载指定版本的固件、git用法

    https hub fastgit org PX4 PX4 Autopilot git describe tag 查看当前版本号 git tag l 查看所有版本 xff0c 也就是打个tag git checkout v1 9 1 跳转到
  • PX4飞控之自主返航(RTL)控制逻辑

    本文基于PX4飞控1 5 5版本 xff0c 分析导航模块中自护返航模式的控制逻辑和算法 自主返航模式和导航中的其他模式一样 xff0c 在Navigator main函数中一旦触发case vehicle status s NAVIGAT
  • PX4之常用函数解读

    PX4Firmware 经常有人将Pixhawk PX4 APM还有ArduPilot弄混 这里首先还是简要说明一下 xff1a Pixhawk是飞控硬件平台 xff0c PX4和ArduPilot都是开源的可以烧写到Pixhawk飞控中的

随机推荐

  • 立体匹配 | DLNR还没来,先看EAI-stereo!

    点击上方 3D视觉工坊 xff0c 选择 星标 干货第一时间送达 作者丨小张Tt 来源丨计算机视觉工坊 论文题目 xff1a EAI Stereo Error Aware Iterative Network for Stereo Match
  • 送5本!SLAM领域书籍汇总

    赠书 点击下面卡片 xff0c 关注 计算机视觉工坊 在公众号 计算机视觉工坊 后台 回复 xff1a 抽奖 xff0c 即可参与抽奖 中奖者可在以上书单里任意挑选一本 备注 xff1a 中奖者挑选的书籍 xff0c 需能够在线上购买 xf
  • 从0到1理解ChatGPT, GPT-4【文末送书】

    作为一项人工智能技术 xff0c ChatGPT正在以飞快的速度向前发展 xff0c 其强大的学习能力甚至可以用超乎想象来形容 OpenAI公司带着最新的GPT 4开始 大杀四方 了 OpenAI推出GPT 4文本生成AI系统 紧随其后百度
  • 从定位角度谈为何10年内无法实现L3/L4级无人驾驶

    点击上方 3D视觉工坊 xff0c 选择 星标 干货第一时间送达 作者丨周彦武 来源丨 佐思汽车研究 10年内无法实现L3 L4级无人驾驶 xff0c 其中原因包括感知 成本 xff08 高精度地图 xff09 定位 深度学习等多方面因素
  • 博士生4年研究成果被同门“剽窃”抢发,导师替其讨回公道!

    本文募格学术整理自知乎 抖音 募格课堂 科研圈等 近日 xff0c 一名博士生在抖音吐槽自己遭遇的视频引发热议 xff1a 其称自己在北京某高校读博士 xff0c 已经进入第4年了 xff0c 在自己的研究领域内已经取得了一定的成果 然而就
  • 真爱!男友捐款5亿给博士女友,让她不用申请项目,招150位科学家,安心做科研!...

    赠书 点击下面卡片 xff0c 关注 计算机视觉工坊 在公众号 计算机视觉工坊 后台 回复 xff1a 抽奖 xff0c 即可参与抽奖 中奖者可在以上书单里任意挑选一本 备注 xff1a 中奖者挑选的书籍 xff0c 需能够在线上购买 xf
  • SDV-LOAM:半直接视觉和激光雷达融合SLAM

    在公众号 3D视觉工坊 后台回复 原论文 xff0c 可获取对应论文pdf文件 参考论文 xff1a SDV LOAM Semi Direct Visual LiDAR Odometry and Mapping 作者机构 xff1a 华中科
  • FreeRTOS任务启动流程实践

    文章目录 前言一 移植FreeRTOS框架二 任务创建步骤1 定义任务实体函数2 创建任务2 1 定义任务栈2 1 1定义静态任务栈2 1 2定义动态任务堆 2 2 定义任务控制块TCB2 2 1 静态任务TCB2 2 2 动态任务TCB
  • OSSID: Online Self-Supervised Instance Detection by (And For) Pose Estimation

    许多机器人操作算法都需要 实时目标姿态估计 然而 xff0c 最先进的目标姿态估计方法是针对一组特定的对象进行训练的 xff1b 因此 xff0c 这些方法需要 重新训练 以估计每个新对象的姿势 本文提出了 OSSID 框架 xff0c 利
  • 'dict' object has no attribute 'cuda'的解决方法

    obj 61 obj cuda 其中obj是一个字典 xff0c 但是字典类型不支持直接cuda xff08 xff09 操作 可以用下面的方法将obj的每个value都变成cuda xff08 xff09 类型 obj 61 key ob
  • Armbian 配置 WiFi

    Armbian 配置 WiFi 把斐讯 N1 电视盒子 重装了Armbian 系统 xff0c 机器有无线网卡但系统没桌面环境 xff0c 只能通过命令行控制 WIFI 连接 这里记录 设置 WIFI 的方法 一共有两个方案 xff1a 通
  • 任务调度器算法(leetcode621)

    题目描述如下 xff1a 思路 xff1a 要想完成任务的时间最短 xff0c 那么必须优先处理出现次数最多的任务 xff08 如果将次数多的任务留到最后 xff0c 必然在每次任务之间留出大量的等待时间 xff09 xff0c 因此我们可
  • ubuntu16.04安装docker及桌面

    安装 Docker 所需条件 xff1a 需要 64 位架构的系统和Linux 3 10 内核或更高版本 uname r 注意 xff1a 如果你之前使用APT安装过docker xff0c 为了新版本的docker仓库 xff0c 确保你
  • vncserver too many security failures

    在服务器上开了几个虚拟机 xff0c 装了VNC之后 xff0c 经常遇到报错too many security failures 查了下相关资料 xff0c 原来是有人在暴力破解 xff0c 触发了VNC的黑名单机制 重置黑名单 xff0
  • 计算机网络复习题3(含答案及解析及知识点)

    1 为了使数据在网络中传输时延最小 xff0c 首选的交换方式是 A A 电路交换 B 报文交换 C 分组交换 D 信元交换 交换方式的比较 信元交换 是一种面向连接的快速分组交换技术 xff0c 是通过建立虚电路来进行数据传输 虚电路结合
  • 串级PID和 前馈系统

    1 串级PID 可以这样理解 外环是速度环 内环是电流环 控制的目标是速度 然后如果速度过低 第一级pid后脉冲就增加1随之的 电流环也会增加 xff0c 这样就可以理解 速度环的输出当作电流环的输出 xff0c 他们都是同样的 要大一起大
  • STM32模拟串口总结

    STM32模拟串口总结 发送端的方法 1 纯延时模拟 此方法延时精确度不够 xff0c 或者发送前必须关中断 span class token keyword void span span class token function IO T
  • 工匠小四轴之一_PCB外框结构

    工匠小四轴之一 PCB外框结构 工匠小四轴的PCB就是机架 xff0c 为了最优化设计需要满足以下几个条件 xff1a 美观 xff0c 有科技感 动力效率最大化 质量轻 废话不多说 xff0c 先上图 xff1a 为了美观 xff0c 有
  • px4新建一个uORB消息

    px4新建一个uORB消息 方法非常简单 参考自 https dev px4 io master en middleware uorb html 第一步 在 src Firmware msg 下新建一个 msg文件 文件里面包含需要的变量
  • PX4混控器文件理解

    PX4混控器文件理解 1 简单混控器2 多旋翼混控器纯多旋翼 1 简单混控器 以固定翼的混控文件为例 xff0c 文件位于 Firmware ROMFS px4fmu common mixers fw generic wing main m