看Jetson NANO如何变成“蜘蛛侠”

网友投稿 2019-05-05 10:51

自从NVIDIA发布了开源智能小车JetBot项目后,各路创客开始脑洞大开,比如这个:

不过Lady我还是被这个外国小哥的作品惊艳到了:

https://cdn.china-scratch.com/timg/190507/10512H5Q-0.jpg

是的,他用Jetson NANO做了一个四足机器人,取名叫:Jetspider!

小哥说:希望复制JetBot的DEMO,但是用更便宜的硬件,以适用于更广泛的项目。

以下是小哥对这个项目的介绍

第一步:准备硬件

对于这个项目,我使用了由Zoobotics制作的Zuri四足机器人的早期原型。我为它配备了用于Jetson Nano的激光切割木质支架和一个摄像机支架。如果您想要创建类似的Jetson Nano机器人,您可以查看Meped项目,这是一个类似于开源设计的四足动物。事实上,由于在我们的实验室中没有人拥有Zuri微控制器(Arduino Mega)的源代码,我使用了Meped的代码,对腿/脚偏移进行了一些微调。

https://cdn.china-scratch.com/timg/190507/10512WB2-1.jpg

我使用常规的USB Raspberry Pi兼容网络摄像头和Wifi USB加密狗。

https://cdn.china-scratch.com/timg/190507/1051292427-2.jpg

重点是,由于我们将使用Pyserial进行微控制器和Jetson Nano之间的串行通信,因此您的系统基本上可以使用任何类型的微控制器,只要它可以通过USB串行电缆与Jetson Nano连接。如果您的机器人使用直流电机和电机驱动器(例如基于L298P),则可以使用Jetson Nano GPIO直接连接电机驱动器。但不幸的是,对于控制伺服系统,您只能使用另一个微控制器或专用I2C伺服驱动器,因为Jetson Nano没有硬件GPIO PWM。

https://cdn.china-scratch.com/timg/190507/1051295O2-3.jpg

总而言之,您可以使用任何可通过USB数据线与Jetson Nano连接的微控制器使用机器人类型。 我将Arduino Mega的代码上传到本教程的github :

https://github.com/AIWintermuteAI/jetspider_demos

第2步:安装必要的软件包

幸运的是,默认的Jetson Nano系统映像预装了很多东西(比如OpenCV,TensorRT等),因此我们只需要安装其他一些软件包来使代码工作并启用SSH。

让我们首先安装Python Package Manager(pip)和Pillow进行图像处理。

然后我们将安装Jetbot镜像,因为我们依赖它的框架的某些部分来执行对象检测。

最后将此项目的Github镜像克隆到您的主文件夹,并使用Web服务器安装Flask和其他一些用于机器人远程控制的软件包。

下载预训练的SSD(单次检测器)模型,并将其放在jetspider_demos文件夹中。

https://cdn.china-scratch.com/timg/190507/10512a443-4.jpg

第3步:运行代码

我为Jetspider制作了两个演示,第一个是简单的远程操作,非常类似于我之前为Banana Pi流动站制作的,第二个使用TensorRT进行物体检测,并通过串行连接将运动命令发送到微控制器。

对象跟随的主要脚本是jetspider_object_following中的object_following.py,远程操作是jetspider_teleoperation中的spider_teleop.py。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com