带有tack和dgempulse的手势控制无人机

“无人机”一词通常指任何无人驾驶飞机。这些飞行器有时被称为“无人机”(UAV),可以执行从军事行动到包裹递送等一系列令人印象深刻的任务。无人机可以像飞机一样大,也可以像手掌一样小。最初为军事和航空航天行业开发的无人机因其带来的安全性和效率的提高而成为主流。这些机器人无人机在没有飞行员的情况下运行并具有不同程度的自主性。无人机的自主性水平可以范围从远程驾驶(人类控制其运动)到高级自主,这意味着它依赖于传感器和探测器系统来计算其运动。

由于无人机可以远程控制,并且可以在不同的距离和高度飞行,因此它们是承担世界上一些最艰巨工作的理想人选。他们可以在飓风过后协助寻找幸存者,在恐怖局势期间让执法部门和军队密切关注天空,并在地球上一些最极端的气候条件下推进科学研究。无人机甚至进入了我们的家,成为业余爱好者的娱乐和摄影师的重要工具。

无人机有多种用途:

==================================================== ===================

这个项目背后的主要动机是我对探索小型无人机的各种控制方案的好奇心。《微型无人机语音控制系统的设计与开发》一文讲述了无线电、GCS、手势、语音、操纵杆、PC、FPV和自主等各种无人机控制方法。在论文Design and Development of an Android Application for Voice Control of Micro Unmanned Aerial Vehicles 中,观察到无线电和手势无人机控制方法的态势感知处于中等水平,而语音控制方法的态势感知水平较高。在这个项目中,我们将研究基于 IMU 传感器的手势控制,稍后我们将进行语音控制和其他高级控制。

该项目的动机还源于需要在低成本可移植和可扩展的嵌入式平台中实现这些不同的控制方法,该平台具有边缘计算,而不依赖于外部资源的工作。

==================================================== ===================

。无人机的最长飞行时间为 13 分钟。这款令人难以置信的小型无人机可放在您的手掌中,仅重约 80 克(包括螺旋桨和电池)。您可以通过 Tello 应用程序或连接到 Tello 应用程序的受支持蓝牙遥控器直接控制 Tello。该无人机可通过 Python、C++、Scratch 和 DroneBlocks 进行编程。

Tello 无人机 SDK提供了有关如何通过 Tello 命令对无人机进行编程以完成任务的大量信息,但在功能上有所限制。Tello SDK 通过 Wi-Fi UDP 端口连接飞行器,用户可以通过文本命令控制飞行器。我们使用 Wi-Fi 在 Tello 和 M5Stack 模块之间建立连接。开机后,Tello 充当软 AP Wi-Fi (192.168.10.1) 通过端口 8889 接受命令。

Tello SDK 包括三种基本命令类型。

控制命令 (xxx)

如果命令成功,则返回“ok”。

如果命令失败,则返回“错误”或信息性结果代码。

Set Command (xxx a) 设置新的子参数值

如果命令成功,则返回“ok”。

如果命令失败,则返回“错误”或信息性结果代码。

读取命令 (xxx?)

返回子参数的当前值。

尽管 Tello 非常灵活,我们可以通过许多不同的轴来控制无人机,但在这个项目中,我们将使用以下命令。

全套命令请参考SDK 。

作为一项安全功能,如果 15 秒内没有命令,Tello 将自动着陆。

Tello API

由于我们使用 Arduino 作为平台,我们需要一个 API 可以将我们的命令转换为 UDP 数据包以使用 Arduino 程序发送。TelloArduino是一个 Arduino 库,用于通过 ESP32 模块控制 DJI Tello。如 SDK 文档中所述,此库通过 UDP 发送命令来控制 Tello。

==================================================== ===================

M5Stack FIRE是M5Stack开发套件之一,提供9轴IMU传感器(6轴姿态加速度测量+3轴磁测量)、16M Flash + 4M PSRAM、增强型Base、更大电池等。带IMU姿态传感器,您可以在很多情况下应用此套件,例如检测加速度、角度和轨迹。您可以制作运动数据采集器、3D 远程手势控制器等相关产品。它是一种模块化、可堆叠、可扩展的便携式设备,采用 ESP-32 内核,使其开源、低成本、全功能功能,便于开发人员处理新产品开发的各个阶段,包括电路设计、PCB设计、软件、模具设计和生产。

