串级PID控制四轴飞行器状态-实现

2023-05-16

参考网页:http://blog.csdn.net/nemol1990/article/details/45131603

一、上下运动

  • 向上运动,四个轴的速度同时增加
  • 向下运行,四个轴的速度同时减小

垂直运动

二、前后运动

  • 2和4电机的转速不变,减小1的转速,增大3的转速,向前运动,增大1的转速,减少3的转速,向后运动。

前后运动

  • 往前运动时,1的拉力下降,3的拉力上升,四轴前倾,pitch的值增大
  • 往后运动时,1的拉力上升,3的拉力下降,四轴后倾,pitch的值变小
    这里写图片描述

三、侧向运动

原理与前后运动相同,1,3电机转速保持不变,增大4减少2向右侧运动,增大2而减小4向左侧运动

  • 向右侧运动,2的拉力下降,4的拉力上升,向右侧倾斜,roll的值增大
  • 向左侧运动,2的拉力上升,4的拉力下降,向左侧倾斜,roll的值减小(例如:从0减到-45)

侧向运动

四、左转右转

  • 顺时针旋转(右转) 1、3电机转速上升,2、4电机转速下降,yaw增大
  • 逆时针旋转(左转) 1、3电机转速下降,2、4电机转速上升,yaw减小

偏航运动

这里写图片描述

五、串级PID

roll :

  • rollAttitudePidSettings :外环– 横滚(roll)角度pid设置
  • rollRatePidSettings :内环–横滚(roll)角速度pid设置

pitch :

  • pitchAttitudePidSettings :外环 – 俯仰(pitch)角度pid设置
  • pitchRatePidSettings : 内环 – 俯仰(pitch)角速度pid设置

yaw:

  • yawAttitudePidSettings : 外环 – 航向(yaw)角度pid设置
  • yawRatePidSettings : 内环 – 航向(yaw)角速度pid设置

上下运动

设置 roll和pitch的期望角度都为0
保持yaw的期望角度与之前一致

前后运动

设置roll的期望角度为0
设置pitch的期望角度为一个设定值
保持yaw的期望角度与之前一致

侧向运动

设置pitch的期望角度为0
设置roll的期望角度为一个设定值
保持yaw的期望角度与之前一致

左转右转

设置roll,pitch的期望角度为0
设置yaw的期望角度为一个设定值

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

