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.hqwc.cn/news/76320.html

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

相关文章

广告牌安全传感器,实时监测事故隐患尽在掌握

在现代城市中&#xff0c;广告牌作为商业宣传的重要媒介&#xff0c;已然成为城市中一道独特的风景线。然而&#xff0c;随着城市迅速发展&#xff0c;广告牌的安全问题也引起了大众关注。广告招牌一般悬挂于建筑物高处&#xff0c;量大面大。由于设计、材料、施工方法的缺陷&a…

windows ipv4 多ip地址设置,默认网关跃点和自动跃点是什么意思?(跃点数)

文章目录 Windows中的IPv4多IP地址设置以及默认网关跃点和自动跃点的含义引言IPv4和IPv6&#xff1a;简介多IP地址设置&#xff1a;Windows环境中的实现默认网关跃点&#xff1a;概念和作用自动跃点&#xff1a;何时使用&#xff1f;关于“跃点数”如何确定应该设置多少跃点数&…

深入源码分析kubernetes informer机制(三)Resync

[阅读指南] 这是该系列第三篇 基于kubernetes 1.27 stage版本 为了方便阅读&#xff0c;后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 为什么需要resyncresync做了什么 为什么需要resync 如果看过上一篇&#xff0c;大概能了解&#xff0c;client数据主要通…

三、MySQL 数据库安装集

一、CentOS—YUM 1. MySQL—卸载 # 1、查看存在的MySQL。 rpm -qa | grep -i mysql rpm -qa | grep mysql# 2、删除存在的MySQL。 rpm -e –-nodeps 包名# 3、查找存在的MySQL目录。 find / -name mysql# 4、删除存在的MySQL目录。 rm -rf 目录# 5、删除存在的MySQL配置文件。…

springboot里 运用 easyexcel 导出

引入pom <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version> </dependency>运用 import com.alibaba.excel.EasyExcel; import org.springframework.stereotype.Contr…

Qt快速学习(一)--对象,信号和槽

目录 1.Qt概述 1.1 什么是Qt 2.2 手动创建 2.3 pro文件 2.4 一个最简单的Qt应用程序 3 第一个Qt小程序 3.1 按钮的创建 3.2 对象模型&#xff08;对象树&#xff09; 3.3 Qt窗口坐标体系 4 信号和槽机制 4.1 系统自带的信号和槽 4.2 自定义信号和槽 4.3信号槽的拓展 4…

3D医学教学虚拟仿真系统:身临其境感受人体结构和功能

3D医学教学虚拟仿真系统是一种基于虚拟现实技术的教学工具&#xff0c;它可以帮助学生更好地理解和掌握医学知识。这种课件通常包括人体解剖学、生理学、病理学等方面的教学内容&#xff0c;通过三维立体的图像和动画展示&#xff0c;让学生更加直观地了解人体结构和功能。 与传…

【UniApp开发小程序】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】

文章目录 界面效果界面实现工具js页面日期格式化 后端收藏ControllerServicemapper 评论ControllerServiceMapper 商品Controller 阅读Service 界面效果 【说明】 界面中商品的图片来源于闲鱼&#xff0c;若侵权请联系删除 【商品详情】 【评论】 界面实现 工具js 该工…

扩散模型实战(四):从零构建扩散模型

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 本文以MNIST数据集为例&#xff0c;从…

《HeadFirst设计模式(第二版)》第十一章代码——代理模式

代码文件目录&#xff1a; RMI&#xff1a; MyRemote package Chapter11_ProxyPattern.RMI;import java.rmi.Remote; import java.rmi.RemoteException;public interface MyRemote extends Remote {public String sayHello() throws RemoteException; }MyRemoteClient packa…

使用swoole实现实时消息推送给客户端

一. 测试服务端 //测试服务端public function testServer(){$server new Server(192.168.0.144, 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP);$server->on(request, function ($request, $response) {$response->header(Content-Type, text/plain);$response->end("He…

宝塔部署Java+Vue前后端分离项目经验总结

前言 之前部署服务器都是在Linux环境下自己一点一点安装软件&#xff0c;听说用宝塔傻瓜式部署更快&#xff0c;这次浅浅尝试了一把。 确实简单&#xff01; 1、 买服务器 咋买服务器略&#xff0c;记得服务器装系统就装 Cent OS 7系列即可&#xff0c;我装的7.6。 2、创建…