AcmeUav
码龄6年
关注
提问 私信
  • 博客:21,206
    视频:983
    22,189
    总访问量
  • 26
    原创
  • 509,163
    排名
  • 59
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-11-11
博客简介:

AcmeUav的博客

查看详细资料
个人成就
  • 获得15次点赞
  • 内容获得6次评论
  • 获得140次收藏
创作历程
  • 5篇
    2022年
  • 21篇
    2021年
成就勋章
TA的专栏
  • Uav
    24篇
兴趣领域 设置
  • 人工智能
    机器学习深度学习tensorflowpytorch
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

AcmeROS-2-ROS2架构

在前面的分享中,我们讲了在嵌入式设备中运行ROS2AcmeIot-3-在嵌入式设备中运行ROS2PX4中的ROS2桥接应用PX4-16-ROS2Bridge在AcmeGCS中支持ROS2AcmeGCS-18-支持ROS2我们在嵌入式设备、飞控与地面站软件中都应用ROS2作为通信框架,如图所示:在之后的分享中我们将分享一些关于ROS2的内容,在深入了解ROS2的细节或者开始使用ROS2前,大致了解它的框架有助于对ROS2有一个更清晰的了解。ROS从ROS1升级到ROS2
原创
发布博客 2022.05.28 ·
891 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

PX4-12-飞行任务框架

飞行任务指的是PX4的modules/flight_mode_manager组件,用于控制指令平滑。PX4的FlightTask框架设计还是比较有趣的,不论从软件架构还是控制算法方面,都是值得好好学习的代码框架。我们在 PX4-9-控制数据流 文章的控制数据流图中讲到了FlightTask,从图中可以发现FlightTask在PX4的控制流中发挥的作用。这里我们更加深入的分析以下FlightTask的框架。我们从类的继承关系和任务切换流程两方面来分析PX4的FlightTask框架。类的继承关系
原创
发布博客 2022.02.14 ·
976 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

AcmeIot-3-在嵌入式设备中运行ROS2

ROS2是作为第二代ROS,对ROS1进行了重大的优化,主要的特点有: 实现跨平台运行,可以运行在Linux、windows、Mac、RTOS,甚至没有操作系统的裸机 实现真正的分布式通信架构,去中心化,不再依赖于master节点 使用更加成熟可靠的DDS/RTPS作为底层通信框架,在通信的可靠性、稳定性和实时性上都更加出色 ROS1与ROS2的架构对比如图所示:既然ROS2可以运行在RTOS中,我们自然要动手玩一玩的。micro-ROS是ROS2运行在嵌入式设备中
原创
发布博客 2022.01.21 ·
1065 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

PX4-11-日志框架与常用日志消息

无人机开发调试,飞控日志是非常关键的部分。有一个笑话,说没有什么问题是一个日志不能解决的,如果有,那就再来一个。虽然是笑话,不过确是反映了飞控日志的重要性,那么这一篇我们来聊一下PX4的日志库。我们分两部分来讲 PX4日志库的实现原理 PX4常用的日志消息 实现原理PX4的日志库实现做得非常好,用户可以仅增加一行代码即可将自己需要的数据增加到日志中。因而这一部分对于大部分同学的作用不大,毕竟大多数开发者都是基于PX4的框架开发应用层或者算法层,底层大多情况不需要过于关
原创
发布博客 2022.01.11 ·
810 阅读 ·
3 点赞 ·
0 评论 ·
15 收藏

AcmeGCS-12-地图与任务规划优化

AcmeGCS一直在持续优化完善,这里给大家演示新的一些功能,地图和任务规划功能的优化。一些同学在试用AcmeGCS时反馈地图显示不够清晰明亮,地球的显示能不能更加美观一些。这里优化了地球的渲染效果,并优化了地图的加载方式。在软件启动时显示高清全球离线地图,优化全球地图的显示效果更加美观,并且显示出星空和太阳(动图显示效果不是很清晰)。在地图的支持上,可以在mapbox、高德和谷歌地图间切换,并可以选择是否显示路网图,地图的加载更加清晰明亮。任务规划功能也完善了一些细节,如:
原创
发布博客 2022.01.10 ·
338 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

再见2021,你好2022

时间很快,2021年即将过去,从8月初开始写这个公众号也已经有将近5个月时间。如第一篇文章 写在开始 所言,分享一些自己认为有意义的东西,给后来者或者正在Robot道路上奋斗的同行者。不知不觉已经写了有30多篇文章: PX4 10篇 AcmeGCS 11篇 AcmeIot 2篇 AcmeROS 1篇 Uav开发杂记 5篇 工欲善其事 4篇 这些文章在公众号的菜单中都能找到分类的链接。非常高兴能与同学们一起分享知识,在分享的同时我也学习了
原创
发布博客 2021.12.31 ·
249 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Uav开发杂记-5-如何跟踪开源飞控开发动态

