- 1. Introduction
- 2. Generalized Aerial Robots 广义空中机器人
- 3. Research 主要研究方向
- 4. Tech stack 技术栈
- 5. Labs and Homepages
空中机器人是一类具有飞行能力的机器人,其学习与研究涉及到多个学科,因此从0到1的学习曲线较长。
为了方便大家学习与研究空中机器人,我们整理了一个空中机器人学习的知识体系,欢迎大家补充与交流。
为什么要构建这样的大纲(每部分的作用):
- Generalized Aerial Robots 广义空中机器人 部分主要介绍空中机器人的构型与分类,做一个科普和初步了解
- Research 研究方向 部分主要放一些新工作和经典文章
- Tech Stack 技术栈 部分主要放一些相关的技术与工具,介绍学习路线和好用的小工具,repo等
如何贡献(非repo协作者):
- fork本项目,创建你自己的分支branch
- 在你的分支上进行修改,别忘了把贡献及你想留下的信息放到Contributors中
- add, commit, push
- 创建一个pull request到主分支
对于repo的协作者,欢迎直接在主分支上进行修改。
从构型出发,我们首先从空中机器人本体进行介绍。
这里会对多旋翼进行一个简单介绍,所以不会罗列详细的工作,更接近于科普。
多旋翼是空中机器人中最常见的类型,通常由多个旋翼组成。 以下会介绍多旋翼的几种分类方式,做到尽可能地独立,但仍然无法避免交叉。
这里准确想表达的是变形的能力(morphing/deformable),虽然以多旋翼为基础的空中机器人构型各式各样,但可以将其分为能够变形和不能变形两大类。
列举几个工作(若作为科普,可以直接看YouTube):
- Design, Modeling, and Control of an Aerial Robot DRAGON: A Dual-Rotor-Embedded Multilink Robot With the Ability of Multi-Degree-of-Freedom Aerial Transformation,[YouTube],ICRA 2018,Dragon Lab,多关节可变形一家独大
- Design and Control of a Passively Morphing Quadcopter, [YouTube],ICRA 2019,HiPeRLab,可变形四旋翼
- Biomimetic Morphing Quadrotor Inspired by Eagle Claw for Dynamic Grasping, TRO 2024,IRMV Lab,仿生变形四旋翼
- Ring-Rotor: A Novel Retractable Ring-Shaped Quadrotor With Aerial Grasping and Transportation Capability, [bilibili], Fast Lab ZJU, “伸缩”四旋翼;后续的工作Shape-Adaptive Planning and Control for a Deformable Quadrotor,[bilibili],submitted to IROS 2025,Fast Lab ZJU,变形四旋翼的规划
- The Foldable Drone: A Morphing Quadrotor That Can Squeeze and Fly, RAL 2018, RPG UZH
另外bi-copter的工作:
- Gemini II: Design, Modeling, and Control of a Compact Yet Efficient Servoless Bi-copter, [YouTube], TMECH 2022, MaRS Lab HKU
多见于跨空气-水-地面(结合)介质的空中机器人。
- Toward a gliding hybrid aerial underwater vehicle: Design, fabrication, and experiments, JFR 2022, SJTU,“哪吒III(垂起固定翼式)”海空跨域无人航行器
- Miniature deep-sea morphable robot with multimodal locomotion, Science Robotics 2025, BUAA, 文力,丁希仑,虽然是水下多模态,但太大佬了
- Design, Modeling, and Control of a Quadruped Robot SPIDAR: Spherically Vectorable and Distributed Rotors Assisted Air-Ground Quadruped Robot, [YouTube], RAL 2023, Dragon Lab,飞行与爬行模态,Multi-Modal Locomotion也是他们的研究方向之一
- Skater: A Novel Bi-Modal Bi-Copter Robot for Adaptive Locomotion in Air and Diverse Terrain, [bilibili], RAL 2024, Fast Lab ZJU,飞行与滚动模态;以及之前的Model-Based Planning and Control for Terrestrial-Aerial Bimodal Vehicles with Passive Wheels, [bilibili]
- DoubleBee: A Hybrid Aerial-Ground Robot with Two Active Wheels, IROS 2023, AirLab CMU
以四旋翼无人机举例,传统的构型是欠驱动的,即只有四个控制输入(四个电机),而有六个自由度(x、y、z、roll、pitch、yaw)。
全驱动则可以通过改变电机位姿或其他方法来实现。
- Fully Actuated Multirotor UAVs: A Literature Review, RAM 2020
- The Voliro Omniorientational Hexacopter: An Agile and Maneuverable Tiltable-Rotor Aerial Vehicle, RAM 2018
- FLOAT Drone: A Fully-actuated Coaxial Aerial Robot for Close-Proximity Operations [Website], [bilibili] submitted to IROS 2025, Fast Lab ZJU, 解决气流反作用力
多旋翼+刚体/灵巧/软体臂的方案就很多了,以下列举一些:
- Past, Present, and Future of Aerial Robotic Manipulators, TRO 2022, Antonio Franchi
- AeCoM: An Aerial Continuum Manipulator With IMU-Based Kinematic Modeling and Tendon-Slacking Prevention, TSMC 2023, ArcLab HKU, 灵巧臂
- A dexterous and compliant aerial continuum manipulator for cluttered and constrained environments, Nature 2025, ArcLab 2025, 灵巧臂“会飞的象鼻”
- A Compact Aerial Manipulator: Design and Control for Dexterous Operations, JIRS 2024, BUAA 郭雷组, Liu_Qianyuan [bilibili],Zeshuai Chen,自研飞控,manipulator设计,抗扰控制,灵巧操作
- Millimeter-Level Pick and Peg-in-Hole Task Achieved by Aerial Manipulator, TRO 2023, BUAA 郭雷组
自主飞行包含感知,规划与控制等方面的工作。如果粗糙地将其分类,可以分成基于优化的和基于学习的两大类。其中,基于优化的往往采用前端+后端的方法,而基于学习的则各式各样。
近期的工作:
- Safety-assured high-speed navigation for MAVs, Science Robotics 2025, MaRS Lab HKU
- Flying on Point Clouds with Reinforcement Learning, ArXiv 2025, Fast Lab ZJU, 对PCL做处理用RL
- MAVRL: Learn to Fly in Cluttered Environments With Varying Speed, MAVLab 2025 TUDelft, varying speed(以致扩展到accel等参数)是一个很重要的点,记得高飞老师也有几篇类似的工作
- Flying in Highly Dynamic Environments With End-to-End Learning Approach, RAL 2025, ArcLab HKU, 基于RL,可动态场景
- RESC: A Reinforcement Learning Based Search-to-Control Framework for Quadrotor Local Planning in Dense Environments, [code], SJTU, 基于RL的局部规划器,对ESDF做处理提取低维obstacle info
- Seeing Through Pixel Motion: Learning Obstacle Avoidance from Optical Flow with One Camera, RAL 2025, SJTU, differential的idea,dual optical flow作为输入
- NavRL: Learning Safe Flight in Dynamic Environments, [code], [video], RAL 2025, CMU,基于强化学习的自主飞行,控到速度,基于Issac Sim
- You Only Plan Once: A Learning-Based One-Stage Planner With Guidance Learning, [code], [video], RAL 2024, TJU
基于优化的工作:
- Minimum snap trajectory generation and control for quadrotors, ICRA 2011, Vijay Kumar, UPenn,最早的轨迹规划工作之一,开山之作,提出四旋翼的微分平坦特性,可以用 x,y,z,yaw 及其导数来推导出12个量,因此轨迹多以x,y,z,yaw为主。
- Continuous-time trajectory optimization for online UAV replanning, IROS 2016, ASL ETH,提出了基于梯度的轨迹规划方法,后续的工作也都在这个基础上进行改进。
- 可以选择性地跳过一些基于gradient和Safe Flight Corridor的工作,直接看第一个标准优雅的规划器Fast-Planner的第一版,Robust and Efficient Quadrotor Trajectory Generation for Fast Autonomous Flight, RAL 2019, HKUST Aerial Robotics Group;之后又有了第二、三版文章,分别聚焦于topological planning和perception-aware,Robust Real-time UAV Replanning Using Guided Gradient-based Optimization and Topological Paths, ICRA 2020; RAPTOR: Robust and Perception-Aware Trajectory Replanning for Quadrotor Fast Flight, TRO 2021
- ESDF free的EGO-Planner: An ESDF-Free Gradient-Based Local Planner for Quadrotors, RAL 2021
- 最后到时空联合规划[minco], Geometrically Constrained Trajectory Optimization for Multicopters, TRO 2022, Fast Lab ZJU,提出了基于几何约束的轨迹优化方法,解决了多旋翼的时空联合规划问题。
我了解到的主要是 Prof. Davide 和 高飞老师的工作:
Davide 的 Agile flight 和 Racing 有点交叉,主要基于优化,RL及differential做:
- rpg research: Agile Drone Flight and rpg research: Drone Racing,可以直接关注他们的research发布页,也可以关注 publicaitons 和 Davide 的 Google Scholar。
- Environment as Policy: Learning to Race in Unseen Tracks, ICRA 2025, one single racing policy efficiently learns to race in diverse and challenging tracks
- Student-Informed Teacher Training, ICLR 2025 spotlight, 简称ST训练,与BC&DAgger对比,虽然在racing上没那么多实验涉及,但很有意思的工作
- Dream to Fly: Model-Based Reinforcement Learning for Vision-Based Drone Flight, vision+RL
- 中间的一些工作这里不详细介绍了,直接看rpg research: Agile Drone FLight,比如AC-MPC,MPCC++等,都是很好的工作,racinger们可以直接参考。
- Autonomous Drone Racing: A Survey, TRO 2024, racing survey
- Reaching the limit in autonomous racing: Optimal control versus reinforcement learning, Science Robotics 2023, 不知道有多少人是因为Yunlong的这篇SR开始关注RL/learning与racing/agile flight的结合,这篇文章中论证的a better goal是很多面临“为什么要使用RL”时可以回答的一个问题。
- Champion-level drone racing using deep reinforcement learning,以及这篇被广大公众号/自媒体转载的Nature文章
- Learning Perception-Aware Agile Flight in Cluttered Environments, 但其实 Yunlong 还做了很多其他的工作,在类似任务下,Learning Minimum-Time Flight in Cluttered Environments
- Learning High-Speed Flight in the Wild
高飞老师则是model-based,到与learning结合:
- Unlocking aerobatic potential of quadcopters: Autonomous freestyle flight generation and execution, Science Robotics 2025, [bilibili],先拿这篇SR镇楼,三年之作
- Automatic Generation of Aerobatic Flight in Complex Environments via Diffusion Models, [bilibili], 也开始diffusion了(diffusion policy+drone有很多做了的和在做的工作)
- Fast-Racing: An Open-Source Strong Baseline for SE(3) Planning in Autonomous Drone Racing, RAL 2021, [bilibili]
todo
todo
- RACER: Rapid Collaborative Exploration With a Decentralized Multi-UAV System, [code], TRO 2023, 周指导也一直在做这方面的工作
涉及到编队,协同飞行等:
- Swarm of micro flying robots in the wild,Science Robotics 2023, Fast Lab ZJU, 即使你不做无人机,可能都听说过这篇
- Primitive-Swarm: An Ultra-lightweight and Scalable Planner for Large-scale Aerial Swarms, TRO 2025, [bilibili]
- EGO-Swarm: A Fully Autonomous and Decentralized Quadrotor Swarm System in Cluttered Environments, ICRA 2021, [bilibili]
- Distributed Swarm Trajectory Optimization for Formation Flight in Dense, ICRA 2022, [bilibili]
空中机器人的状态估计问题在于通过传感器观测数据和控制输入,在噪声干扰下推断机器人位姿、环境特征位置等。SLAM技术中,机器人不仅需要实时定位自身位姿,还需同步构建环境地图。
根据传感器类型来划分:
- 激光SLAM(激光雷达,有机械式和固态式激光雷达)
- Zhang, J., & Singh, S. (2014). LOAM: Lidar Odometry and Mapping in Real-time. Robotics: Science and Systems (RSS) 经典的机械式激光雷达算法,将激光雷达里程计与建图分离的框架。
- Shan, Tixiao, and Brendan Englot. "Lego-loam: Lightweight and ground-optimized lidar odometry and mapping on variable terrain." 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018.LOAM基础上增加了优化特征匹配和引入闭环检测。
- Shan, Tixiao, et al. "Lio-sam: Tightly-coupled lidar inertial odometry via smoothing and mapping." 2020 IEEE/RSJ international conference on intelligent robots and systems (IROS). IEEE, 2020.结合激光雷达与IMU的紧耦合方法,通过因子图优化提升大规模场景的鲁棒性。
- Xu, Wei, and Fu Zhang. "Fast-lio: A fast, robust lidar-inertial odometry package by tightly-coupled iterated kalman filter." IEEE Robotics and Automation Letters 6.2 (2021): 3317-3324. 固态式激光雷达的框架,成本低,速度快。
- 视觉SLAM(单目针孔相机、双目相机、RGB-D深度相机;同时根据方法还可以划分为特征点法,直接法等)
- Mur-Artal, R., & Tardós, J. D. (2016). ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras. IEEE Transactions on Robotics ORB-SLAM经典框架,较高的定位精度和框架。此外,还包含了双目、RGB-D相机多重模式。
- Engel, Jakob, Thomas Schöps, and Daniel Cremers. "LSD-SLAM: Large-scale direct monocular SLAM." European conference on computer vision. Cham: Springer International Publishing, 2014. 直接法,支持单目相机的半稠密建图。
- Forster, Christian, Matia Pizzoli, and Davide Scaramuzza. "SVO: Fast semi-direct monocular visual odometry." 2014 IEEE international conference on robotics and automation (ICRA). IEEE, 2014. 半直接法,利用稀疏特征点初始化,再通过直接法优化位姿。
- 多传感器融合(激光雷达、视觉图像、IMU、GPS等多种传感器融合)
- Qin, T., Li, P., & Shen, S. (2018). VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator. IEEE Transactions on Robotics 视觉信息与IMU融合的VINS系列,轻量级速度快。
- Lin, Jiarong, and Fu Zhang. "R 3 LIVE: A Robust, Real-time, RGB-colored, LiDAR-Inertial-Visual tightly-coupled state Estimation and mapping package." 2022 International Conference on Robotics and Automation (ICRA). IEEE, 2022. 融合激光雷达、视觉和IMU,实时构建带颜色的稠密地图。
- ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual–Inertial, and Multimap SLAM,TRO 2020, 支持多传感器融合,并且多地图
- GVINS: Tightly Coupled GNSS–Visual–Inertial Fusion for Smooth and Consistent State Estimation, TRO 2022, HKUST Aerial Robotics Group, GNSS + VINS
todo
总体设计一般是从需求出发,进行设计与分析。
- CAD设计与仿真:SolidWorks, Fusion 360, CATIA
- 机械结构仿真与分析:ANSYS, ABAQUS
- 快速原型制作:3D打印
- 设计翼型,根据需求确定桨叶升力系数等参数
- 根据需求和重量要求选择电机,电调,桨叶,电池等
根据需求,参考飞行评测与Fast Drone 250。
推荐听余文胜老师的课。
- 气动建模与分析:XFLR5(简单构型)
实时操作系统,支持Pixhawk开源飞控平台
官方资源:
推荐走issue和discord两条路,论坛基本没人看也没人回复。相比之下,discord更活跃一些,channels也比较全面。另外一定要多看doc,其实很多东西已经写在里面了(注意看对应版本的,会有很多参数的定义变化,比如EKF2_AID_MASK
与EV_CTRL
)。
其他资源:
- github repo: potato77的笔记
- XTDrone,全面的仿真与算法验证平台,非常适合上手;注意用的是二次开发的基于1.13版本的PX4
- PegasusSimulator, PX4与Issac Sim结合,但是目前只支持到MC
- AirGym, 基于Issac Gym的PX4+RL训练仿真
PX4的版本不是越新越好,大家普遍用的还是1.13,尽管后续版本出了很多功能;但是如果你能接受1.13里混乱的mixer,这个版本的issue与debug信息应该是最多的。
PX4的clone与编译可以参考make px4。
如果只是对控制算法或某个模块算法进行改进,那么你需要c++的继承派生虚函数等知识(写的很优雅,其实叫自动驾驶仪,飞控窄了);如果是对飞控的整体架构进行改进,那么你需要了解PX4的整体架构,尤其是模块间的通信机制。
(来自于科研时长两年半的硕士升博士生,主要研究中包含间接法最优控制)
最优控制方法主要分成间接法最优控制和直接法最优控制。间接法和直接法最主要的区别我认为是是否引入协态变量以及是否把各个时间点离散出来(直接法中的单次打靶法除外),具体来说直接法会需要把初始时刻、终端时刻、以及中间部分时间节点的状态(有时候也会把控制量拎出来)结合起来形成一个巨大的状态矩阵。除此之外,最优控制问题和一般的优化问题的主要区别在于,最优控制问题需要考虑动力学方程或者是运动学方程,它是作为一个全时间段上的约束存在的。
推荐书籍:飞行器最优控制 —— 西工大出版社、Optimal Control with Engineering Application(Hans.P.Geering)
- 间接法最优控制主要是以变分法(Variation)为基础,庞特里亚金极大值(也有说是极小值的)原理为理论指导的最优控制方法,优势在于其得出的解一定符合一阶最优性条件(即一定是极值点),缺点在于协态初值需要猜,而且全局最优解和这个猜的初值有关(即不一定是最值点)。
- 具体推导可以看《飞行器最优控制》(毕竟是中文版,遇到不懂的再看后面那本,前者基本上讲的很清楚),引入了协态量,从我的视角来看它就是并列于状态量的一个概念(所以英文叫costate),然后围绕状态量和协态量有一个微分方程组,即一个augmented的动力学方程。除此之外,围绕一阶最优性条件会导出很多关于协态的边界条件(称为横截条件transversal condition),再加上原本状态量的约束,就构成了所有的边界条件。另外,控制量可以基于一阶最优性条件,使得哈密顿函数取到极大值来得到(一般存在解析解,是可以用协态和状态表达的)。如此以后,就成功地把求最优的问题改写成了一个普通的求初始值(初始的协态和状态,需要猜)的问题。另外,如果有等式形式的初始和终端状态约束,比如x+y=R(R为常数)这种,《飞行器最优控制》这本书也有提到,能够很方便的引入刚刚转化好的方程中。
- 当整个优化过程有全时间域的路径约束(比如x>R)这种,可以看第二本书,这本书的第二章有具体推导,可以看一下。
- 直接法的话我了解的不是很多,主要是跟着学校的课程学的
- 直接法的分类,对直接法的各个类别有非常详细的分类,肯定比我厉害。
另外我想在这补充一些常见的优化算法以及用这些算法的C++和Matlab库,虽然现在的包啊库啊整合的都挺好,但是有一些底层的原理如果有感兴趣的也可以自己去看一看。
- Levenberg-Marquardt 算法:用于Minpack(C++)、Ceres Solver(C++)、fsolve(Matlab)
- Powell的dogleg方法:用于Minpack(C++)、fsolve(Matlab)
- Nelder-Mead单纯形法:用于OptimLib(C++)、fminsearch(Matlab)
- Trust-Region Reflective方法:用于Ceres Solver(C++)、fsolve(Matlab)、fminunc(Matlab)、fmincon(Matlab)
- BFGS拟牛顿法,L-BFGS拟牛顿法(省内存)等各种拟牛顿法:用于NLopt(C++)、OptimLib(C++)、dlib(C++)
当然,这些只是目前我看的一些,只是之前科研的时候突然感兴趣简单搜索了一下,肯定还有很多别的算法,感兴趣的话可以在这里补充。
最优控制说到底是一个优化问题,拿到解析解或数值解(数值优化方法)。另外机器人学的数值优化推荐看汪博在深蓝学院讲的。
推荐课程:移动机器人运动规划
一定要区分path和trajectory,path是空间上依次排列的点集,而trajectory是时间参数化后的,时间的函数。
- 官方教程:
- Installation
- 这个安装教程看着有点麻烦,其实如果主要是使用IsaacLab进行训练,可以直接看isaaclab documentation里面的isaacsim安装部分,简单明了。
- 注意事项:
- 建议下载asset在本地部署
- 第一次运行isaacsim一般都会卡住然后显示isaacsim no responding,一般就是等一段时间或者重新启动几次就会好。
- Isaac Lab 是基于 NVIDIA Isaac Sim 构建的一个开源机器人学习与控制研究平台,主要用于做RL训练。
- 安装:
- 环境:
- Available Environments
- 环境类型:
- Manager-based: 模块化、可扩展、结构化的工作流,适合构建复杂环境、多个组件协同工作的仿真任务。
- Direct Workflow: 更加灵活,从底层对环境进行定义。一般自定义环境用direct workflow较多,但是缺点是不便于维护和协作,不适合做大项目。
什么?你不看飞行日志?
PX4官网有专门的介绍:Flight Log Analysis
在这些工具之中,我强推Plotjuggler(Grazie Davide Faconti!):
- 跨平台,linux上体验更好,可以和ros联动,你会爱上他的republish功能的
- 每次打开都有奇奇怪怪的图
- 还有教程,支持插件,github
注:所有顺序无意义
- Fast Lab ZJU
- 可靠飞行控制研究组 BUAA
- 郭雷 BUAA
- IRMV Lab SJTU
- Shanghai Key Lab of Navigation & Location-based Services SJTU
- 董伟 SJTU
- STAR SUSTech
- 田栢苓 TJU
- WINDY Lab
- 吕熙敏 SYSU
- RAPID Lab SYSU
- NICSefc THU MARL小组,于超老师,xhs id 94742231017
- NPU-IUS-Lab
- 王耀南 院士
- 夏元清
- HNU-CAT
- 孟伟