探索 Jetson Nano 为 myCobot 280 机械臂提供的强大功能

news2024/10/5 14:30:54

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

介绍

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

在本文中,我们将讨论myCobot 280 Jetson Nano,这是一种能够进行科学实验和教育方面的机械臂。

什么是Jetson Nano?

Jetson Nano 的尺寸仅为 70 x 45 毫米,比信用卡略小,是一种适用于机器学习应用的模块系统 (SoM)。因为它只消耗大约 5 到 10 瓦的功率,所以它是边缘应用中 AI 的绝佳工具。

Jetson Nano有一个基于Maxwell的GPU,其中包含128个CUDA内核,能够每秒计算5 teraflops(.5 TFLOPs)。凭借其强大的ARM Cortex A57处理器和4GB LPDDR4 RAM,Nano是一款功能强大的小型计算机。它还支持多种外围设备,包括千兆以太网、HDMI 2.0、DisplayPort 1.4、2 个 DSI 连接器、一个 M.2 PCIe 连接器、4 个 USB 3.0 端口和两个 CSI 相机连接器(用于 Pi 相机等相机)。

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

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

什么是myCobot 280 Jetson Nano?

myCobot 280 Jetson Nano是一种嵌入Jetson Nano的机械臂,Jetson Nano是一款小巧而强大的计算机,使手臂能够轻松执行复杂的任务。手臂的有效载荷为 250 克,这意味着它可以携带高达 250 克的物体。手臂设计灵活且用途广泛,具有六轴运动和高达 280 毫米的伸展范围。它是广泛应用的理想工具,包括教育、研究和 DIY 项目。

myCobot 280 Jetson Nano是一个开源的机械臂,这意味着源代码和硬件设计可供公众使用。这使用户能够修改和定制手臂以满足他们的特定需求。该arm还与各种软件和编程语言兼容,包括Python,ROS和myBlockly。

规范

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

这是一个 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基于其庞大的社区和世界上最大的开源硬件数据而拥有自己的优势。

如何使用?

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

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

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。这可以解释上述情况。

未来与展望

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言求鸡兔同笼问题案例讲解

前言: 作者本人在今年4月份参加了一个C语言考试,编程大题里有一道鸡兔同笼问题;本来以为简简单单,几分钟搞定,拿个满分;结果翻车了,因为我在考场的时候想着,母鸡到底有几只脚呢&…

FlinkCDC第二部分-搭建Flink单机服务,ctrl就完事~

Flink版本:1.16 环境:Linux CentOS 7.0、jdk1.8 基础文件:flink-1.16.2-bin-scala_2.12.tgz、flink-connector-jdbc-3.0.0-1.16.jar、flink-sql-connector-mysql-cdc-2.3.0.jar 1. 在目录/home/flink下解压flink-1.16.2-bin-scala_2.12.tg…

基于 R 对卫星图像进行无监督 kMeans 分类

