从0入门自主空中机器人-2-1【无人机硬件框架】
关于本课程:
本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让它可以在未知的环境中自由避障穿行。
本次课程的重心主要落在自主空中机器人的搭建、代码部署及调试上,关于自主空中机器人的一些理论基础,例如动力学模型,路径搜索,轨迹规划,地图构建等内容。
课程视频
B站:【完结】从0入门自主空中机器人 | 开源 | 浙江大学Fast-Lab
深蓝学院:从0入门自主空中机器人
相关源码
GitHub:https://github.com/ZJU-FAST-Lab/Fast-Drone-250
Gitee:https://gitee.com/pn_code/Fast-Drone-250
1.无人机硬件框架

传统无人机框架如上图所示,但本课程中所使用到的科研无人机与上图有所出入,下面介绍无人机中一些关键组件功能以及选购建议
1.1飞控
介绍
- 飞控又称飞行控制器,用于根据输入指令解算电机推理
- 内置了IMU,气压计,磁罗盘等
- 包含I2C,UART,CAN,GPS等接口
建议型号
| 型号 | 数量 | 单价 | 链接 |
|---|---|---|---|
| Holybro pixhawk6c mini(最推荐) | 1 | 1269 | https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-4512157496.9.5426eed470KxTy&id=584372514369 |
| Holybro pixhawk6 | 1 | 1330 | https://item.taobao.com/item.htm?spm=a230r.1.14.16.4ec8482f6NDN6X&id=622652205393&ns=1&abbucket=13#detail |
| CUAV V5(比较厚且长) | 1 | 1799 | https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22188405087.10.6be2688auoxM9A&id=594262853015 |
| CUAV X7(比较厚且长) | 1 | 1999 | https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22188405087.16.6be2688auoxM9A&id=617384615131 |
1.2电调
介绍
- 电调,全称电子调速器,英文Electronic Speed Control,简称ESC
- 相当于电机驱动器
建议型号
| 型号 | 数量 | 单价 | 链接 |
|---|---|---|---|
| 银燕45A | 5 | 186 | https://item.taobao.com/item.htm?spm=a230r.1.14.1.3f8f12601zxOa6&id=652264033077&ns=1&abbucket=3#detail |
| 银燕30A | 5 | 75 | https://item.taobao.com/item.htm?spm=a230r.1.14.26.7cd558e1qyMpXO&id=544650621044&ns=1&abbucket=13#detail |
注:额定电流35A以上,且须支持Dshot协议
1.3电机
介绍
- 电机型号
- 如2212,3508,4010,这些数字表示电机定子的直径和高度(注意看是电机定子,不是转子)。
- 前两位是定子直径,后两位是定子高度,单位是毫米。前两位越大,电机越肥。
- 后两位越大,电机越高。一般来说,定子越粗,扭力越大,也就是力气越大。
- 至于高度,要看所选机架选择。
- KV值
- KV值是每1V的电压下电机每分钟空转的转速。例如KV800,在1V的电压下空转转速是800转每分钟。那么10V的电压下是8000转每分钟的空转转速。
- KV值越小,同等电压下转速越低,扭力越大,可带更大的桨。
- KV值越大,同等电压下转速越高,扭力越小,只能带小桨。
- 相对的说KV值越小,效率就越高。
- 航拍要选用低KV电机配大桨,转速低,效率高,同样低转速电机的震动也小。对航拍来说这些都是极为有利的。 四旋翼电池、电机、螺旋桨选型与搭配
建议型号
| 型号 | 数量 | 单价 | 链接 |
|---|---|---|---|
| Tmotor 2306 2400KV | 5 | 69 | https://item.taobao.com/item.htm?spm=a1z0d.6639537.1997196601.70.7b117484yJpUkV&id=640533613167 |
| Tmotor F60 2550KV | 5 | 149 | https://item.taobao.com/item.htm?spm=a230r.1.14.1.430128b7kVows1&id=650719152882&ns=1&abbucket=13#detail |
注:电机型号选择2306,KV值一定要在2400左右!!!
1.4机载电脑
介绍
无人机机载计算机可以做的事情非常多,以下是一些主要的应用:
-
飞行控制:无人机的机载计算机是无人机进行飞行控制的核心部件。它可以读取传感器信息、计算数据并控制舵机和电机等部件,从而让无人机稳定地在空中飞行。
-
视觉识别:机载计算机可以使用数百万像素的高清摄像头捕捉影像,通过图像处理算法实现目标识别、跟踪和定位,例如,卫星图像、气象预报、环保水质检测、森林火灾等。
-
数据采集和处理:机载计算机可以将传感器收集到的数据进行处理和存储,例如,传感器监控环境(温度、湿度、光照、气体浓度等),卫星数据、地理信息数据等。
-
无线数据传输:无人机机载计算机可以将无线网络之间的信息传输,例如,人脸识别、景区巡游信息、医疗应用、物流等。
-
物流配送:无人机机载计算机是实现无人机指挥中心的关键要素之一,可以实现在空中统一协调、指挥和监控,实现全天候、无人值守、自主配送、快速、准确、稳定等属性。
建议型号
| 型号 | 数量 | 单价 | 链接 |
|---|---|---|---|
| Intel NUC 猛虎峡谷 准系统 i5 薄款 | 1 | 2590 | https://item.taobao.com/item.htm?spm=a230r.1.14.18.42652f8frC214K&id=638758423001&ns=1&abbucket=3#detail |
1.5传感器
介绍
2.相关下载
- 课程硬件清单选型:下载地址
本网站只做课程笔记和资源整合,资源全部来源B站和深蓝学院,如有侵权,请联系站长删除!
相关文章:
从0入门自主空中机器人-2-1【无人机硬件框架】
关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…...
Kafka高性能设计
高性能设计概述 Kafka高性能是多方面协同的结果,包括集群架构、分布式存储、ISR数据同步及高效利用磁盘和操作系统特性等。主要体现在消息分区、顺序读写、页缓存、零拷贝、消息压缩和分批发送六个方面。 消息分区 存储不受单台服务器限制,能处理更多数据…...
Redis字符串底层结构对数值型的支持常用数据结构和使用场景
字符串底层结构 SDS (Simple Dynamic Strings) 是 Redis 中用于实现字符串类型的一种数据结构。SDS 的设计目标是提供高效、灵活的字符串操作,同时避免传统 C 字符串的一些缺点。 struct sdshdr {int len; // 已使用的长度int free; // 未使用的长度char bu…...
uniapp 微信小程序 数据空白展示组件
效果图 html <template><view class"nodata"><view class""><image class"nodataimg":src"$publicfun.locaAndHttp()?localUrl:$publicfun.httpUrlImg(httUrl)"mode"aspectFit"></image>&l…...
在vscode的ESP-IDF中使用自定义组件
以hello-world为例,演示步骤和注意事项 1、新建ESP-IDF项目 选择模板 从hello-world模板创建 2、打开项目 3、编译结果没错 正在执行任务: /home/azhu/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/azhu/esp/v5.1/esp-idf/tools/idf_size.py /home…...
目标检测,语义分割标注工具--labelimg labelme
1 labelimg labelimg可以用来标注目标检测的数据集, 提供多种格式的输出, 如Pascal Voc, YOLO等。 1.1 安装 pip install labelimg1.2 使用 命令行直接输入labelimg即可打开软件主界面进行操作。 使用非常简单, 不做过细的介绍࿰…...
发明专利与实用新型专利申请过程及自助与代办方式对比
申请专利(发明专利、实用新型专利、外观设计专利)有两种方式:1、自己直接向国家知识产权局申请。2、通过专利代办处申请。以下是对这两种专利类型(发明专利、实用新型专利)申请过程及两种申请方式的详细介绍和对比,参考…...
Datawhale AI冬令营(第二期)动手学AI Agent task2--学Prompt工程,优化Agent效果
目录 如何写好Prompt? 工具包神器1:Prompt框架——CO-STAR 框架 工具包神器2:Prompt结构优化 工具包神器3:引入案例 案例:构建虚拟女友小冰 1. 按照 CO-STAR框架 梳理目标 2. 撰写Prompt 3. 制作对话生成应用&…...
基于python对网页进行爬虫简单教程
python对网页进行爬虫 基于BeautifulSoup的爬虫—源码 """ 基于BeautifulSoup的爬虫###?一、BeautifulSoup简介1.?Beautiful?Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供…...
【JavaEE进阶】@RequestMapping注解
目录 📕前言 🌴项目准备 🌲建立连接 🚩RequestMapping注解 🚩RequestMapping 注解介绍 🎄RequestMapping是GET还是POST请求? 🚩通过Fiddler查看 🚩Postman查看 …...
【WebAR-图像跟踪】在Unity中基于Imagine WebAR实现AR图像识别
写在前面的话 感慨一下, WebXR的发展是真的快,20年的时候,大多都在用AR.js做WebAR。随着WebXR标准发展,现在诸如Threejs、AFrame、Unity等多个平台都支持里WebXR。 本文将介绍在Unity中使用 Image Tracker实现Web端的AR图像识别功…...
向bash shell脚本传参
例子: ~ script % touch parameter.sh ~ script % chmod 755 parameter.sh ~ % vim parameter.shparameter.sh: #!/usr/bin/env bashecho the name of current script is $0echo the first parameter is $1echo the second parameter is $2echo all parameters: $…...
Oracle中listagg与wm_concat函数的区别
Oracle中listagg与wm_concat都可以用于将多行数据合并成一个字符串的两个函数,区别如下: 1、分隔符:listagg支持指定分隔符,wm_concat默认为","不支持指定; 2、排序:listagg支持排序后…...
热更新与资源管理
热更新、资源管理、打包发布是 Unity 游戏开发中关键的技术点。这些功能可以极大地提高项目的灵活性和资源利用效率,尤其是在多平台、长生命周期的游戏项目中。以下从技术概述、知识点分析、实现方法和代码举例逐一进行详细分析。 一、热更新 热更新指在不重新发布…...
Momentum Provably Improves Error Feedback!
以下是您提供的论文摘要的翻译: **摘要** 由于在分布式环境中训练机器学习模型时通信开销较高,现代算法不可避免地依赖于有损通信压缩。然而,如果不加以处理,压缩造成的错误会传播,并可能导致严重的不稳定行为&#…...
Elasticsearch-脚本查询
脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能,ES支持多种脚本语言,如painless,其语法类似于Java,也有注释、关键字、类型、变量、函数等,其就要相对于其他脚本高出几倍的性…...
《Opencv》基础操作详解(3)
接上篇:《Opencv》基础操作详解(2)-CSDN博客 Opencv基础操作 目录 Opencv基础操作 18、图像边界填充 19、阈值处理(图像的二值化) 20、图像平滑处理 (1)、均值滤波(Mean Filte…...
meshy的文本到3d的使用
Meshy官方网站: 中文官网: Meshy官网中文站 编辑 Opens in a new window 编辑www.meshycn.com Meshy AI 中文官网首页 英文官网: Meshy目前似乎还没有单独的英文官网,但您可以在中文官网上找到英文界面或相关英文资料。 链…...
C语言技巧之有条件的累加
什么叫有条件的累加? 主要是依靠循环,一般形式是一个在循环里面遍历,另一个只有达到一定的条件才会累加(移动到下一个变量),从言语也能看出来,主要是用在字符串和数组里面的,毕竟链表…...
解释为什么fetch(JavaScript)无法将读取的数据存入外部变量
(一)问题描述 你可能会遇到这样的情况:在fetch之外创建变量,将fetch获取到的数据赋值给这个变量以便在fetch外使用,但在使用这个变量的时候发现值是空的,这是为什么呢? (二…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