作为最主流的开源飞控,APM/PX4的代码迭代非常之快,功能添加与框架优化一直都持续进行。有的时候可能你有一段时间没有去看源码,发现你熟悉的部分已经发生了重大的变化,而没有参与项目开发的大多数同学都并不了解优化的目的和思路。跟踪开源飞控的最新动态可以让我们了解最新的技术,学习更多有趣的知识。那么如何更好的跟踪开源飞控的最新研发动态,了解框架优化与代码更新的设计目的呢?飞控源码与git直接阅读源码是最直接的方式了,也是大多同学了解和学习开源飞控的主要方式。不过结合一些工具可以帮助我们了解功
原创
发布博客 2021.12.30 ·
248 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Uav开发杂记-4-无人机开发的C-C++

无人机的软件开发主要使用C/C++开发,APM和PX4的应用层开发更多的使用C++开发。作为叠代完善了非常多年的比较大型的开源飞控项目,其代码框架对于刚开始接触的新手而言是比较复杂的。一些同学私信问我一些无人机相关的问题,很多是关于飞控的代码框架,语法问题。大多数无人机飞控的开发同学都不是专业的软件开发,甚至只学习过C开发没有专门学习过C++,所以在看APM/PX4时,面对复杂的继承关系、容器和模板、学习比较吃力。而在自己动手加一些代码时出现各种奇怪的问题,比如编译报错不知道如何定位,运行崩溃面对一
原创
发布博客 2021.12.23 ·
2265 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

PX4-10-系统启动流程

很多同学在开始接触PX4的时候,遇到的第一个问题是这个程序是如何启动的,main函数在哪里。这一篇我们简单的聊一下PX4的启动流程。初学c语言对RTOS不是很熟悉的同学对main函数都有着不一般的执着,阅读代码时总是会去找程序的main函数,然后从入口处开始阅读。实际上我们接触的所有软件程序,使用到的main函数都不是程序实际开始运行的入口,只是用户程序的入口而已。从这个角度而言,PX4的每个任务的main函数都是该任务的入口。这一篇我们分析一下PX4是如何从单片机的启动汇编入口引导到应用任务启
原创
发布博客 2021.12.20 ·
771 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

AcmeGCS-10-首个测试版本

AcmeGCS开发已经有一段时间,在先前的分享中给大家演示了AcmeGCS持续开发的一些功能。AcmeGCS-9-目标框选跟踪AcmeGCS-8-目标识别检测AcmeGCS-7-吊舱视频流AcmeGCS-6-构建环境场景AcmeGCS-5-模拟国庆阅兵AcmeGCS-4-模拟空间站测控AcmeGCS-3-3D航线规划使用3D地面站(AcmeGCS)的编队飞行AcmeGCS-1-多无人平台态势显示控制AcmeGCS设计的目标是一款集环境态势呈现与多无人平台状态显示控制为
原创
发布博客 2021.12.07 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PX4-9-控制数据流

在之前的分享中,我们主要讲了PX4的驱动和系统框架,这一篇我们讲一下PX4的控制框架。PX4的控制系统构建还是比较复杂的,相对于APM基本线性的执行流程,PX4各个控制模块是离散的,耦合性低,导致代码比较复杂,理解比较困难。那么如何更加清晰的去理解PX4的控制结构呢?我们可以从数据流的角度把各个控制模块连接起来,从系统的角度把握整个框架。在前面的分享 PX4-3-uORB 我们讲到了PX4的消息总线uORB,它贯穿于PX4所有模块,我们这里也按照控制模块的uORB数据流来看PX4的控制系统是如何
原创
发布博客 2021.11.30 ·
446 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

PX4-8-UAVCAN与开源飞控

这一篇我们来聊一下PX4和APM使用的CAN通信协议框架 UAVCAN。为什么聊这个话题呢?最近PX4固件做了一个关于UAVCAN的更新,调整了src/drivers/uavcan/libuavcan子模块的仓库,并且启用了新的名称为dronecan和新的主页 dronecan.org。commit id:c73a1b4c:update UAVCAN-v0 dsdl to DroneCAN借着这个更改我们来聊一下UAVCAN的一些事情。关注PX4项目进展的同学可能会发现,从v1.12版本
原创
发布博客 2021.11.27 ·
1377 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

PX4-7-飞控参数

参数是PX4飞控中掉电保存的变量,用于存储飞控的设置、校准系数等数据。PX4有一套完善的参数框架,对于用户而言只需要非常简单的几个语句就可以完成参数的添加、读取和写入操作。这一篇我们简单聊一下PX4的参数机制,这部分内容不是所有同学都会用的到,不过有一个框架性的认识对于熟悉PX4的框架也有一定的帮助。我们以1.11.3版本为例,简单的描述一下PX4的参数操作流程:代码构建在编译构建时PX4执行src/lib/parameters/CMakeLists.txt 中脚本文件 px_proce
原创
发布博客 2021.11.17 ·
910 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

