NVIDIA Jetson 项目:机器人足球比赛

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景

 

NVIDIA Jetson 项目:机器人足球比赛

事实上,整个比赛都致力于这个想法。RoboCup小型联盟(SSL)视觉停电技术挑战赛鼓励团队“探索本地传感和处理,而不是非车载计算机和全球摄像机感知环境的典型方法。来自巴西累西腓伯南布哥联邦大学的学生 João Guilherme、他的导师 Edna Barros 和其他 SSL 队友建造了一个由 NVIDIA Jetson Nano 开发套件提供支持的全向机器人,用于自主执行足球任务。

该团队用单目摄像头构建了他们的全向机器人,可以自主执行以下任务:

  • 地方化
  • 足球检测和抓取
  • 坐标计算
  • 将球传给其他团队机器人
  • 空门得分

该团队使用AI软件管道构建了机器人,平均处理速度为30 FPS,硬件仅消耗约10.8 W的功率。

机器人的前部有一个踢腿装置,是一个四轮全向机器人。图 1 显示了机器人的几何形状。

显示SSL全向机器人运动能力的图表。

图1.由 NVIDIA Jetson 纳米开发套件提供支持的全向机器人的运动能力,可自主执行足球任务

“我们通过三项足球任务评估我们的系统:抢球、进球和传球,分别实现了 80%、80% 和 46.7% 的成功率,”该团队在迈向自主机器人杯小型联盟机器人中解释道。

在比赛期间,球队将使用场外计算机执行大部分计算,接收球的位置并收集场地几何信息和裁判命令。比赛在11个(B级)和180个(A级)机器人的团队之间进行,机器人通过RF通信以最小的带宽接收导航命令。机器人的直径和高度限制在150毫米(B分区)和<>毫米(A分区),因此得名小尺寸联盟。

SSL RoboCup比赛包括四个阶段:

  1. 在球场上的某个地方抓住一个静止的球
  2. 空门带球得分
  3. 将机器人移动到特定坐标
  4. 打进一个间接进球(需要两个机器人)

此外,这一挑战要求机器人检测野外物体,估计其位置,计算导航路径并记录过去的轨迹。

“SSL匹配是高度动态的环境,具有极其资源受限的机器人,需要解决方案考虑尺寸,功耗,准确性和处理速度权衡。这项工作提出了一种架构,使这些机器人能够自主执行基本的足球任务,也就是说,无需接收任何外部信息,“Guilherme和他的队友在迈向自主RoboCup小型联盟机器人中表示。

项目硬件

该团队在其项目中使用了以下硬件:

  • Jetson 纳米开发套件,用于执行嵌入式视觉和决策
  • 全向机器人
  • 罗技 C922 摄像头,提供单目视觉
  • 惯性传感器,用于实现测程估计
  • STM32F767ZI微控制器单元(MCU),用于接收来自Nano的目标相对位置和导航标志,并使用惯性里程计执行低级控制和轨迹估计

足球机器人AI检测管道和运动规划流程图。

图2.足球机器人的AI检测流水线及运动规划

有关所用硬件的更多信息,请参阅 RobôCIn 2020 团队描述文件。

技术挑战

在比赛的视觉停电挑战赛中,获胜的机器人必须能够完成各种基于足球的技能,包括抓住一个静止的球,在空球上得分,移动到特定的坐标,以及得分一个间接进球(传给另一个机器人)。

机器人必须能够仅使用嵌入式传感和处理来执行这些技能。这项挑战没有高度限制,因此该团队在他们的典型机器人顶部增加了一个机载摄像头Jetson Nano和一个电源板。

图中显示了两个版本的足球机器人。左边的那个是为视觉停电挑战而修改的,带有板载摄像头和电源板。原始机器人显示在右侧。

图3.该团队为视觉停电挑战赛改装的足球机器人(左)和他们原来的机器人(右)

此外,这一挑战要求机器人检测野外物体,估计其位置,计算导航路径并记录过去的轨迹。SSL足球比赛利用外部摄像头和机外计算机来感知环境并向机器人发送命令。

