多旋翼无人机二次开发 E360开发:Pixhawk整体构架认识 多旋翼无人机二次开发(现代职业)2_E360开发1Pixhawk整体架构的认识.docxVIP

多旋翼无人机二次开发 E360开发:Pixhawk整体构架认识 多旋翼无人机二次开发(现代职业)2_E360开发1Pixhawk整体架构的认识.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 Pixhawk整体架构的认识 Pixhawk自动驾驶仪软件可分为三大部分:实时操作系统、中间件和飞行控制栈。 1.1、NuttX实时操作系统 Nuttx 是一个小型实时嵌入式开源操作系统(RTOS),它有一个小巧的内核可以在小型(8位)至中型(32位)嵌入式微控制器上运行。Nuttx遵循POSIX和ANSI标准运行。在pixhawk中Nuttx操作系统负责底层的任务调度和提供可移植操作系统接口(如printf(), threads,/dev/ttyS1,open(),write(),poll(),ioctl())等。 1.2、Pixhawk飞行控制栈 PX4中间件运行于操作系统之上,提供设备驱动和一个微对象请求代理(micro object request broker,uORB)用于驾驶仪上运行的单个任务之间的异步通信。Px4被3DR开源后,整个代码结构被?改,原先的系统被摒弃,进而采用Nuttx,但是核心思想没变-为了简化开发而采用牺牲部分效率的消息传递机制,这是Px4 与ArduPilot 最本质的差别。 1.3、Pixhawk飞行控制栈 飞行控制栈可以使用PX4的控制软件栈,也可以使用其他的控制软件,如APM:Plane、APM:Copter,但必须运行于PX4中间件之上。 此部分又可分为 ◆ 决策导航部分:根据飞行器自身安全状态和接收到的命令,决定工作于什么模式,下一步应该怎么做。 ◆ 位置姿态估计部分:根据传感器得到自身的位置和姿态信息,此部分算法含金量最高,算法也相当多。 ◆ 位置姿态控制部分:根据期望位置和姿态设计控制结构,尽可能快、稳的达到期望位置和姿态。 ◆ 控制器输出部分:mixer和执行器,pwm限幅。 图1.1 飞控控制整体流程 图1.2 飞控控制详细流程 图1.3 飞控整体架构 Pixhawk的算法在Firmware/src/modules,驱动在Firmware/src/drivers px4原生固件模块列表: ◆ 系统命令程序 ● mavlink –通过串口发送和接收mavlink信息 ● sdlog2 –保存系统日志/飞行数据到SD卡 ● tests –测试系统中的测试程序 ● top –列出当前的进程和CPU负载 ● uORB – 微对象请求代理器-分发其他应用程序之间的信息 ◆ 驱动 ● mkblctrl --- blctrl电子模块驱动 ● esc_calib --- ESC的校准工具 ● fmu --- FMU引脚输入输出定义 ● gpio_led --- GPIO LED驱动 ● gps --- GPS接收器驱动 ● pwm --- PWM的更新速率命令 ● sensors --- 传感器应用 ● px4io --- px4io驱动 ● uavcan --- uavcan驱动 ◆ 飞行控制的程序 ◆ 飞行安全和导航 ● commander --- 主要飞行安全状态机 ● navigator --- 任务,失效保护和RTL导航仪 ◆ 估计姿态和位置 ● attitude_estimator_ekf –基于EKF的姿态估计 ● ekf_att_pos_estimator –基于EKF的姿态和位置估计 ● position_estimator_inav–惯性导航的位置估计 ◆ multirotor姿态和位置控制器 ● mc_att_control–multirotor姿态控制器 ● mc_pos_control –multirotor位置控制器 ◆ fixedwing姿态和位置控制器 ● fw_att_control –固定翼飞机的姿态控制 ● fw_pos_control_l1 –固定翼位置控制器 ◆ 垂直起降姿态控制器 ● vtol_att_control –垂直起降姿态控制器 1.3.1、决策 、任务决策 以任务为导向,任务决策主要决定多旋翼下一步“去哪儿”,进一步,需要规划路径,使得整个过程能满足诸如:飞向航路点并沿航线飞,以及飞向航路点并避障等要求。 健康管理和失效保护 以安全为导向, 失效保护主要决定多旋翼下一步“去哪儿”。多旋翼飞行器在飞行前或飞行中,可能会发生通信故障、传感器失效和动力系统异常等,这些意外会直接导致控制任务无法完成。这一部分包括安全问题的介绍、机载设备的健康评估、机载设备的健康监测、失效后的保护建议。完成任务模式切换,同时考虑电池电量、GPS等传感器是否正常工作等信息。 传感器校正在commander里面。 对应的程序在:Firmware/src/modules/commander Firmware/src/modules/navigator 图1.4 飞行模式图解 1.3.2、位置控制和姿态控制 1.3.3、PWM输出 、Mixer 混合器输出定

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档