PX4-6-串口设备驱动

上一篇我们讲了PX4的SPI/IIC设备驱动,现在讲一下PX4的串口设备。PX4的串口设备驱动框架比SPI/IIC设备简单不少,使用了两种底层实现方式:一种是系统自带的标准字符设备接口,一种是直接使用mcu的底层资源通过自行配置中断和DMA的方式实现的串口收发。使用系统接口PX4使用Nuttx的标准的字符设备接口,通过标准接口函数open、close、read、write、ioctl等函数操作。熟悉linux的同学对这个应该不陌生,通过看linux的驱动编程书籍对Nuttx的串口编程也同
原创
发布博客 2021.10.12 ·
924 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

PX4-5-SPI-IIC设备驱动

在之前的分享中,我们聊了PX4的通信框架和任务调度框架,现在我们讲一下PX4的设备驱动。PX4支持很多种设备,根据通信方式的不同大致分为:SPI/IIC设备、串口设备、IO设备、CAN设备。这一篇讲一下PX4的SPI/IIC设备。PX4每个版本中设备驱动都有一些明变化,我们以PX4-1.11.3版本为例,l3gd20陀螺仪设备类的继承关系图如图所示:对于IIC设备与其类似,以磁罗盘ist8310为例可以发现,SPI和IIC设备都继承了I2CSPIDriver这个类,而这个类继承自
原创
发布博客 2021.10.12 ·
590 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

PX4-4-任务调度

PX4所有的功能都封装在独立的模块中,uORB是任务间数据交互和同步的工具,而管理和调度每个任务,PX4也提供了一套很好的机制,这一篇我们分享PX4的任务调度机制。我们以PX4 1.11.3版本为例PX4的任务调度方式有两种: 任务 (Tasks): 模块在它自己的任务中运行, 具有自己的堆栈和进程优先级(这是更常见的方法)。 工作队列 (Work queues):模块在共享任务上运行, 这意味着它没有自己的堆栈。多个任务在同一堆栈上运行, 每个工作队列只有一个优先级。 工作队列
原创
发布博客 2021.09.21 ·
1272 阅读 ·
3 点赞 ·
2 评论 ·
17 收藏

工欲善其事-4-绘制程序流程图

这是工具系列的第四篇,本来最近没有想再分享这个系列,不过最近朋友给我推荐了一个绘制流程图的神器,忍不住推荐给大家。绘制程序流程图、时序图、甘特图一直是我比较头疼的问题,一直使用viso,用着一直不是很顺畅: 默认框图不好看,每次需要手动去调颜色、字体等(应该是我不太会用) 需要仔细拖动框图对齐,虽然后自动对齐,不过还是很麻烦 添加到markdown的笔记中很麻烦,需要保存图片再加载 ubuntu没有找到比visio好的绘图软件,只能用双系统解决 没办法源码管
原创
发布博客 2021.09.21 ·
607 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

PX4-3-uORB

uORB(Micro Object Request Broker,微对象请求代理器)是PX4中非常重要且关键的一个模块,用于各个模块之间的数据交互。实际上uORB是一套跨「进程」 的IPC通讯模块。在PX4中, 所有的功能被独立以进程模块为单位进行实现并工作。而进程间的数据交互就尤为重要,必须要实时高效。uORB多个进程通过共享内存的方式,进行数据交互和共享。进程通过命名的「总线」交换的消息称之为「topic」(topic),在PX4中,一个topic仅包含一种消息类型。每个进程可以「订阅」或者「发布.
原创
发布博客 2021.09.11 ·
1568 阅读 ·
0 点赞 ·
1 评论 ·
10 收藏

Uav开发杂记-1-无人机软件开发的技能树

最近在思考怎么写后面的分享,虽然大多的分享都已经有对应的笔记,但是把零散的笔记整理的有条理、逻辑清晰也是有一定难度的。有已经规划好的系列,比如工具系列
原创
发布博客 2021.09.10 ·
642 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

PX4-2-系统架构浅析

PX4软件架构图是PX4官方开发者网站中的一张总体框架图,相信很多同学都看过,我们今天围绕这张图作一下简单的分析。如果希望仔细研究PX4源码的同学应该仔细阅读这一张图,它包含了所有的核心模块,以及它们的关系。整个PX4源码分为几个部分 消息总线 uORB PX4软件架构的核心思想就是去耦合,所以消息中间件(uORB)处于整个框架图的中心位置。这样的设计是基本所有的大型软件系统的通用设计,比如ROS、ROS2。关于uORB详细分析,将在下一讲中详细描述。 基础服务 任
原创
发布博客 2021.09.06 ·
896 阅读 ·
0 点赞 ·
0 评论 ·
17 收藏
加载更多