基于Jetson平台搭载嵌入式GPU的智能服务机器人视觉系统软件总体设计
一、引言随着科学技术的快速发展和人们生活水平的不断提高人们对服务机器人的需求正日益增加。目前服务机器人已逐渐在医疗护理、家庭清洁、娱乐教育等多个领域内发挥重要作用能够有效地帮助人们从枯燥繁琐的日常工作中解放出来。本论文针对家庭和办公场所的应用场景采用英伟达的嵌入式GPU处理器Jetson TX2设计并实现了一款智能服务机器人视觉系统软件。该软件具有目标对象检测、人脸识别、语音识别、语音合成和双目测距等五项功能可以应用在各种智能服务机器人的视觉系统设计中具有良好的实际应用价值。二、软件总体设计2.1 需求分析本文的智能服务机器人视觉系统软件主要针对家庭和办公场景下的机器人应用进行设计设计目的是协助人们完成一些日常的事物。该软件设计涉及到了目标对象检测、人脸识别、人机语音交互和视觉测距等功能。在目标对象检测、人脸识别中涉及到了深度卷积神经网络算法视觉测距中涉及到了 OBR 特征点检测等算法算法的整体复杂度和计算量较大且所有功能都在嵌入式设备上完成对嵌入式处理器的性能要求较高。Jetson TX2 是英伟达公司推出的新一代嵌入式人工智能计算设备由英伟达 Pascal 架构驱动集成了深度学习功能和丰富的I/O接口且外形小巧、功率只有7.5瓦。 卓越的性能、强大的设计和简单的系统集成使得Jetson TX2非常适用于机器人、无人机、智能相机和便携式医疗设备等智能设备满足本文软件开发所需的基本硬件需求。2.1.1 软件功能分析(1) 目标对象检测功能目标对象检测功能需要实现检测和定位图像中的目标对象。目标对象检测需要检测指定的多类对象是否出现在图像中并指出对象的类别和对象在图像中的位置。(2) 人脸识别功能人脸识别功能需要识别检测到的人脸判断检测到人脸是否是人脸库中的人脸。若是人脸库中的人脸则需指出人脸对应的姓名。(3) 人机交互功能人机交互功能要通过语音实现机器人与人的交流该功能中要对交互对象的语音进行识别和理解理解交互对象的语音后执行语音中包含的指令。在交互中将交互信息合成为语音形式传递给交互对象。(4) 测距功能测距功能用来测量指定目标对象到机器人的距离将采用双目测距实现。该功能中结合了目标对象检测功能和人机交互功能通过人机交互功能指定需要测量的目标对象利用目标对象检测功能中得到的目标对象在左图像上的位置预测目标对象在右图像上成像区域提取这两个区域中的目标对象的特征并匹配最后完成测距。2.1.2 软件性能分析(1) 目标对象检测和人脸识别算法性能本论文中将采用深度卷积神经网络对目标对象进行检测和识别。深度卷积神经网络有很多卷积运算和矩阵运算卷积运算和矩阵运算的计算量非常大但是各个运算之间没有相互依赖关系因此可以采用并行计算来提高深度卷积神经网络的计算效率。Jetson TX2开发平台拥有256核的Pascal GPU和支持CUDA框架软件库利用CUDA技术就可以将 256个核串连起来使265个核成为线程处理器去解决并行计算的问题同时每个核间能够交换、同步和共享数据。(2) 语音识别性能智能服务机器人视觉系统软件中涉及到了语音识别功能需要做到识别准确且速度快。由于目标对象检测和人脸识别算法占据了Jetson TX2中大部分的资源本论文中将采用科大讯飞的在线语音识别接口。科大讯飞开放平台拥有领先的语音识别技术核心技术达到国际领先水平语音识别准确率已经超过 98%。Jetson TX2 开发平台中包含了 WiFi 模块使得机器人连接网络的同时移动不受限制。(3) 测距性能本论文中测距的方法与其他传统的匹配方法不同是利用目标对象检测功能得到目标对象位置的基础上进行特征的匹配。Jetson TX2的开发包JetPack中支持OpenCV4TegraOpenCV4Tegra 是基于标准 OpenCV 在 CPU 和 GPU 上的硬件加速版本包含了许多图像处理计算机视觉和机器学习的方法。2.2 软件系统框架设计2.2.1 硬件平台概述Jetson TX2 模块处理组件如图2-1所示Jetson TX2 模块包括以下处理组件(1) 256 核英伟达Pascal GPU。完全支持所有现代图形API统一着色器并支持GPU计算。支持与其他分立英伟达GPU相同的所有功能包括大量的计算API和CUDA在内的库。高度功耗优化可在嵌入式项目中实现最佳性能。(2) ARM Cortex-A57 MPCore(四核2.0GHz和 Denver2(双核2.0GHz)多处理器CPU。 两个CPU集群通过英伟达设计的高性能互连结构连接实现两个CPU集群的同时操作实现真正的异构多核环境。Denver2 CPU 集群针对单线程性能进行了优化ARM Cortex-A57 MPCore CPU 集群更适合多线程应用和更轻负载。(3) 高级高清视频编码器可以录制4K分辨率60fps超高清视频。支持H.265和H.264 BP/MP/HP/MVCVP9和VP8编码。(4) 高级高清视频解码器可以播放4K分辨率60fps超高清视频最高可达12位像素。支持H.265H.264VP9VP8 VC-1MPEG-2和MPEG-4视频标准。(5) 两个多模eDP/DP/HDMI输出和最多8个通道的MIPI-DSI输出。多行像素存储允许更高内存效率的缩放操作和像素提取。还提供硬件显示表面旋转以减少移动应用中的带宽。(5) 128 位存储器控制器128位DRAM接口支持LPDDR4Jetson TX2集成了8GB LPDDR4 和32GB eMMC。(6) 1.4Gpix/s 的先进图像信号处理ISP。(7) 音频处理引擎音频子系统通过多个接口为多声道音频提供硬件支持。Jetson TX 开发板包含如下接口和外围设备(1) HDMI 2.0最高支持分辨3840x216060Hz(2) WiFi最大传输速率867Mbps(3) USB3 接口和USB2接口(4) 蓝牙4.1最大传输速率3MB/s(5) 100M 网口(6) 双路CAN总线(7) SATASDcard 接口综上所述Jetson TX2 集成了嵌入式GPU可用于部署计算机视觉和深度学习同时又具备先进图像信号处理ISP和音频处理引擎基本满足本文软件开发所需的功能与性能需求故而本文选择Jetson TX2作为软件开发的平台。2.2.2 软件框架设计根据软件功能和性能分析同时结合Jetson TX2开发平台的特性智能服务机器人视觉系统软件总体框架设计主要由视觉检测模块、人机交互模块和视觉测距模块三大模块及其子模块组成软件框架如图2-2所示。视觉检测模块主要负责视频采集、目标对象检测和显示识别结果等处理环节。其中检测到的目标对象将发送到视觉测距模块用于视觉测距检测到的人脸将发送到人机交互模块用于人机交互。人机交互模块主要负责人脸识别、语音输入、语音识别、执行相关命令和语音合成等任务。将根据人脸识别的结果决定是否启动人机交互拿物品的命令会将物品的名称发送到视觉测距模块。视觉测距模块主要负责相机标定、图像校正、特征匹配和物品测距等处理任务其中需要测距物品从人机交互模块中获取测距的结果将发送到视觉检测模块用于显示。2.2.3 软件开发方案软件开发方案制定与过程如下(1) 搭建开发环境开发环境搭建包括Jetson TX2开发环境搭建和模型训练的服务器搭建软件开发环境搭建流程介绍详见下一节内容。Jetson TX2在开发前需要安装英伟达JetPack SDK英伟达JetPack SDK 是构建 AI应用程序的解决方案JetPack安装程序使用最新的操作系统映像刷新Jetson TX2为主机和Jetson TX2 安装开发工具并安装开发环境所需的库和API示例和文档。服务器搭建则需要搭建Darknet运行环境Darknet是用来训练YOLOv2网络。Darknet 是一个用C和CUDA编写的开源神经网络框架并支持CPU和GPU计算。(2) 视觉检测模块开发视觉检测模块主要基于深度卷积神经网络。首先将采集检测对象的图片制作成训练集拍摄检测对象的图片制作成测试集。接着针对本论文的识别要求修改神经网络。然后用训练集训练网络得到网络的权值并用测试集验证检测效果。最后利用 TensorRT 推理框架对网络进行优化加速。(3) 人机交互模块开发人机交互模块是通过语音的形式进行交互类似于人与人之间的交流。人机交互模块首先利用深度卷积神经网络对检测到的人脸进行识别若识别到人脸库中的人脸则启动语音交互。然后使用绿联USB外置声卡打开麦克风采集语音采集到的语音通过互联网上传至科大讯飞云服务器进行在线识别理解识别结果可得到相应的指令。最后根据交互对象的指令执行相关操作。在交互过程中将相关信息合成为语音与对象进行交互。(4) 视觉测距模块开发视觉测距模块通过双目测距对指定对象进行测距。双目测距需要对双目相机进行标定利用标定的数据矫正左右图像使图像能够满足双目测距的要求。然后提取两幅图像中对象的特征点匹配特征点就可计算视差值将视差值代入双目测距公式就能得到对象的距离。2.3 开发环境搭建2.3.1 硬件开发环境本文中软件运行在英伟达 Jetson TX2 上通过锐尔威视的双目摄像头 RER-720P2CAM 采集视频画面利用绿联USB外置声卡US205作为拓展口采集和播放音频数据。硬件平台及外接设备如图2-3、2-4、2-5所示各个硬件模块的特点与作用如表2-1所示基本流程包括双目摄像头采集左右图像并传输到 Jetson TX2Jetson TX2 通过YOLOv2网络对左图像进行处理。若识别到人脸则利用绿联USB外置声卡打开麦克风采集音频数据通过对音频数据的识别执行相关指令再利用绿联USB外置声卡打开扬声器播放合成的语音进行交互。若交互对象需要拿物品则需要利用左右图像进行测距。2.3.2 软件开发环境(1) JetPack 软件包安装Jetson TX2 开发板出厂时只安装了ubuntu14.04操作系统没有安装开发需要的环境。因此需要通过英伟达公司提供的JetPack开发工具包对Jetson TX2进行固件升级。本文中采用 JetPack3.2JetPack3.2 中包含了 ubuntu16.04 操作系统CUDA9.0 ToolkitcuDNN7.0 等。具体步骤如下① 在 ubuntu16.04 主机终端上下载 JetPack-L4T-3.2-linux-x64_b196.run并添加 JetPack-L4T-3.2-linux-x64_b196.run 的执行权限。② 在ubuntu16.04 主机终端运行JetPack-L4T-3.2-linux-x64_b196.run进入 JetPack L4T3.2 Components Manage 界面选择需要的组件并下载安装如图2-6所示。③ 设置Network Layout有 Device accesses Internet via router/switch 和 Device accesses Internet via host machine through setting up a new DHCP server configuration on host 两个选择 项本论文中选择前者要求主机和Jetson TX2在同一个网段上即在同一个路由器或者交换机上Jetson TX2升级过程中要求主机和Jetson TX2始终连接互联网。④ 用Micro USB连接Jetson TX2 和主机将Jetson TX2上电之后按住Recovery键不放三秒钟后再按下Reset键松开Recovery后Jetson TX2就进入了Recovery模式。然 后在主机端通过lsusb命令检查是否有Nvidia Corpration若存在则说明Jetson TX2和主机正确连接。⑤ JetPack 会升级Jetson TX2 的系统和安装开发工具。(2) TensorFlow 环境搭建本文中的深度学习网络将在TensorFlow 环境下运行因此将在Jetson TX2 上搭建 TensorFlow 环境。TensorFlow 是一个开源软件库由谷歌公司研发用于进行高性能数值计算。借助其灵活的架构可以轻松地将计算工作部署到多种平台和设备可为机器学习和深度学习提供强 力支持并且其灵活的数值计算核心广泛应用于许多其他科学领域。本文将在Jetson TX2 上搭建TensorFlow1.6需要在L4T28.2CUDA9.0 Toolkit and cuDNN 7.0 环境中编译安装具体步骤如下① 安装相关依赖。包括openjdk、autoconf、libtool、curl、zlib1g-dev 等。② 安装Bazel。需要从github下载并编译bazel-0.11.1。③ 安装TensorFlow。下载Tensorflow 源码导出版本1.6设置8GB的内存交换空间利用Bazel进行编译。④ 编译成功后会得到两个库libtensorflow_cc和libtensorflow_framework用于 C环境下的编译。⑤ 清除内存交换空间。(3) 模型训练服务器搭建本文采用深度卷积神经网络进行目标对象检测其训练过程计算量极大对处理器的性能要求极高。目前深度卷积神经网络的训练主要依赖于 GPU图形处理器。GPU 是一种特殊类型的处理器拥有数百甚至数千个计算核心经过专门优化能够并行处理海量计算任务。尽管 GPU 在游戏领域以 3D 渲染而闻名但其在运行和分析深度学习、机器学习算法方面同样表现出色。因此本论文在服务器端配置了英伟达公司生产的 GPU型号为 TITAN X。服务器端环境搭建步骤如下① 从英伟达官方网站下载与服务器操作系统及显卡型号相匹配的显卡驱动NVIDIA-Linux-x86_64-390.67.run、CUDA 9.0 和 cuDNN 7.0。② 为显卡驱动文件添加执行权限切换到 tty1 控制台并关闭 x-window 服务然后运行驱动安装程序等待安装完成。③ 驱动安装完成后启动 x-window 服务进入图形界面安装 CUDA 和 cuDNN。④ CUDA 和 cuDNN 安装完成后添加相应的环境变量进入 Darknet 文件夹并编译其中的源码。

相关新闻

ESXI 7.0下RouterOS+OpenWRT双软路由避坑指南(含防火墙规则修复)

ESXI 7.0下RouterOS+OpenWRT双软路由避坑指南(含防火墙规则修复)

ESXi 7.0 双软路由部署:从拓扑规划到防火墙规则深度排障实战 最近在帮朋友调试家庭网络时,遇到了一个挺有意思的案例。他按照网上流行的教程,在ESXi 7.0上部署了RouterOS和OpenWRT双软路由,拓扑看起来没问题,配置也照着抄了一遍,但就是有个怪现象:OpenWRT旁路由自己用诊…

2026/7/23 20:06:25 阅读更多 →
Padavan固件在MT7621路由器上的实战体验:从刷机到日常使用全记录

Padavan固件在MT7621路由器上的实战体验:从刷机到日常使用全记录

Padavan固件在MT7621路由器上的实战体验:从刷机到日常使用全记录 最近几年,折腾路由器似乎成了不少技术爱好者的“新玩具”。从原厂固件到各种第三方开源系统,每一次刷机都像是一次小小的探险。在众多选择中,Padavan固件(俗称“老毛子固件”)以其独特的魅力,在MT7621这…

2026/7/23 20:06:25 阅读更多 →
TMS570时钟系统与低功耗模式实战:从架构解析到汽车MCU应用

TMS570时钟系统与低功耗模式实战:从架构解析到汽车MCU应用

1. 时钟系统架构深度解析 时钟系统是微控制器的心脏,它决定了整个芯片的“脉搏”和“节奏”。在TMS570LS12x/11x这类面向功能安全(如ISO 26262 ASIL-D)的汽车级MCU中,时钟系统不仅仅是提供频率那么简单,它更是系统稳定…

2026/7/23 20:06:25 阅读更多 →

最新新闻

YOLOv8水果检测系统:从数据集构建到部署落地

YOLOv8水果检测系统:从数据集构建到部署落地

1. 项目概述:当计算机视觉遇上水果摊去年帮朋友改造水果店智能结算系统时,我深刻体会到传统图像处理方法在复杂场景下的局限性。光照变化、重叠遮挡、相似颜色干扰等问题,让基于OpenCV的方案准确率始终徘徊在80%左右。直到采用YOLOv8构建的水…

2026/7/23 20:15:29 阅读更多 →
D类功放PCB布局核心:接地、敏感节点与基准点设计实战

D类功放PCB布局核心:接地、敏感节点与基准点设计实战

1. 项目概述:为什么D类功放的PCB布局是“玄学”与“科学”的结合干了十几年硬件设计,从模拟功放到数字功放,再到如今主流的D类功放,我最大的感触是:D类功放的设计,原理图只是“纸上谈兵”,真正的…

2026/7/23 20:15:29 阅读更多 →
隐私安全本地 AI 智能体,OpenClaw2.7.9 Windows 稳定部署教程(含安装包)

隐私安全本地 AI 智能体,OpenClaw2.7.9 Windows 稳定部署教程(含安装包)

极简部署 OpenClaw 2.7.9|五分钟搭建本地 AI 智能体,告别繁琐环境配置🦞 资源下载入口📥 Windows 版本:https://xiake.yun/api/download/package/18?promoCodeIV4E9B04A80C 苹果系统版本:https://open…

2026/7/23 20:15:29 阅读更多 →
开源桌面自动化 AI 智能体 OpenClaw 2.7.9,Windows 零基础搭建全过程(含安装包)

开源桌面自动化 AI 智能体 OpenClaw 2.7.9,Windows 零基础搭建全过程(含安装包)

桌面自动化 AI 新选择|OpenClaw 小龙虾 2.7.9 本地部署与上手教程✨ 前言📢 OpenClaw(圈内俗称小龙虾)是一款热度较高的开源桌面 AI 智能体,支持本地运行、可视化操作、自动化任务执行。和普通对话类 AI 不同&#x…

2026/7/23 20:15:29 阅读更多 →
Ollama 本地模型如何连通 OpenClaw,参数设置与问题排查汇总(含安装包)

Ollama 本地模型如何连通 OpenClaw,参数设置与问题排查汇总(含安装包)

OpenClaw v2.7.9 对接 Ollama 本地模型图文配置教程 前置准备 本机已经安装 OpenClaw Windows 版本,程序可以正常启动运行OpenClaw 顶部 Gateway 服务状态保持在线设备网络通畅,能够正常访问 Ollama 官网磁盘预留充足存储空间,本地模型文件…

2026/7/23 20:15:29 阅读更多 →
Agent Skills:扩展AI智能体能力的轻量级规范

Agent Skills:扩展AI智能体能力的轻量级规范

1. Agent Skills核心概念解析Agent Skills本质上是一种轻量级的开放格式规范,专门用于扩展AI智能体的能力边界。它通过标准化的文件结构和元数据描述,将特定领域的专业知识和操作流程封装成可复用的技能包。这种设计理念源于一个核心观察:当前…

2026/7/23 20:14:28 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