串级PID控制四轴飞行器状态-实现 的相关文章

  • PID算法,计算的是差值,是差值

    typedef struct float Kp 比例系数Proportional float Ki 积分系数Integral float Kd 微分系数Derivative float Ek 当前误差 float Ek1 前一次误差 e k
  • PID控制器开发笔记之九:基于前馈补偿的PID控制器的实现

    对于一般的时滞系统来说 设定值的变动会产生较大的滞后才能反映在被控变量上 从而产生合理的调节 而前馈控制系统是根据扰动或给定值的变化按补偿原理来工作的控制系统 其特点是当扰动产生后 被控变量还未变化以前 根据扰动作用的大小进行控制 以补偿扰
  • PID控制原理解释

    PID控制原理解释 文章目录 PID控制原理解释 0 前言 1 控制原理图解释 2 算法分析 3 PID数学模型解释 4 调参技巧说明 0 前言 参考网址 http blog gkong com liaochangchu 117560 as
  • 电机调速(PID算法)(程序原理图全套资料)

    要求 设计一个基于改变PWM信号占空比来实现直流电动机转速控制的系统 满足控制指标要求 思维导图如下 最终设计的成果为 测速使用霍尔传感器 然后霍尔传感器感应的是使用高强度的磁铁 淘宝上面有买 电机驱动用现成的L9110模块 显示直接用OL
  • 串级PID与单极PID的区别

    目录 前言 一 什么是串级PID 二 串级PID与单极PID比较 1 控制小车开到某一位置 2 平衡小车速度控制 三 什么时候用串级PID 结语 前言 本文将讲述串级PID与单极PID的区别 并由此引出什么时候用串级PID 对于想深入学习P
  • 深入浅出PID控制算法(二)————PID算法离散化和增量式PID算法原理及Matlab实现

    引言 上篇介绍了连续系统的PID算法 但是计算机控制是一种采样控制 他只能根据采样时刻的偏差来计算控制量 因此计算机控制系统中 必须对公式进行离散化 具体就是用求和代替积分 用向后差分来代替微分 使模拟PID离散化为数字形式的差分方程 准备
  • 什么是死区时间

    死区时间是PWM输出时 为了使H桥或半H桥的上下管不会因为开关的关断延迟问题发生同时导通而设置的一个保护时段 通常也指pwm响应时间 由于IGBT 绝缘栅极型功率管 等功率器件都存在一定的结电容 所以会造成器件导通关断的延迟现象 一般在设计
  • PID控制算法01

    PID控制算法 PID控制算法公式 原理 参数作用 PID算法及改进 两个基本类型 位置型PID控制 增量型PID控制 积分环节改进的PID控制 积分分离的PID控制 变速积分的PID控制 抗积分饱和的PID控制 微分环节改进的PID控制
  • 如何在C++中使用system()命令获取执行进程的pid

    当我们使用system 命令 程序等待完成 但我正在执行process using system 并使用负载平衡服务器 因为该程序在执行系统命令后立即进入下一行 请注意 process可能不完整 system my script after
  • docker和主机之间的PID映射

    docker 命名空间与主机命名空间有何不同以及 pid 如何在这两者之间映射 谁能给我一个想法 有助于使用源代码在主机和 docker 之间映射 pid 的简单方法 您可以在中找到映射 proc PID status文件 它包含这样一行
  • 什么是 .pid 文件以及它包含什么?

    我最近遇到了一个扩展名为 pid 的文件 并查看了它的内部 但没有找到太多内容 这文档 says Pid 文件是包含进程标识号 pid 的文件 该文件存储在文件系统的明确定义位置 从而允许其他程序找到正在运行的脚本的 pid 任何人都可以对
  • 将手柄传递到管道中

    说我有 node foo js node bar js 有没有办法将 foo 的标准输入句柄传递给 bar js 我有一个罕见的情况 我想在管道中进行向后通信 至少我知道我可以发送node bar js的pidnode foo js 鉴于
  • C++ 在 Windows 中发送简单信号

    Windows 上是否有相当于kill 的函数 int kill pid t pid int sig 如果没有 是否可以根据进程的 PID 来测试进程是否正在运行 Thanks Windows 没有 Unix 意义上的信号 您可以使用Ope
  • 使用批处理查找java PID

    我需要从 Windows 批处理控制台知道 java 进程 PID echo off set p CD FOR F tokens 1 A IN JAVA HOME bin jps exe v find p DO SET str A echo
  • 查看用户最近执行的Android任务

    我想查看我的 Android 手机最近的任务 我尝试了一些来自互联网的代码 但没有一个能正常工作 我只想获取用户最后执行的应用程序的PID和名称 例如 如果我执行计算器应用程序 然后执行我创建的最近任务应用程序 则该应用程序应该能够告诉我类
  • mysql.server 启动时出现 PID 错误?

    我刚刚尝试使用自制程序 在 Mac OS X 10 6 上 安装 MySQL 但我在第一个障碍时遇到了问题 当尝试手动启动服务器 mysql server start 时 出现以下错误 ERROR Manager of pid file q
  • 如何通过MATLAB命令获取外部程序(由MATLAB调用)的PID?

    我很好奇如何获取 MATLAB 在 Windows 中 调用的外部程序的 PID 例如 我通过命令调用 MATLAB 中的记事本 记事本 exe or 系统 记事本 exe 我想在调用此记事本后立即获取它的PID 由于一台计算机上可能会同时
  • 如何通过VBA获取当前Excel实例的进程ID,而不使用标题?

    如何获取运行 VBA 代码的当前 Excel 实例的进程 ID 我不想通过标题中的名称来请求它 当我有两个或多个具有相同标题的 Excel 实例时 这会导致问题 您可以使用此方法来获取当前进程ID Declare Function GetC
  • 查找PID所属的tmux会话

    我正在使用 htop 所以看看哪些进程占用了大量内存 以便我可以杀死它们 我有很多 tmux 会话和很多类似的流程 如何检查 PID 位于哪个 tmux 窗格中 以便确定我正在杀死我想杀死的东西 鉴于PID下面一行是目标 pid 号 tmu
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn

随机推荐