视频:
【浙江大学】浙大博导带你从0制作无人机_哔哩哔哩_bilibili
什么是无人飞行器
无人机自主导航构架
IMU(加速度计和陀螺仪),可以测出当前的 加速度和角速度 这俩信息再去融合外部传感器 (例如视觉传感器或者雷达传感器)得到点云数据或者图像数据 把IMU数据和点云(图像)数据 二者进行融合 就能搭建出一个定位建图的功能 ,再用定位解算出来的 无人机实时位置数据和姿态数据 再结合 环境传感器 进行测距 全部信息融合 就能得到一个稠密的地图
控制器分上下两层控制器: 下层:姿态控制(完全交给飞控) 上层:位置、速度等上层的控制量(交给 无人机 机载电脑里处理)
感知动作闭环回路:首先传感器有数据进来 定位和建图让无人机知道了自己在哪、周围的环境长什么样 运动规划则告诉无人机要去想去的地方应该如何生成运动的轨迹 运动的轨迹交给控制器去执行(就是四个电机的转速)
定位:
1.GPS(卫星导航定位)获得一个 全局的定位 (但是 只能用于开阔地带 室内有遮挡就不行了)
2.动作捕捉系统 :专门研究高精度控制、纯规划控制算法时想抛开定位,测试利用整个系统的依耐性,我们可以在室内构建一个动作捕捉系统。(动作捕捉系统 必然依赖 环境事先布置好的相机 只能在室内房间使用)
具体方法:在无人机上,粘贴几个发光的小球,可以高精度的解算出实时所处的位置和姿态 以此来验证 控制算法。
3.视觉惯性里程计(VIO)
4.激光惯性里程计(LLO)
用 3、4时 当算法合理时 理论上可以在任何一个未知复杂的环境去自由的定位。
建图:
1.点云地图:用深度测量 构建 点云地图
2. 栅格地图:对环境进行栅格化、离散化的栅格地图
3.欧氏距离场(非常适用于无人机的局部避障):在点云和栅格的基础上更高级的地图 欧氏距离场 欧式距离场首先需要一个栅格地图,此外 会记录栅格地图中的每一个点到最临近障碍物的距离。
4.八叉树地图:更精巧的地图,存储的复杂度更低 但有些东西的复杂性会高一点。
路径搜索:
路径规划包括: 前端的路径搜索 后端的轨迹优化
轨迹优化
无人机的软、硬架构
一般的无人机 的构架为下图所示(与科研 自主导航无人机不同 科研自主导航的无人机可以不装载云台相机和GPS 但需要搭载 其他的传感器 和 机载电脑 )
1.飞控:无人机的小脑
用于: 根据输入指令 来解算 电机的转速(推力)从而控制无人机飞行。
一个飞控中 一般会
内置 IMU 输出 加速度信息
内置 气压计 输出无人机的高度
内置 磁罗盘 获取无人机朝向
此外 还提供了 丰富的接口
PX4派系:有良好的 开源社区 和 丰富的可自定义的功能 玩法比DJI(大疆)的飞控多很多。
决定一台飞控的好坏: 是否 具有 内置减震系统(避免IMU在飞行过程中出现过大的振动) 和 恒温系统(避免IMU避免温飘),从而影响性能
2.电调(电子调速器/电机驱动器):
可以理解为 电机驱动器
作用:将输入的控制信号 转化成 电流 来控制电机的转动
电调分类:
四合一电调 :四个电机接在同一个电调上 体积比较小、排线清爽(更多在 空间比较紧凑的穿越机上)
分体电调:每个电机连接一个电调(更常用在航拍无人机上)
3.电机
作用:带动桨叶,提供升力
一般无人机上 用的是 无刷电机
但便宜的 可以用空心杯电机:价格便宜 但比较容易损坏(华强北100多的无人机就是用的空心杯)
越大的电机 就能配更大的桨叶(就会有更强的升力)
尺寸:2205 (22*05) 前两位表示 定子的直径 后两位表示定子的高度
KV值:电机供电 每提高 1V 转速提高的 数值(工作电压越小,适配桨叶越小的电机,Kv值越大)。
实际需要根据无人机的工作电压和桨叶尺寸 来选择合适的KV值。
力效表:可以根据力效表 粗略的算出 飞机续航以及工作电流等等(购买电机时 会提供)(力效表 可能会有虚构 实际用的时候会大打折扣 买的时候注意)
例如: 预计起飞重量 2KG
悬停时 每个桨叶就要提供 2000/4=500g的升力
如果选择表中的7042型号的二叶桨
500g对应的大致升力 为35%的油门
此时力效为5.68
悬停功率:2000/5.68≈350W
电流350/23.93≈15A
如果我想续航 有30Min 则如何选择电池 用电流*时间 15*0.5= 7.5Ah=7500mAh
还能根据 最大工作电流 选择 电调
在下图7042桨叶 中 油门点达到100% 时
工作电流为47.07A 那么 我们就应该选购一个 50A以上的电调,来适配这款电机
4.其他配件:电池、电压计、接收机、遥控器、GPS、视觉惯性里程计、机架、机载电脑、常见的传感器
电池: 一般是 锂电池
作用:为电机、飞控、机载电脑供电
选购:最关心的是 电池的 电压 容量 和 放电倍率 等
航模电池 常说是 4S 6S电池 S代表的是 串联电池的芯数 每片电芯 输出约4V 4S=16V 6S=24V(电芯越多 电机输出越暴力)
电压计 会在 电池电压 过低的时候 发出 哔哔哔的响声(一般阈值设置在3.3V)避免电池过放 避免电池电压过低 导致坠机 。
接收机:
为 飞控接收 遥控信号(装载在 飞控上 接收机 接收到 遥控器 发出的信号 再给到 主控芯片)
遥控器:
发送 控制指令 给接收机 接收机接收到后 给主控芯片 主控芯片来控制无人机。
GPS:
接收卫星信号,为无人机定位,在航拍无人机中是标配,可以在定点模式下 通过GPS 把无人机像钉子一样 钉在空中。 (定点模式 就是 根据GPS 的数据 让无人机在这个数据下 进行悬停或者运动)。
视觉惯性里程计:
很多 科研开发的 通常会需要 在室内 没有GPS信号的环境中使用, 所以使用 视觉惯性里程计等来定位
机架:
参数:轴距:(两个电机中心的距离) 下图 250 330 450指的就是 轴距
重量
起落架:
机载电脑:
运行在无人机上的 小型电脑。 可以运行各种复杂的感知算法 导航算法 理解为无人机的大脑。
一般是运行的系统:LINUX的 Ubentu
下图的 价格较贵 一般也可以使用 树莓派来进行开发
USB摄像头:
可以进行视觉识别 和 感知 的任务
双目相机/激光雷达:
感知环境、进行地图的构建
光流传感器:
为无人机做 简单 的定位
追踪相机:
在 复杂 的环境中为无人机 进行 定位
5.螺旋桨
螺旋桨 一般有 4个数字 前两位 代表 螺旋桨直径 后两位 代表 螺旋桨 螺距 (单位 英尺)
APC1045 直径10英尺 螺距 4.5英尺 (1英尺=2.54cm)
把 顺时针旋转的 叫 逆桨 (带R)
把 逆时针 旋转的 叫 正桨(不带R)
无人机的结构 :
无人机:整体由机架构成 加上 飞控、机载电脑、电机、电池、传感器 就形成了 自主无人机
无人机设计方法:
当 得到一个任务 该如何根据该任务分析 对硬件进行选型 并搭建无人机呢?
1.根据应用场景要求 选择传感器
如果需要高精度地图—— 搭载雷达 获得高精度点云 从而建立高精度的地图
简单的避障 —— 双目相机 提供的 深度图 就可以胜任
需要外部定位—— 双目相机运行视觉惯性里程计、雷达来运行雷达惯性里程计
视觉识别 —— USB摄像头就行
2.根据负载续航选择机架
轴距越大的机架负载越大、续航越长 在满足 续航和负载的情况下 尽量要让无人机 小 来保证无人机的 机动性
3.推质比 选择动力套件
推质比越大 就需要越大的KV值电机 或 电压越大的电池 没有推质比要求 则选择机架相配套的搭配
4.根据算法算力的要求 选择机载电脑
如果有视觉识别的要求 —— 需要运行 神经网络 可以选择 (没听懂 第二节 14分50S)
如果有比较高的 CPU算力要求 —— 大疆的妙算
经典案例 1:未知环境的自主飞行无人机
首先 分析应用场景:在复杂环境中 高速 自主 飞行 的规划器 无人机在未知的环境中进行穿梭。
双目相机 :无人机需要在 复杂的环境中进行导航 并且需要建图 且没有外部定位
Q250机架:无需搭载过多的传感器 飞机起飞重量不大 选择最常见的 250mm的机架就可以了
推质比: 在这个任务中 无人机需要进行较高速度的飞行 可以选择 KV值比较大的电机 来提供更高的推质比
机载电脑:妙算 因为需要运行比较 占用CPU算力的视觉惯性里程计
最后设计一些结构件 来连接各硬件 调试飞机 就能得到一篇 国际顶级期刊的 所需的无人机
经典案例2:空地两用无人机
任务要求:在复杂环境中 切换 空地运动 模式的 无人机 并要求无人机 尽可能的小型化
应用场景要求: 无外部定位,需要建图 ——双目相机
续航至少 8min 负载约为600g ——200mm机架
推质比:无需高速飞行 但对续航有要求 —— 比较节能的F2203.5 KV2850+4寸桨
需要运行视觉惯性里程计 但需要小型化 ——Xavier NX
经典案例3:
无人机软件架构
一台自主导航无人机 的 软件 主要由以下几个部分组成
首先 需要运行 定位算法 如果使用 视觉传感器 则运行视觉惯性里程计 如果使用雷达传感器 则运行雷达惯性里程计
获得定位后 结合 双目摄像机的 深度图 或者 雷达的点云数据 就可以开始建图了
建图完成后 就可以进入 运动规划层面
主要分为前端和后端
前端:主要进行 路径搜索 和 路径采样 来获得一条可通行的路径 但不一定满足动力学约束
后端:在前端提供的 粗糙路径 基础上 根据各种方程对轨迹进行优化 从而使轨迹光滑 并且满足 事先设定好的条件
最后 控制器 接收到轨迹 将轨迹上的点 转化为控制指令 发送给 飞控 完成飞行
无人机算法
系统的控制和架构:
无人机的 位置控制、位置 和 速度 是在上层电脑里控制的 会产生双层的级联控制器 会产生 推力和姿态 或者 推力和角速度的 控制信号 这是一个 设定值 这个设定值 给到飞控 剩下的交给飞控。
飞控完成的任务 只有 对 推力和姿态的跟踪 其他的什么都不管
整个系统架构:
传感器 的 结果 给 感知和定位 分别用于 建图和定位 (无人机知道自己在哪,知道要去哪)
然后规划模块 根据周围的环境长什么样 以及无人机要去哪和 自己在哪 计算出一条轨迹
轨迹怎么给控制: 轨迹和控制的必然联系是什么 ??
没听懂 大致就是 给个 点 然后 解算 位置和速度分别是外环和内环 设定值信号 然后 在控制器里构成一个负反馈