APM开发阅读
发布时间 - 2025-07-11 00:00:00 点击率:次我阅读apm的源码有两个主要目的:一是学习,了解飞控系统和大型项目的组织结构;二是为
了移植的需要,满足项目需求。近年来,少儿编程市场非常火热,许多厂商推出了相关的产品,但这些产品大多使用空心杯电机,导致动力不足,且扩展性有限。许多任务需要io或图像识别的支持。
因此,我在考虑使用APM裁剪版的飞控系统,结合空心杯电机和树莓派Zero(或其他设备),利用ROS、Mavlink等技术组装一个无人机。这只是一个初步的想法,目前还没有可供参考的现成方案,我也在进行这方面的尝试。
这是一款F4的飞控,价格大约在一百元左右。
这是十元的电调。
这是小桨叶。
如果移植成功,实际上也可以使用更便宜的MCU,但我更希望利用现有的生态系统。我认为,一个三百多元的无刷无人机也可以用于少儿教育,将高性能引入这一领域是一件有趣的事情。
如果需要更便宜的方案,ESP8266+MPU6050+4个MOS管,总共也不到二十元。
APM可以使用make编译,也可以使用一个名为WAF的工具进行编译,实际上WAF只是一个Python包,并没有引入新的编程语言。
APM的代码只有对直升机的详细解释,四轴飞行器的部分没有详细说明,但也可以参考。
这是四轴飞行器相关的Copter代码。
这个架构图非常清晰,帮助理解整个系统的结构。
阅读源码不仅需要关注细节,更需要对整体有一个宏观的理解。
硬件部分包括PX4和Linux变形板。
由于任务多样性,引入了操作系统。
这是我们关注的飞行代码部分。
硬件抽象层共享库、传感器、EKF算法等特殊代码飞控系统会通过MAVLink协议发送大量信息,如电池电量、姿态等,这些信息可以传输给高层应用、地面站以及机载计算机。
这是对上述内容的一个总结。
这是对上层应用的描述。
目录中的这个文件列出了当前所有的依赖。
这个目录中的文件是所有顶层项目共有的。
这是核心库。
这是传感器相关的部分。
这是其他库。
这是编译命令的示例,首先切换到库的位置,然后编译并上传。
如果安装了MAVProxy,可以执行以下命令查看输出:
https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html#mavproxy-downloadinstallwindows
这是安装MAVProxy的位置。
mavproxy.py --setup --master /dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00
这是执行MAVProxy的命令,使用 --setup 选项将MAVProxy置于原始串口模式,而不是处理后的MAVLink模式。
cd $ARDUPILOT_HOME # the top-level of an AruPilot repository./waf configure --board sitl./waf build --target examples/RCProtocolDecoder
这是用于环*的命令,用于RC协议解码。
./build/sitl/examples/RCProtocolDecoder -M quad -C
这是开始运行的命令。
# linux
# python
# windows
# 操作系统
# 工具
# python包
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站页面设计需要考虑到这些问题
如何快速生成凡客建站的专业级图册?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
5种Android数据存储方式汇总
详解Android——蓝牙技术 带你实现终端间数据传输
Laravel storage目录权限问题_Laravel文件写入权限设置
JavaScript如何实现音频处理_Web Audio API如何工作?
高防服务器租用如何选择配置与防御等级?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
文字头像制作网站推荐软件,醒图能自动配文字吗?
Android使用GridView实现日历的简单功能
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何在 React 中条件性地遍历数组并渲染元素
详解jQuery中基本的动画方法
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
微信小程序 input输入框控件详解及实例(多种示例)
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
JavaScript如何实现倒计时_时间函数如何精确控制
Laravel如何集成Inertia.js与Vue/React?(安装配置)
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Android GridView 滑动条设置一直显示状态(推荐)
如何在IIS中新建站点并解决端口绑定冲突?
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Python正则表达式进阶教程_复杂匹配与分组替换解析
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何快速辨别茅台真假?关键步骤解析
Linux系统命令中tree命令详解
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
php结合redis实现高并发下的抢购、秒杀功能的实例
微信小程序 wx.uploadFile无法上传解决办法
非常酷的网站设计制作软件,酷培ai教育官方网站?
iOS UIView常见属性方法小结
JavaScript数据类型有哪些_如何准确判断一个变量的类型
如何撰写建站申请书?关键要点有哪些?
EditPlus中的正则表达式 实战(1)
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
网站制作软件有哪些,制图软件有哪些?
如何用wdcp快速搭建高效网站?
如何自定义建站之星网站的导航菜单样式?
如何生成腾讯云建站专用兑换码?
音乐网站服务器如何优化API响应速度?
b2c电商网站制作流程,b2c水平综合的电商平台?
如何在VPS电脑上快速搭建网站?