根据研究人员的说法,SSL Vision架构“存在诸如相机的视野,颜色分割,软件延迟和通信中断等限制,迫使团队开发处理复杂条件的解决方案。例如,比赛中的一个常见问题是球遮挡,当机器人在相机图像上的投影与球重叠时,就会发生这种情况。另一个问题是球和机器人的位置会闪烁,偶尔不会检测到或错误地检测到它们。

在SSL竞赛中,机器人和球分别达到3.7米/秒和6.5米/秒的速度,导致快速移动的游戏需要高吞吐量的解决方案。此外,尺寸限制加上使用电池作为电源要求解决方案具有低功耗。此外,在比赛中进行精确的长距离踢球和传球,需要准确的位置估计。

该团队还指出了精确电机控制的重要性,因此机器人可以在足球场上移动并保持其测量位置准确。该团队需要一种方法来降低机器人对其位置的内部理解与其实际物理位置的分歧率。有关更多详细信息,请参阅迈向自主机器人杯小型联盟机器人。

显示机器人如何检测球场上的足球的流程图。

图4.足球机器人的摄像头有助于物体检测以及用于决策和路径规划的视野

项目软件和人工智能

该团队使用OpenCV2以及校准和姿势计算技术来提取单眼相机(固定在机器人上)的“内在和外在参数”。他们使用SSD MobileNet v2来检测相机帧上物体的2D边界框。他们还使用了一个程序,将线性回归应用于SSD MobileNet创建的边界框坐标,用于估计预先校准的相机参数。这将在场上分配对应于对象底部中心(具有对象与相机的相对位置)的点,因此也分配给机器人。

结果

该团队对他们的机器人在今年的挑战中的表现感到满意。亮点包括:

  • 抓住一个静止的球: 在 12 次尝试中的 15 次中,机器人能够在球接触运球器时停止,成功率为 80%。
  • 进球: 12次跑动中有15次打进一球。
  • 通过:机器人在 7 次尝试中的 15 次中传球,成功率为 46.7%。

访问 机器人世界杯 2023 结果以查看完整的结果列表。该团队自 2019 年以来一直参加 RoboCup 小型联赛,并在 2022 年赢得了他们的第一个世界冠军(B 级)。他们目前是三届拉丁美洲冠军。RobôCIn 2023 年 RoboCup 小型联赛扩展团队描述文件介绍了该团队在 2023 月下旬在法国波尔多举行的 RoboCup <> 中对小型联赛 (SSL) B 级冠军的项目所做的改进,当时他们获得了第一名。

机器人抓住固定球的 gif。

图5.机器人抓住静止球(左)并进球(右)

未来计划

Guilherme分享了他们的团队在比赛中遇到的挑战的一些见解,以及未来赛事的改进机会。他指出,大多数失败是由于来自场外物体的假阳性检测。“我们正在研究一种检测场边界并应用掩模丢弃这些物体的解决方案,”他说。

团队需要更快的对象检测解决方案。“尽管到目前为止我们能够执行基本技能,但对于SSL环境来说,30 FPS的处理速度仍然很低。在主要比赛中,相机通常以 70 FPS 的速度运行,“他说。

机器人的技能仅使用检测到的物体的相对位置来实现,也就是说,没有机器人在现场的自我定位知识。“我们相信这些信息可能有助于优化我们在足球任务中的表现,同时也使我们能够避免处罚,”Guilherme指出。例如,机器人不应进入守门员的区域。“我们正在研究一种基于蒙特卡罗定位(MCL)的自我定位算法,并将在未来几个月内分享。

该团队计划在未来为机器人系统添加更多功能(例如场线检测、定位算法和路径规划),他们将努力优化系统的每个部分以满足这些需求。

此外,该团队继续研究检测场边界和线以及估计机器人自我定位的解决方案。他们还计划用Jetson Orin Nano取代Jetson Nano,这样他们就可以用机器人实现更快的处理速度。这种升级应该有助于球队在联赛中更有效地竞争。