M5Stack Fire 带有三个可分离的部分。顶部有处理器、芯片、插座、2.4G天线、ESP32、电源管理IC、液晶屏等接口组件。

中间部分称为 M5GO 底座,提供锂电池、M-BUS 插座、LED 灯条和另外三个 GROVE 端口。底部是充电表,可以通过 POGO 引脚连接到 M5GO 底座。

M5Stack开发板效率高,覆盖工业级机箱和基于ESP32的开发板。它集成了 Wi-Fi 和蓝牙模块,并包含一个双核和 16MB 的 SPI 闪存。结合 30 多个 M5Stack 可堆叠模块、40 多个可扩展单元和不同级别的程序语言,您可以在很短的时间内创建和验证您的物联网产品。

它支持使用 Arduino、带有 UIFlow 的 Blockly 语言、Micropython 进行编程。

==================================================== ===================

Download Arduino IDE

Install ESP32 Boards Manager

Install M5Stack Library

对于 Windows 机器,需要安装额外的USB 转串口驱动程序。

Arduino port Configuration

==================================================== ===================

为了使用 M5Stack 模块控制我们的 Tello 无人机,我们将使用手势检测。6 种基本手势被考虑用于控制(怠速、起飞/着陆、前进、后退、左、右)。

Idle

模块不移动时不发出任何命令。

Takeoff/Land

如图所示,通过上下移动模块来发出起飞或着陆命令。

Forward

如图所示,通过将模块向前移动和倾斜来发出前进命令。

Back

如图所示,通过向后移动和倾斜模块来发出向后命令。

Left

如图所示,通过向左移动和倾斜模块来发出左命令。

Right

如图所示,通过向右移动和倾斜模块来发出向右命令。

==================================================== ===================

加速器看起来像是一些大型电子设备(例如我们的智能手机)的简单电路。尽管外观不起眼,但加速度计由许多不同的部分组成,并以多种方式工作,其中两种是压电效应和电容传感器。

压电效应是加速度计最常见的形式,它使用由于加速力而受到压力的微观晶体结构。这些晶体从应力中产生电压,加速度计解释电压以确定速度和方向。

电容加速度计感测位于设备旁边的微结构之间的电容变化。如果加速力移动这些结构之一,则电容会发生变化,加速度计会将电容转换为电压以进行解释。

典型的加速度计由多个轴组成,其中两个用于确定大多数二维运动,第三个用于 3D 定位。大多数智能手机通常使用三轴模型,而汽车仅使用两轴来确定撞击时刻。这些设备的灵敏度非常高,因为它们旨在测量甚至非常微小的加速度变化。加速度计越灵敏,就越容易测量加速度。

==================================================== ===================

在Edge Impulse Studio的帮助下,我们将使用机器学习构建在微控制器上运行的手势识别系统。

==================================================== ===================

为了为我们的机器学习模型收集数据,我们将使用智能手机上的 3 轴加速度计传感器。

从 中选择我们phone的device,给出标签(让我们从“空闲”开始),S ample lengthof 10000(10s),Sensorasaccelerometer和 F requencyof 62.5Hz。

Idle

takeoff/land

forward

back

left

right

==================================================== ===================

由于我们已经获取了所有数据,是时候训练数据集以适应手势模型了,Edge Impulse 使我们无需编写任何代码就可以更轻松地生成模型。

有了训练集,我们就可以设计一个冲动。脉冲获取原始数据,在较小的窗口中对其进行切片,使用信号处理模块提取特征,然后使用学习模块对新数据进行分类。信号处理模块总是为相同的输入返回相同的值,用于使原始数据更易于处理,而学习模块则从过去的经验中学习。

After filter- 应用低通滤波器后的信号。这将消除噪音。

Frequency domain- 信号重复的频率(例如,每秒移动一个波将在 1 Hz 处显示一个峰值)。

Spectral power- 在每个频率进入信号的功率量。