一、前言 本文将向您展示如何使用 R 对卫星图像执行非常基本的 kMeans 无监督分类。我们将在 Sentinel-2 图像的一小部分上执行此操作。 Sentinel-2 是由欧洲航天局发射的一颗卫星,其数据可在此处免费访问。 我要使用的图像显示了 Neusiedl 湖的北部(奥地…

系统移植 根文件系统的移植 7.5

根文件系统的移植 根文件系统:根目录下的所有文件和工具的集合 根文件系统是内核启动后挂载的第一个文件系统系统引导程序会在根文件系统挂载后从中把一些基本的初始化脚本和服务等加载到内存中去运行文件系统层次结构标准 文件具体的属性只能在内核中看到&#xf…

django-vue-admin curd_demo 快速crud教程

django-vue-admin curd_demo 快速crud教程 快速CRUD开发教程:https://bbs.django-vue-admin.com/article/9.html 如何在 env.py 文件配置Mysql数据库:https://bbs.django-vue-admin.com/question/4.html 导入导出配置教程:https://bbs.djang…

Linux MySQL三种安装方式

MySQL 三种常用安装方式: 离线安装: 在mysql官网进行下载,步骤如下: 然后找到这个: 因为我这里使用的OS为CentOS7,大家可以按自己的系统进行选择。 最后通过XFTP/SCRTXF将文件传到虚拟机上。 然后将…

剑指 Offer 15. 二进制中1的个数 / LeetCode 191. 位1的个数(位运算)

题目: 链接:剑指 Offer 15. 二进制中1的个数;LeetCode 191. 位1的个数 难度:简单 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的…

MYSQL04高级_逻辑架构剖析、查询缓存、解析器、优化器、执行器、存储引擎

文章目录 ①. 逻辑架构剖析②. 服务层 - 查询缓存③. 服务层 - 解析器④. 服务层 - 优化器⑤. 服务层 - 执行器 ①. 逻辑架构剖析 ①. 服务器处理客户端请求 ②. 连接层 系统(客户端)访问MySQL服务器前,做的第一件事就是建立TCP连接经过三次握手建立连接成功后,MySQL服务器对…

安装centos报错usb2-port3: Cannot enable. Maybe the USB cable is bad?的垃圾解决办法

使用U盘安装系统,用Rufus烧录,建议使用DVD版本,MINIMAL没有图形界面,同时安装的时候也要选安装GNOME联想P330在开机Lenovo出现时狂按F12,选USB UEFI partition1进入,差不多这个界面,还有一些BIO…

rt-thread-------内存管理(内存堆)

系列文章目录 rt-thread 之 fal移植 rt-thread 之 生成工程模板 STM32------串口理论篇 rt-thread------串口V1版本(一)配置 rt-thread------串口V1版本(二)发送篇 rt-thread------串口V1版本(三)接收篇 r…

系统移植 uboot移植 7.3

给fs4412板子配置uboot uboot激活流程 (arch/arm/cpu/armv7/start.S) reset 1.设置CPU模式为SVC//在这里加点灯的代码。看程序的代码有没有执行// ldr r0,0x11000C40 ldr r1,[r0] bic r1,r1,#0xf0000000 orr r1,r1,#0x10000000 str r1,[r0]ldr r0,0x11…

打包时未添加livepusher模块

我们的项目采用的是混入开发,html5, 使用到了安卓离线打包,其中使用到了livepusher模块,本来没什么难事的,很简单的一个问题,但是中文的官方文档却介绍错了包名,一直在郁闷为啥不行,痛苦啊。本来…

WiFi cfg80211的kernel架构(基于Linux 3.08)

目录 1.框架 2.主要流程 2.1.malloc & init(softmac) 2.1.3 内存分配 2.2. 结构体关系 2.3.初始化顺序 2.4.beacon frame 2.4.1.接收流程 2.4.2.beacon响应流程 2.5.scan 2.6.auth and associate 2.7. rx/tx data 2.7.1.rx 2.7.2.xmit 2.8.csa 2.9.missi…

MATLAB基础篇(下)

本文为MATLAB基础篇(上)的后续。 二、 MATLAB基本语法 7、基本绘图方法 Ⅰ、 MATLAB绘图的一般步骤 对数轴进行采样对采样点计算相应的函数值, 得到平面(或空间)上的点的数据运用绘图命令将数据进行图形化显示 x-1:0.01:1; %对数轴进行采样ysin(1./x);…

Linux之基础git命令的使用

Linux之基础git命令的使用 提交第一步提交第二步提交第三步查看历史提交记录查看是否需要提交过滤提交时的文件 git命令的初始使用 在使用之前,我们先确定我们的xshell是否安装的git,需要输入命令 git --version 如果没有显示版本号,则需要进…

【操作系统】c语言--使用信号量解决生产者和消费者问题

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

Vue--》Vue3打造可扩展的项目管理系统后台的完整指南(九)

今天开始使用 vue3 ts 搭建一个项目管理的后台&#xff0c;因为文章会将项目的每一个地方代码的书写都会讲解到&#xff0c;所以本项目会分成好几篇文章进行讲解&#xff0c;我会在最后一篇文章中会将项目代码开源到我的GithHub上&#xff0c;大家可以自行去进行下载运行&…

Eclipse配置JVM启动参数

【参考】Eclipse设置jvm参数的三种方式

git、gitlab、github在windows下通用的操作笔记

前言&#xff1a;命令是在Git Bash 下输入的命令&#xff0c;GUI部分涉及到小乌龟git&#xff0c;可以自行安装&#xff0c;不同版本有差异&#xff0c;用git的新手也可以尝试 SourceTree 提供漂亮的图形化界面操作&#xff08;但是卡顿坑多&#xff0c;需三思&#xff09; 1、…

7月11入伏,进入三伏天dog days

三伏天&#xff0c;是一年中最热的日子,今年的三伏天始于7月11日。sanfu, the hottest time of the year begins on July 11th this year. 三伏&#xff0c;也称为中国的dog days,预示着一年中最热的三个阶段&#xff0c;每一阶段大约有10-20天。Sanfu, also called Chinas &qu…