赞
踩
【浙江大学】浙大博导带你从0制作无人机_哔哩哔哩_bilibili
IMU(加速度计和陀螺仪),可以测出当前的 加速度和角速度 这俩信息再去融合外部传感器 (例如视觉传感器或者雷达传感器)得到点云数据或者图像数据 把IMU数据和点云(图像)数据 二者进行融合 就能搭建出一个定位建图的功能 ,再用定位解算出来的 无人机实时位置数据和姿态数据 再结合 环境传感器 进行测距 全部信息融合 就能得到一个稠密的地图
控制器分上下两层控制器: 下层:姿态控制(完全交给飞控) 上层:位置、速度等上层的控制量(交给 无人机 机载电脑里处理)
感知动作闭环回路:首先传感器有数据进来 定位和建图让无人机知道了自己在哪、周围的环境长什么样 运动规划则告诉无人机要去想去的地方应该如何生成运动的轨迹 运动的轨迹交给控制器去执行(就是四个电机的转速)
1.GPS(卫星导航定位)获得一个 全局的定位 (但是 只能用于开阔地带 室内有遮挡就不行了)
2.动作捕捉系统 :专门研究高精度控制、纯规划控制算法时想抛开定位,测试利用整个系统的依耐性,我们可以在室内构建一个动作捕捉系统。(动作捕捉系统 必然依赖 环境事先布置好的相机 只能在室内房间使用)
具体方法:在无人机上,粘贴几个发光的小球,可以高精度的解算出实时所处的位置和姿态 以此来验证 控制算法。
3.视觉惯性里程计(VIO)
4.激光惯性里程计(LLO)
用 3、4时 当算法合理时 理论上可以在任何一个未知复杂的环境去自由的定位。
1.点云地图:用深度测量 构建 点云地图
2. 栅格地图:对环境进行栅格化、离散化的栅格地图
3.欧氏距离场(非常适用于无人机的局部避障):在点云和栅格的基础上更高级的地图 欧氏距离场 欧式距离场首先需要一个栅格地图,此外 会记录栅格地图中的每一个点到最临近障碍物的距离。
4.八叉树地图:更精巧的地图,存储的复杂度更低 但有些东西的复杂性会高一点。
路径规划包括: 前端的路径搜索 后端的轨迹优化
一般的无人机 的构架为下图所示(与科研 自主导航无人机不同 科研自主导航的无人机可以不装载云台相机和GPS 但需要搭载 其他的传感器 和 机载电脑 )
用于: 根据输入指令 来解算 电机的转速(推力)从而控制无人机飞行。
一个飞控中 一般会
内置 IMU 输出 加速度信息
内置 气压计 输出无人机的高度
内置 磁罗盘 获取无人机朝向
此外 还提供了 丰富的接口
PX4派系:有良好的 开源社区 和 丰富的可自定义的功能 玩法比DJI(大疆)的飞控多很多。
决定一台飞控的好坏: 是否 具有 内置减震系统(避免IMU在飞行过程中出现过大的振动) 和 恒温系统(避免IMU避免温飘),从而影响性能
可以理解为 电机驱动器
作用:将输入的控制信号 转化成 电流 来控制电机的转动
电调分类:
四合一电调 :四个电机接在同一个电调上 体积比较小、排线清爽(更多在 空间比较紧凑的穿越机上)
分体电调:每个电机连接一个电调(更常用在航拍无人机上)
作用:带动桨叶,提供升力
一般无人机上 用的是 无刷电机
但便宜的 可以用空心杯电机:价格便宜 但比较容易损坏(华强北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以上的电调,来适配这款电机
电池
串联增加电压(但不增加容量)
并联增加容量(但不增加电压)
30C: 放电倍率
例: 4S的4.2V电池 一共电压 = 4*4.2=16.8V 由下图可知 单节电芯 满电4.2V低于3.6V就不行了
所以 4.2-3.6=0.6V 相当于每个电池 亏电0.6V就算是过放了 0.6*4=2.4V 16.8-2.4=14.4V 15V时就算过放了 一般16.8V 放到15.2 15.3就得充电了 低于15V就算过放了。
作用:为电机、飞控、机载电脑供电
选购:最关心的是 电池的 电压 容量 和 放电倍率 等
航模电池 常说是 4S 6S电池 S代表的是 串联电池的芯数 每片电芯 输出约4V 4S=16V 6S=24V(电芯越多 电机输出越暴力)
电压计 会在 电池电压 过低的时候 发出 哔哔哔的响声(一般阈值设置在3.3V)避免电池过放 避免电池电压过低 导致坠机 。
为 飞控接收 遥控信号(装载在 飞控上 接收机 接收到 遥控器 发出的信号 再给到 主控芯片)
发送 控制指令 给接收机 接收机接收到后 给主控芯片 主控芯片来控制无人机。
接收卫星信号,为无人机定位,在航拍无人机中是标配,可以在定点模式下 通过GPS 把无人机像钉子一样 钉在空中。 (定点模式 就是 根据GPS 的数据 让无人机在这个数据下 进行悬停或者运动)。
很多 科研开发的 通常会需要 在室内 没有GPS信号的环境中使用, 所以使用 视觉惯性里程计等来定位
参数:轴距:(两个电机中心的距离) 下图 250 330 450指的就是 轴距
重量
运行在无人机上的 小型电脑。 可以运行各种复杂的感知算法 导航算法 理解为无人机的大脑。
一般是运行的系统:LINUX的 Ubentu
下图的 价格较贵 一般也可以使用 树莓派来进行开发
可以进行视觉识别 和 感知 的任务
感知环境、进行地图的构建
为无人机做 简单 的定位
在 复杂 的环境中为无人机 进行 定位
螺旋桨 一般有 4个数字 前两位 代表 螺旋桨直径 后两位 代表 螺旋桨 螺距 (单位 英尺)
APC1045 直径10英尺 螺距 4.5英尺 (1英尺=2.54cm)
把 顺时针旋转的 叫 逆桨 (带R)
把 逆时针 旋转的 叫 正桨(不带R)
两相电变成三相电。
电调中的 2~3S 的S是什么意思 ? 参考电池中的 s 和p
30A:代表电调的 最大持续电流
飞控:输出PWM波 ,对电机进行控制
其他控制器 充当 高级控制器 对飞控进行控制
例如 遥控器 先接上飞控 再用遥控器把信号传给飞控 飞控再去控制无人机
自主飞行任务规划:可以自己设计航路点 然后让无人机 绕着航路点进行飞行
无人机 GPS箭头方向为 机头
右上角的旋翼 是1号翼
左下的旋翼为 2号
左上角叫3号
右下角 4号
常见坐标系:NED FRD
NED: X轴:N Y轴:E Z轴:D
机载坐标系:F:前 R:右 D:地
FRD: X:F前方 Y:R右边 Z:D地
无人机:整体由机架构成 加上 飞控、机载电脑、电机、电池、传感器 就形成了 自主无人机
手动: 飞手通过操纵遥控杆 进行操控无人机
自主: 完全由飞控控制 或者三维控制
自稳模式(Stabilized):
定高模式(Altitude):
定点模式(Position):
当 得到一个任务 该如何根据该任务分析 对硬件进行选型 并搭建无人机呢?
如果需要高精度地图—— 搭载雷达 获得高精度点云 从而建立高精度的地图
简单的避障 —— 双目相机 提供的 深度图 就可以胜任
需要外部定位—— 双目相机运行视觉惯性里程计、雷达来运行雷达惯性里程计
视觉识别 —— USB摄像头就行
轴距越大的机架负载越大、续航越长 在满足 续航和负载的情况下 尽量要让无人机 小 来保证无人机的 机动性
推质比越大 就需要越大的KV值电机 或 电压越大的电池 没有推质比要求 则选择机架相配套的搭配
如果有视觉识别的要求 —— 需要运行 神经网络 可以选择 (没听懂 第二节 14分50S)
如果有比较高的 CPU算力要求 —— 大疆的妙算
首先 分析应用场景:在复杂环境中 高速 自主 飞行 的规划器 无人机在未知的环境中进行穿梭。
双目相机 :无人机需要在 复杂的环境中进行导航 并且需要建图 且没有外部定位
Q250机架:无需搭载过多的传感器 飞机起飞重量不大 选择最常见的 250mm的机架就可以了
推质比: 在这个任务中 无人机需要进行较高速度的飞行 可以选择 KV值比较大的电机 来提供更高的推质比
机载电脑:妙算 因为需要运行比较 占用CPU算力的视觉惯性里程计
最后设计一些结构件 来连接各硬件 调试飞机 就能得到一篇 国际顶级期刊的 所需的无人机
任务要求:在复杂环境中 切换 空地运动 模式的 无人机 并要求无人机 尽可能的小型化
应用场景要求: 无外部定位,需要建图 ——双目相机
续航至少 8min 负载约为600g ——200mm机架
推质比:无需高速飞行 但对续航有要求 —— 比较节能的F2203.5 KV2850+4寸桨
需要运行视觉惯性里程计 但需要小型化 ——Xavier NX
一台自主导航无人机 的 软件 主要由以下几个部分组成
首先 需要运行 定位算法 如果使用 视觉传感器 则运行视觉惯性里程计 如果使用雷达传感器 则运行雷达惯性里程计
获得定位后 结合 双目摄像机的 深度图 或者 雷达的点云数据 就可以开始建图了
建图完成后 就可以进入 运动规划层面
主要分为前端和后端
前端:主要进行 路径搜索 和 路径采样 来获得一条可通行的路径 但不一定满足动力学约束
后端:在前端提供的 粗糙路径 基础上 根据各种方程对轨迹进行优化 从而使轨迹光滑 并且满足 事先设定好的条件
最后 控制器 接收到轨迹 将轨迹上的点 转化为控制指令 发送给 飞控 完成飞行
系统的控制和架构:
无人机的 位置控制、位置 和 速度 是在上层电脑里控制的 会产生双层的级联控制器 会产生 推力和姿态 或者 推力和角速度的 控制信号 这是一个 设定值 这个设定值 给到飞控 剩下的交给飞控。
飞控完成的任务 只有 对 推力和姿态的跟踪 其他的什么都不管
整个系统架构:
传感器 的 结果 给 感知和定位 分别用于 建图和定位 (无人机知道自己在哪,知道要去哪)
然后规划模块 根据周围的环境长什么样 以及无人机要去哪和 自己在哪 计算出一条轨迹
轨迹怎么给控制: 轨迹和控制的必然联系是什么 ??
没听懂 大致就是 给个 点 然后 解算 位置和速度分别是外环和内环 设定值信号 然后 在控制器里构成一个负反馈
仿真器(面向开发者):开发者可以调用 一些API 对飞机进行控制 进而验证自己的算法 对算法可行性进行验证
模拟器:练习一下飞行技术 熟悉一下操作
这个 框架图 是 日常生活中使用无人机或无人车的框架图
红色:经常使用的 硬件
深色:最终要实现的目标 比如 实现 无人机的定位 建图 识别目标位置
无人机或无人车会搭载 (树莓派、Jetson nano 、NUCmini电脑 )统称(上位机),
我们都会 给 装上 Ubentu 系统 那既然装上后 就是性能上的差别 具体 ROS 上来说 这些模块没有任何区别的 所以应该重点关注 不是应该用哪种上位机 而是用哪种上位机可以满足需求 不用具象化 最终的目的就是 装上Ubentu 然后跑 ROS
就是接收 上位机的一个指令 比如:上位机 通过目标处理识别到 要追踪一个人 把人的位置 或者 要追踪的速度 发给单片机 单片机就去执行 最终 就是用PWM控制电机
通常 在上位机上 接上 识别模块 初学者不用具体学习具体型号 可以先从宏观的角度去知道一个模块 最终目的是什么 再去做 比如: 想实现 建图 的功能
ROS系统将需要的数据 的 格式 都规范好了,在规定的位置放规定的数据即可。
需要: 雷达扫描数据就会有scan格式的数据 我们应该是用 官方提供的算法 提取出模块的输出
而不是去探究内部怎么用的 怎么实现的
通过官方提供的算法 按照官方的代码和操作方法 去执行 跑完之后
最终目的: 获取scan
建图: 需要 scan 的数据 所以选择了 激光雷达(建图也有很多算法 有些算法需要的数据是不一样的 通过算法需要的数据 来选择 硬件)
输入:雷达扫描 scan数据
输出:建图的 map数据
拿到一个上位机(任何上位机) ---- 装上 Ubentu 里面跑了ROS ------ 就能实现一些算法-----算法需要 入口(输入) -----可能需要雷达数据 或者 点云数据(假如需要) ----- 寻找 能生成这两种 话题 数据 的 模块 ---找到了 雷达:激光雷达 点云:深度相机 --- 利用官方提供的算法 将数据 出口(输出!) ---- 如果是PX4的话 就会通过 Offboard模式 将数据 发到 PX4(内部集成了一套系统)就会自己输出PWM去控制 电机 运动 (自己做单片机 一般就是用串口)
一般用PX4都会用 mabros 这个就会用到offboard 模式 这个模式 就是 算法模块全跑完后的最终落脚点 会使你 无人机 切换到这个模式 接收上位机的数据 再自动运行
位置控制:无人机自身的位置 会一直保持在这 一般 用遥控器 遥控 就会切换到 位置模式
offboard控制: 用上位机 不再用人控制时 一般切换到 offboard模式 上位机 就通过mobROS给无人机发指令 控制电机
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。