探索 Jetson Nano 为 机械臂 提供的强大功能,机器人技术的一个有前途的组合

介绍
近年来,科学技术的发展给我们的生活带来了许多新的产品和服务,包括机器人在各个领域的集成。机器人已经成为我们生活中必不可少的一部分,从送货机器人到智能家居语音助手。

什么是Jetson Nano?
Jetson Nano 的尺寸仅为 70 x 45 毫米,比信用卡略小,是一种适用于机器学习应用的模块系统 (SoM)。

它还具有一个40针GPIO连接器,其布局与Raspberry Pi相同,使制造商和开发人员能够轻松重用以前项目中的某些模块和电路。

随着ChatGPT的出现,AI再次成为全球关注的焦点。从现在开始,值得从机械臂的角度了解人工智能趋势。

规范

让我们看一下下表,看看它的具体规格是什么样的。

这是一个 DH 参数

也许您对Jetson Nano和Raspberry Pi之间的区别感到好奇。我们将简要介绍使用 Jetson Nano 作为机器人嵌入式手臂的优势。

在处理性能方面,Jetson Nano采用了四核ARM Cortex-A57 CPU和128核NVIDIA Maxwell GPU,比Raspberry Pi的四核ARM Cortex-A72 CPU更强大。ARM Cortex-A57 CPU采用64位架构,时钟速度为1.43GHz,提供更高的计算性能。NVIDIA Maxwell GPU 专为深度学习等高性能计算任务而设计,具有高并行计算和大规模浮点计算能力。

在深度学习性能方面,Jetson Nano的GPU支持CUDA、TensorFlow等深度学习框架,可以加速深度学习模型的训练和推理。此外,Jetson Nano 还嵌入了 NVIDIA TensorRT 深度学习推理引擎,进一步提升了深度学习模型的推理性能。虽然Raspberry Pi的性能也可以支持一些深度学习应用程序,但由于其处理器和GPU的限制,其性能相对较弱。

总体而言,如果一个项目需要高性能处理器,Jetson Nano将是最佳选择,而Raspberry Pi基于其庞大的社区和世界上最大的开源硬件数据而拥有自己的优势。

如何使用?

要开始使用机械臂,我们只需要一台显示器、一个键盘和一个鼠标。我们可以使用一个名为pymycobot的Python库来控制机械臂的移动,该库通过其开放的API提供了许多控制接口。有了这个库,我们可以轻松地为机器人手臂开发应用程序。

我们利用pymycobot提供的API来控制机械臂的动作,并编排舞蹈表演。

import serial
from pymycobot import MyCobot
import time
mc = MyCobot('/dev/ttyTHS1',115200)
mc.send_angles([0,0,0,0,0,0],80)
time.sleep(1)
for count in range(2):
mc.send_angles([(-0.17),(-94.3),118.91,(-39.9),59.32,(-0.52)],80)
time.sleep(1.2)
mc.send_angles([67.85,(-3.42),(-116.98),106.52,23.11,(-0.52)],80)
time.sleep(1.7)
mc.send_angles([(-38.14),(-115.04),116.63,69.69,3.25,(-11.6)],80)
time.sleep(1.7)
mc.send_angles([2.72,(-26.19),140.27,(-110.74),(-6.15),(-11.25)],80)
time.sleep(1)
mc.send_angles([0,0,0,0,0,0],80)

复制

我们还可以在机械臂的末端安装一个摄像头来探索机器视觉。

这是openCV开发的人脸识别功能的代码。

def image_info():
# load cascade
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# input photo
img = cv2.imread('maya.png')
# turn to grays
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# check human face
faces = face_cascade.detectMultiScale(img, 1.1, 4)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
center_x = (x+w-x)//2+x
center_y = (y+h-y)//2+y
cv2.circle(img,(center_x,center_y),20,(0,255,255),2)
# show
plt.imshow(img)
plt.show()

在Raspberry Pi 4B和Jetson Nano上运行此面部识别代码显示出明显的速度差异,Jetson Nano返回结果的速度比Raspberry Pi快1-2秒。

让我们先了解算力意味着什么。计算能力通常以每秒浮点运算数 (FLOPS) 来衡量。FLOPS是一秒钟内可以完成的浮点运算数,用于评估计算机系统的性能。在深度学习领域,FLOPS通常用于衡量模型的计算复杂度和性能。例如,具有较高 FLOPS 值的模型意味着它需要更多的计算资源进行训练和推理,但它也可能获得更好的性能。

Jetson Nano 配备了 472 GFLOPS 的 GPU 计算能力,而根据官方数据,Raspberry Pi 4B 的浮点性能约为 3 GFLOPS。这可以解释上述情况。

未来与展望
随着人工智能技术的不断发展,嵌入式机器人的应用前景越来越广阔。未来,我们可以期待这种嵌入式六轴机械臂具有更广泛的应用领域,涵盖更多领域。例如,在工业、医疗、农业和教育领域,这种机械臂具有广泛的应用前景。在工业领域,可用于生产线上的自动化生产,提高生产效率和质量;在医疗领域,可用于手术、康复等方面,帮助医生更好地为患者服务;在农业部门,可用于农业生产的种植、收获等各个环节,提高农业生产效率和质量;在教育领域,它可以用于机器人编程教育,帮助学生更好地学习编程和机器人技术。

除了应用领域的扩大,随着技术的不断进步,这种机械臂也将不断发展。例如,未来可能会出现更先进的控制算法,使手臂的运动更加精确和灵活;更先进的传感器技术可能会出现,使手臂能够更准确地感知周围环境;更先进的深度学习技术可能会出现,使手臂能够智能地完成各种任务。总之,这种嵌入式六轴机械臂具有广阔的应用前景和发展空间,我们可以期待它在未来继续创新和进步。