处理完所有数据后,就该开始训练神经网络了。神经网络是一组算法,松散地模仿人脑,旨在识别模式。我们在这里训练的网络将信号处理数据作为输入,并尝试将其映射到四个类之一。

那么神经网络如何知道要预测什么?神经网络由多层神经元组成,所有神经元相互连接,每个连接都有一个权重。输入层中的一个这样的神经元将是 X 轴的第一个峰值的高度(来自信号处理块),而输出层中的一个这样的神经元将是takeoff(其中一个类)。在定义神经网络时,所有这些连接都是随机初始化的,因此神经网络将进行随机预测。在训练期间,我们然后获取所有原始数据,要求网络进行预测,然后根据结果对权重进行微小的更改(这就是标记原始数据很重要的原因)。

这样,经过多次迭代,神经网络就会学习;并且最终将在预测新数据方面变得更好。

==================================================== ===================

我们可以在这里看到我们的训练数据集。单击Classify all。

==================================================== ===================

现在我们已经准备好我们的无人机、M5Stack 模块和手势模型,让我们在代码中将所有内容连接在一起。

本项目教程的部分提供了完整的接口代码。Code

将代码刷入 M5Stack 模块。

对于用户交互:

==================================================== ===================

现在让我们测试一下手势控制,看看它的效果如何。

==================================================== ===================

尽管推理引擎无法准确地进行左右分类,但总体表现令人满意。此外,在某些情况下,需要多次应用手势命令才能进行检测和分类。

我们相信这些问题可以通过添加更多的训练数据集并使模型更加灵活来得到更好的解决。

==================================================== ===================

==================================================== ===================

THE END
0.宇辰网无人机资讯读懂无人机jvzquC41f{428<3eqo5w48rgfkg0V:96;4642=7::74ivvq
1.美军无人机“蜂群”有多强,怎么破无人机资讯无人系统网4.美军无人机“蜂群”有啥过人之处? 5.美军无人机“蜂群”有哪些弱点? 6.如何应对美军无人机“蜂群”? 一、美军提出无人机“蜂群”概念想干啥? 美军无人机“蜂群”概念提出是在军事智能化快速发展、武器装备成本增加、战场环境愈发恶劣背景下的一种新尝试,主要是基于以下三点考虑。 jvzquC41yy}/{xzwxu4dqv4pgyy0fnyckn532;5331734;7a40nuou
2.无人机+垂直起降:微型共轴双旋翼无人机技术详解共轴无人机微型共轴双旋翼无人机技术是一种独特的无人机设计,它结合了垂直起降(VTOL)能力和微型无人机的灵活性。这种设计允许无人机在无需跑道的情况下垂直起降,并具备在空中悬停和执行各种飞行动作的能力。 适用于集群控制,荷载250g,也有更大口径版本。本产品具有高可靠性,结构紧凑高度模块化设计,外形尺寸小,悬停效果好,可jvzquC41dnuh0lxfp0tfv8iqpi8139mqpi5bt}neng5eg}fknu525A:832;5
3.我校代表队在全国微型智能无人机挑战赛中喜获一等奖北航新闻网11月22日电(通讯员 李红光 李大伟)2019年11月16日-17日,由科学技术部火炬高技术产业开发中心、中关村科技园区管理委员会、国家国防科技工业局主办,国家科技部指导的“无微不智2019”全国微型智能无人机挑战赛在北京市平谷区北京通用航空产业基地举行。经过多轮紧张、激烈的角逐,我校由无人系统研究院李大伟jvzquC41pg}t0kzcc0kew7hp1ktgq86224562=8;0jzn
4.无人机飞行控制技术期末复习2.4、常规布局固定翼无人机的操纵机构有哪些? 升降舵,方向舵,副翼,油门杆 AI写代码cpp 运行 1 2.5、微型无人机依靠什么来进行导航? 为使微型无人机自主飞行,要采用重量轻、功率低的GPS接收机,低漂移量的微型陀螺仪和加速度计,也可以利用地理信息系统提供地形图导航。 jvzquC41dnuh0lxfp0tfv8|gkzooa?:746=668ftvkimg8igvcomu8657797;@7