要了解有关团队原始项目的更多信息,请访问开发人员论坛和 GitHub。探索 Jetson 社区项目,从机器人开发人员同行那里获得更多想法和灵感。

原文链接:NVIDIA Jetson 项目:机器人足球比赛 (mvrlink.com)

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

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

相关文章

go语言中channel类型

目录 一、什么是channel 二、为什么要有channel 三、channel操作使用 初始化 操作 单向channel 双向channel&#xff0c;可读可写 四、close下什么场景会出现panic 五、总结 一、什么是channel Channels are a typed conduit through which you can send and receive …

第6步---MySQL的控制流语句和窗口函数

第6步---MySQL的控制流语句和窗口函数 1.IF关键字 -- 控制流语句 SELECT IF(5>3,大于,小于);-- 会单独生成一列的 SELECT *,IF(score >90 , 优秀, 一般) 等级 FROM stu_score;-- IFNULL(expr1,expr2) SELECT id,name ,IFNULL(salary,0),dept_id FROM emp4;-- ISNULL() …

Java-类与对象(上)

什么是面向对象 Java是一门纯面向对象的语言(Object Oriented Program&#xff0c;简称OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。 面向对象是解决问题的一种思想&#xff0c;主要依靠对象之间的交互完成一件事情。 以面向对象方式来进行处理&#xff0c;就…

CentOS 7重置root密码

CentOS 7 如何找回被您 遗忘得 root密码呢&#xff1f; 步骤如下&#xff1a; 步骤一&#xff1a;在开机出现如下界面的时候就按“e”键 步骤二&#xff1a;在步骤一按下”e”键之后&#xff0c;出现如下界面&#xff0c;按 ↓键一直到底部找到“LANGzh_CN.UTF-8”这句&…

【物联网无线通信技术】NFC从理论到实践(FM17XX)

NFC&#xff0c;全称是Near Field Communication&#xff0c;即“近场通信”&#xff0c;也叫“近距离无线通信”。NFC诞生于2004年&#xff0c;是基于RFID非接触式射频识别技术演变而来&#xff0c;由当时的龙头企业NXP(原飞利浦半导体)、诺基亚以及索尼联合发起。NFC采用13.5…

Excel VBA 复制除指定工作表外所有的工作表的内容到一张工作表中

当我们有一张表里面有很多sheet 具有相同的表结构&#xff0c;如果需要汇总到一张表中&#xff0c;那么我们可以借助VBA 去实现汇总自动化 Sub 复制所有工作表内容()Dim ws As WorksheetDim targetSheet As WorksheetDim lastRow As Long 设置目标表格&#xff0c;即要将所有…

XXL-JOB任务调度中心后台命令执行漏洞

漏洞描述 XXL-JOB任务调度中心后台存在命令执行漏洞,攻击者可在后台通过写入shell命令任务调度获取服务器控制权限 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权…

Linux Shell如果ping失败就重启网卡(详解)

直接上脚本 -------------------------------------------------------------------------- #vi /tmp/ping_check.sh #!/bin/bash IP="1.1.1.1" PacketLoss=`ping -c 4 -w 4 1.1.1.1 | grep packet loss | awk -F packet loss {print $1} | awk {print $NF}|se…

YOLOX算法调试记录

YOLOX是在YOLOv3基础上改进而来&#xff0c;具有与YOLOv5相媲美的性能&#xff0c;其模型结构如下&#xff1a; 由于博主只是要用YOLOX做对比试验&#xff0c;因此并不需要对模型的结构太过了解。 先前博主调试过YOLOv5,YOLOv7&#xff0c;YOLOv8,相比而言&#xff0c;YOLOX的环…

人工智能与云计算实训室建设方案

一、 人工智能与云计算系统概述 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一种模拟人类智能的科学和工程&#xff0c;通过使用计算机系统来模拟、扩展和增强人类的智能能力。人工智能涉及多个领域&#xff0c;包括机器学习、深度学习、自然…

css 文字排版-平铺

序&#xff1a; 1、表格的宽度要有&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 2、容器不能是display:inline 3、扩展---》node全栈框架 代码 text-align-last: justify; width: 70px; display: inline-block; 主要是用于表单左侧文字排序&#xff01;

H5: div与textarea输入框的交互(聚焦、失去焦点、键盘收起)

简介 本文是基于 VUE3TS 的代码说明。 记录自己遇到的 div 与 textarea 输入框交互的聚焦、失去焦点、键盘收起、表情插入不失去焦点的需求实现。 需求分析 1.固定在页面底部&#xff1b; 2.默认显示纯文字与发送图标按钮&#xff0c;文字超出的省略显示&#xff1b; 3.点击…

Verilog中的 条件语句\多路分支语句\循环语句

Verilog中的条件语句\多分支语句\循环语句 文章目录 Verilog中的条件语句\多分支语句\循环语句一、背景二、if-else2.1 标准结构2.2 例子 三、case-endcase3.1 标准结构3.2 例子3.2.1 三路选择器的case部分&#xff0c;如下&#xff1a;3.2.2 casez的四路选择器&#xff0c;如下…

OpenCV实例(九)基于深度学习的运动目标检测(二)YOLOv2概述

基于深度学习的运动目标检测&#xff08;二&#xff09;YOLOv2&YOLOv3概述 1.YOLOv2概述2.YOLOv3概述2.1 新的基础网络结构&#xff1a;2.2 采用多尺度预测机制。2.3 使用简单的逻辑回归进行分类 1.YOLOv2概述 对YOLO存在的不足&#xff0c;业界又推出了YOLOv2。YOLOv2主要…

宝藏级画图工具-drawio

今天推荐一款非常好用的免费开源画图工具drawio. Drawio即可以下载安装到本地&#xff0c;也可以在线编辑&#xff0c;在线编辑网址为 https://app.diagrams.net/。 本地版下载地址为https://github.com/jgraph/drawio-desktop/releases 1、支持各类图形 Drawio可以非常便捷…

java知识-JVM线程四大引用

一、JVM (1) 基本概念&#xff1a; JVM 是可运行 Java 代码的假想计算机 &#xff0c;包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收&#xff0c;堆 和 一个存储方法域。JVM 是运行在操作系统之上的&#xff0c;它与硬件没有直接 的交互。 (2) 运行过程&#x…

excel中有哪些通配符、excel配置问题,数学函数篇1之sum系列

学习excel前需要明确的是事&#xff1a;   在学习excel函数之前&#xff0c;大家需要明确一件事&#xff0c;excel现在设计到了一些新函数&#xff0c;这些新函数只能存在于office365、office2019及更 新版本之中&#xff0c;所以建议大家在学习时安装较新的版本&#xff0c;…

华为OD机试关于无输入截止条件的ACM输入逻辑

无输入截止条件的ACM输入 华为OD机试题中有一些题目是没有输入截止条件的,比如 华为OD机试 - 数字游戏(Java & JS & Python)_伏城之外的博客-CSDN博客 从输入描述来看,每组有两行输入,但是并没有告诉我们具体有几组? 那么输入该如何截止呢? 此时,有两种输入…

硬编码基础二(跳转相关)

硬编码基础二&#xff08;跳转相关&#xff09; 今天的指令都是跟eip的变动有关 JCC短跳系列跳转 这一系列是条件跳转指令也都是两字节定长,第一个字节是opcode也是跳转条件后一个字节是有符号的偏移长度&#xff0c;当条件成立时会跳转到当前eip 2 操作数的位置 70~7f是…

Ctfshow web入门 权限维持篇 web670-web679 详细题解 全

CTFshow 权限维持 web670【】 补充一下PHP中单双引号的区别&#xff1a; 单引号和双引号之间最显着的区别在于我们插入字符串和变量时。单引号不插入字符串和变量。**单引号内的内容会按原样打印出来。**在大多数情况下&#xff0c;单引号内没有任何变量或转义序列的编译。 …