-
ArduPilot-1-ArduPilot还是PX4?
在前面的分享 PX4-1-开源飞控项目 中,我们简单分享了一些比较知名的开源飞控项目,对ArduPilot也做了简单的介绍。ArduPilot与PX4是目前最为成熟完善的开源飞控项目,两个项目的系统架构差异比较大,很多同学也会问我应该学习哪一个比较好。在PX4系列分享中,我们已经更新了19篇文章,对PX4的 系统架构 消息机制(uORB) 任务调度 设备驱动 日志系统 仿真系统 混控 ...…
-
AcmeGCS-21-原生ROS2支持
在前面的分享中,我们介绍了在AcmeGCS-18-支持ROS2AcmeGCS采用Micro-XRCE-DDS-Client中间件的方式接入ROS2网络,与PX4的MicroDDS组件采用相同方法PX4-19-MicroDDS这种方式的优点是轻量级,对部署的平台要求低,不需要ROS2环境支持即可运行。缺点也很明显, 只能进行消息的订阅和发布,不能使用ROS2丰富的软件包 Micro-XRCE-DDS是针对嵌入式环境设计,对消息包的大小也有限制,对于一般的消息订阅收发没...…
-
PX4-19-MicroDDS
PX4在10月20号对MicroDDS模块做了较大的优化提升,并且删除了原有的micrortps模块。Pull request为:https://github.com/PX4/PX4-Autopilot/pull/20227commit为:cea185268Commit: cea185268e133ad22418fb9990f9c19df6e30681Parents: e211e0ca0e565b6ff02615ee912fd101e3d2036aAuthor: Daniel Agar &...…
-
PX4-18-混控动态分配
在之前的文章中我们讲了基于PX4 1.12版本讲解了PX4的混动框架,在最新的1.13版本中新加入了动态混控,允许用于自定义复杂的构型。相关修改说明:https://github.com/PX4/PX4-Autopilot/commit/089c962d9208b3616ba505ab927fa399554035d4这一篇我们介绍一下PX4的动态混控框架在QGC的帮助文档中,可以找到动态混控的配置方法:http://docs.px4.io/main/zh/config/actuators....…
-
PX4-17-执行机构驱动
在之前的文章中我们讲了PX4的混动框架,控制信号由混控器输出执行机构的控制信号后,交由执行机构驱动器。PX4支持多种驱动器类型,如fmu的pwmout驱动、io mcu驱动、dshot、DroneCAN(UAVCAN)、PCA9685等。我们之前的分享中,以PX4 1.12版本为基础,今年6月发布的最新版本的1.13版本在混控和执行机构驱动做了较多的修改,比较重要的修改修改有 取消io单片机的mixer功能,全部由fmu实现mixer 相关修改说明:https://gith...…
-
AcmeROS-2-ROS2架构
在前面的分享中,我们讲了在嵌入式设备中运行ROS2 AcmeIot-3-在嵌入式设备中运行ROS2PX4中的ROS2桥接应用 PX4-16-ROS2Bridge在AcmeGCS中支持ROS2 AcmeGCS-18-支持ROS2我们在嵌入式设备、飞控与地面站软件中都应用ROS2作为通信框架,如图所示:在之后的分享中我们将一些关于ROS2的内容,在深入了解ROS2的细节或者开始使用ROS2前,大致了解它的框架有助于对ROS2有一个更清晰的了解。ROS从ROS1升级到ROS2对框架进行了彻底的重...…
-
AcmeGCS-19-高空消防指控应用
-微信公众号的视频演示-在前面的分享中,我们分享了很多AcmeGCS的功能,AcmeGCS一直在持续的开发迭代,添加一些有意思的功能。AcmeGCS设计初衷就是一款跨平台3D可视化地面指控软件,结合多年无人系统开发经验,在设计之初的架构设计考虑了很多扩展性和应用方向。在后续中会分享一些AcmeGCS在不同的特种行业的应用演示,探索AcmeGCS在不同行业的应用。这一篇我们演示AcmeGCS在高空消防无人机地面指控中的应用,通过AcmeGCS的3D可视化能力,提升视距外操作无人机高空作业的可...…
-
AcmeGCS-18-支持ROS2
在前面的分享中,我们介绍了在嵌入式设备中运行ROS2PX4的ROS2BridgeROS2、AcmeIot、PX4、AcmeGCS通过DDS互联实现实时可靠通信这一篇我们分享一下AcmeGCS实现DDS接口,与ROS2通信的框架AcmeGCS通过Link抽象层管理不同的连接实现,DDS/ROS2作为Link层接入到AcmeGCS中,实现与应用层的隔离。如下图所示:在DDS的实现上,AcmeGCS参考了micro-ROS的结构,实现AcmeGCS的DDS接口,下图为micro-ROS的结构图与...…
-
AcmeGCS-17-飞行器模型与轨迹显示优化
-微信公众号的视频演示-–我的微信公众号,文章同步更新,欢迎关注。…
-
PX4-16-ROS2Bridge
最近在给AcmeGCS添加ROS2的接口支持,使AcmeGCS可以直接与ROS2节点通信,显示控制ROS2机器人。为了开发AcmeGCS ROS2Bridge功能研究了一下PX4的ROS2Bridge模块,与同学们分享一下PX4的ROS2桥接功能。不知道同学们是否开始使用ROS2进行机器人应用的开发,或者使用ROS2进行PX4记载任务的开发。ROS2在2015年发布首个测试版本,目前也已经发展了很多年,功能和稳定性都已经比较不错。最近开始全面拥抱ROS2,很多开发逐渐由ROS转到ROS2中...…
-
AcmeUav-1-基于4G|5G的无人机编队框架
在 AcmeIot-5-4G远程控制 文章中我们分享了一个4G/5G模块的设计,可以通过4G/5G网络实现对无人机的远程控制。基于4G/5G网络我们也可以实现一个低成本,远距离的无人机编队方案。我们实现一个无人机编队中比较常用的中心化编队方案,分布式的编队对数据链的要求比较高,需要网状的拓扑结构,数据链随着节点的增多延时和可靠性都不是特别稳定,而且成本比较高。对于固定翼编队,远距离的数据链的成本更高。这里分享一个使用4G/5G网络和短距离一对多中心式数据链的低成本编队方案。如下图所示:Ac...…
-
PX4-15-混控框架
这一篇我们分享一下PX4的混控框架 mixer。在开始前需要说明,PX4在v1.12版本(不包括)以后(当前的master分支),引入了新的控制分配模块,用于代替我们今天要分享的mixer。不过控制分配模块还没有正式发布,在稳定版本中能使用的还是mixer,学习mixer可以帮助我们了解PX4是如何把控制通道的输出分配到每个执行通道中的。下图是mixer的大致结构框图:PX4的控制通道输出主要有4组 Control Group, actuator_controls_0:飞控的主要...…
-
PX4-14-HITL仿真框架
在上一篇 PX4-13-仿真系统 分享中我们聊了PX4的的几种仿真方式,SITL、HITL、SIH。这一篇我们详细说一下PX4中的HITL仿真框架。上图是PX4开发者文档 ( https://docs.px4.io/master/zh/simulation/hitl.html )中的HITL仿真结构框图,里面包含了PX4飞控硬件、仿真器(gazebo等)、地面站、机载计算机API。从数据流上可以看出为了简化与飞控硬件的接线,仅通过USB与飞控相连接,地面站和机载计算机与飞控的数据流通过仿真...…
-
AcmeGCS-16-固定翼飞行
-微信公众号的视频演示-–我的微信公众号,文章同步更新,欢迎关注。…
-
AcmeGCS-15-编队飞行
-微信公众号的视频演示-–我的微信公众号,文章同步更新,欢迎关注。…
-
AcmeIot-5-4G远程控制
在无人机与地面站的数据链路中,传统的数传链路往往距离较近,4G是进行无人机远程控制非常好的连接方式。AT指令是4G/wifi等通信模组中使用非常广泛的通信协议。AT指令虽然很简单,不过MCU与4G模块的通信还是蛮头疼的,AT指令很多,交互繁杂,导致代码可读性很差,经常写了一段时间后再看就忘记时序了。最后代码成为祖传代码,基本不能做修改,可能稍微的修改都会导致很多时序逻辑出现问题,需要重新测试调整。最近稍微花了一点时间重新梳理了一下,重构了AT设备框架,提高了代码的可读性可维护性。这里分享一...…
-
AcmeGCS-14-多无人机航线飞行
-微信公众号的视频演示-–我的微信公众号,文章同步更新,欢迎关注。…
-
AcmeGCS-13-高精度机场模型下的3D飞行
-微信公众号的视频演示-卫星地图的精度和分辨率有限,将地图放大到飞机的尺度总是不够清晰。在实际应用中我们常常在一个确定的场地进行飞行作业,如机场、试飞场,场地有高精度的数字建模模型或者倾斜摄影等测绘模型。AcmeGCS可以加载高精度高分辨率数字模型,进行3D可视化飞行显示与控制。视频中演示了在北京南苑机场卫星地图的基础上叠加南苑机场的高精度高分辨率数字模型,实现清晰的3D环境场景呈现。AcmeGCS可以流畅的实现3D机场的呈现,在数字机场模型的上进行3维航线的显示编辑,实现无人机的显示控制...…
-
AcmeIot-4-Nuttx系统启动流程
在AcmeIot前面的几篇分享中,给大家分享了基于Nuttx系统的几个有趣的应用,如在esp32上运行nuttx做了一个wifi网络下的ROS节点和ROS2。在Pixhawk飞控硬件上编译运行Nuttx系统。Nuttx是一个非常有趣的RTOS,深入学习或者玩转这个系统,可以帮助我们学习很多关于操作系统、IOT方面很多有趣的知识,也能开发一些有意思的小东西。这个系列我们分享一些关于Nuttx、RTOS以及IOT方面相关的知识,感兴趣的同学可以持续关注。这一篇我们先聊一下Nuttx的系统启动流...…
-
PX4-13-仿真系统
不知不觉PX4系列已经更新了有十几篇,往期内容可以在公众号的菜单中点击OPENUAV/PX4中阅读。我们聊了PX4的代码框架和一些基础组件,可以基于PX4开发一些飞控的外设支持和功能。飞行测试是验证飞控功能的最直接的方式,不过飞行的准备是比较麻烦的,要检查飞机结构、桨叶、电机、电调、GPS、遥控器等等设备的状态,还需要一定的飞行经验和水平。如果是比较复杂的功能逻辑,还有一定的危险性。在飞行测试之前,飞行仿真是我们验证飞控功能的很好的方式,它可以帮我们先验证算法和功能逻辑是否正确,是一种低成...…