文章目录
- 标题 : Prometheus 二次开发课程入门:
- 起源: 根据戚博士整理讲解的资料整理的学习笔记,有兴趣的同学可以去系统学习下 -
-- 课程网址:https://bbs.amovlab.com/plugin.php?id=zhanmishu_video:video&mod=video&cid=43
- 课程介绍: 本课程偏重Prometheus项目中的基础知识和操作实践,适合项目入门者,购买课程后会定期安排线上答疑活动(语音交流,方便透彻!)
- 课程项目网址 : https://github.com/amov-lab/Prometheus
Prometheus全自主无人机开源软件平台
项目创始人介绍
- 戚煜华
- Prometheus开源项目创始人
- Ø 阿木实验室P系列无人机技术负责人
本科及博士毕业于北京理工大学,在自主无人机平台搭建及二次开发方面经验丰富 - 参与多项航空航天科研院所无人机相关项目
- 曾获得2017年国际微小型无人机比赛第三名
- 已在铂贝学院开设PX4自主无人机线下培训课程10余次,累计培训学员300余人次。 目前在International
Journal of Systems Science及Robotics and Autonomous Systems等SCI期刊上发表论文4篇,会议论文3篇。
主要研究方向为:无人机控制、自主避障
背景
多旋翼无人机发展历史:
l 早期(1907 - 1990):大型载人旋翼飞行器,军用为主
l 复苏期(1990-2004):MEMS普及,最早的消费级旋翼机
l 快速发展期(2005-2013):开源飞控成熟、关注的高校和公司越来越多
l 爆发期(2014-至今):2015年为“无人机元年”,市场规模达66.4亿元,无人机被广泛应用
多旋翼无人机的优势
① 结构简单,成本低
② 垂直起降能力
③ 空中悬停能力
④ 超强机动
多旋翼无人机的应用场景
人类难以达到、重复性强或工作环境比较恶劣
Ø 核心价值在于形成空中平台,结合其他部件扩展应用
Ø 常见的应用有:航拍、农业植保、电力巡检、物流运
输、警用执法、地质勘探、灯光表演、森林防火等
什么是自主无人机?
无人机的基本组成(航模)
l 机架
l 动力系统:电机、电调、桨、电池
l 控制系统:飞控板
l 通信系统:图/数传、遥控器、地面站
Ø 自主无人机
l 传感器:自主感知外部环境
l 机载电脑:更复杂的运算、给飞控提供上层控制指令
l 无人机比赛中所谓的自主无人机就是说:按下起飞键后,
不能进行任何操作,飞机自主完成任务,并能安全且准确
降落的无人
PX4生态系统
PX4飞行控制栈
- PX4是用于无人机的开源飞行控制软件。
- 该项目为无人机开发人员提供了一套灵活的工具,以共享技术,从而为无人机应用创建量身定制的解决方案。
- PX4提供了提供无人机硬件支持和软件堆栈的标准,从而允许生态系统以可扩展的方式
构建和维护硬件和软件。 - PX4 Github主页:https://github.com/PX4/Firmware (3.7k stars,410 contributor)
Dronecode 基金会
- PX4目前由Dronecode基金会管理,同时,Dronecode还
托管QGroundControl, MAVLink等开源项目。 - Ø Dronecode基金会是为开源无人机项目提供开源治理服务的
机构。基金会注册于美国,隶属于Linux基金会的非盈利机构,
支持PX4生态的可持续发展。 - Ø 它的作用是开源治理,开源项目和行业标准的传播、推广、
社区运营、以及举办每年的开发者大会。 - Ø Dronecode 基金会的会员来自于参与PX4生态系统建设的公
司和组织
PX4 - uORB消息机制
- PX4代码内部的一种消息形式,类似于ROS的topic
Ø 用于PX4各模块间传递消息
Ø 消息查询:Firmware/msg
PX4 - MAVLink模块
Ø MAVLink模块负责MAVLink相关的参数设置, MAVLink消息的解压和收取、 MAVLink消息的打包和发送。
这样使得我们如果想使用发过来的消息,直接去订阅相关的topic就行。
Ø 由于MAVLink消息封装还是较为复杂、解包也需要一定的时间,所以对于一些需要低延时的命令可以不走
MAVLink协议,直接通过数传给飞控发送一些消息也可以,就是自己要在飞控端写接收的模块
Ø 简单来讲,就是负责MAVLink消息的收发
Ø mavlink_main.cpp 主cpp
Ø mavlink_message.cpp 负责发送mavlink消息
Ø mavlink_receiver.cpp 负责接收mavlink消息