热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【UAV】高度控制代码分析

文章目录代码分析MotorControl()控制流程图代码分析MotorControl()casePROCESS_31:{int16_tthr_temp;这里的定高标志在Mo


文章目录

  • 代码分析
    • MotorControl()
  • 控制流程图


代码分析


MotorControl()

case PROCESS_31:
{int16_t thr_temp;// 这里的定高标志在 Mode_Controller 中通过对按键的判定进行更改// height_lock 为 1 时标志进入定高飞行模型if(ALL_flag.height_lock) // 定高模式下 油门遥杆作为调整高度使用 {thr_temp &#61; pidHeightRate.out &#43; (Remote.thr -1000); // 输出给电机的是定高输出值}// 这里&#xff0c;定高比不定高多增加了一个高度内环速度的输出 pidHeightRate.outelse // 正常飞行状态&#xff0c;油门正常使用{thr_temp &#61; Remote.thr - 1000; // 输出给电机的是油门输出值}if(Remote.thr<1020) // 油门太低了&#xff0c;则限制输出 不然飞机乱转 {MOTOR1 &#61; MOTOR2 &#61; MOTOR3 &#61; MOTOR4 &#61; 0;break;}// thr_temp 用来给出电机的基础转速// 之后再增加上外环 pidRateX.out 等来控制姿态MOTOR1 &#61; MOTOR2 &#61; MOTOR3 &#61; MOTOR4 &#61; LIMIT(thr_temp,0,900); // 留100给姿态控制MOTOR1 &#43;&#61; &#43; pidRateX.out - pidRateY.out - pidRateZ.out; // 姿态输出分配给各个电机的控制量MOTOR2 &#43;&#61; &#43; pidRateX.out &#43; pidRateY.out &#43; pidRateZ.out; //MOTOR3 &#43;&#61; - pidRateX.out &#43; pidRateY.out - pidRateZ.out; //MOTOR4 &#43;&#61; - pidRateX.out - pidRateY.out &#43; pidRateZ.out; //
}
break;

控制流程图

在这里插入图片描述


推荐阅读
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 在本周的白板演练中,Apache Flink 的 PMC 成员及数据工匠首席技术官 Stephan Ewen 深入探讨了如何利用保存点功能进行流处理中的数据重新处理、错误修复、系统升级和 A/B 测试。本文将详细解释保存点的工作原理及其应用场景。 ... [详细]
  • 本文详细介绍了Java库中com.vividsolutions.jts.io.WKTWriter类的appendGeometryCollectionText()方法,并提供了实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 在进行Revit插件开发时,经常会遇到窗口被其他应用程序遮挡的问题。本文将介绍如何通过简单的代码调整,确保插件窗口始终保持在Revit主界面的最前端,提升用户体验。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
author-avatar
敬昇文军3546
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有