×

使用TensorFlow对自平衡机器人进行手势控制

消耗积分:0 | 格式:zip | 大小:0.27 MB | 2022-11-09

分享资料个

描述

在早期的项目中,我开发了一个自平衡机器人

机器人可以由操纵杆控制。在这个项目中,机器人由手势控制。手势由神经网络识别。神经网络基于TensorFlow Lite

TensorFlow Lite 是TensorFlow用于移动和嵌入式设备的轻量级解决方案。它使您可以在 Arduino 等移动设备上运行机器学习模型。

我的草图是在Arduino Nano BLE Sense上实现的该板具有内置的九轴 IMU。该传感器模块包含一个 3 轴陀螺仪、一个 3 轴加速度计和一个 3 轴磁传感器。

对于使用 TensorFlow 进行训练,首先使用陀螺仪和加速度计(Sketch IMU_Capture.ino)记录所需的手势。之后,使用 PC 上的Jupyter NotebookGoogleColab中的 Python 数据进行训练。GoogleColab 提供了一个Jupyter notebook ,它允许我们在网络浏览器中运行我们的机器学习模型。网络训练完成后,模型将转换为 TensorFlow Lite。要将模型与 TensorFlow Lite 一起使用,您必须将完整的 TensorFlow 模型转换为 TensorFlow Lite 格式。

最后,将转换后的模型复制到草图 IMU_Classifier.ino 的 Arduino 头文件中。

Sandeep Mistry 和 Don Coleman的TinyML 文章中很好地解释了必要的步骤。

草图的模板在GitHub中

  • ArduinoSketches/IMU_Capture/IMU_Capture.ino
  • ArduinoSketches/IMU_Classifier/IMU_Classifier.ino

为了我的目的,我已经修改了这些草图。

Sketch IMU_Classifier.ino使用板载 IMU 开始从板载 IMU 读取加速度和陀螺仪数据,一旦读取足够的样本,它就会使用 TensorFlow Lite (Micro) 模型尝试将运动分类为已知手势. 识别手势后,将 X 和 Y 坐标发送到自平衡机器人。不幸的是,我无法使用 Arduino Nano 的蓝牙 BLE,因为这与我的 DUE 板上的 HC-05 Modul 与自平衡机器人不兼容。这就是我使用 HC-05 蓝牙模块的原因。

在以下示例中显示了 Caputre 的手势。

文件“前进”加速的图形索引 0

poYBAGNoe32AaObxAAFp3zvCTPU736.png
 

文件'forward'陀螺仪的图形索引0

pYYBAGNoe4CAUp39AADy4WQo6e0327.png
 

链接:我在 Google Colab 上的 Jupyter Notebook。您可以在 Google Colaboratory 中运行它。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !