前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Jetson NANO做一个捡瓶子的机器人

用Jetson NANO做一个捡瓶子的机器人

作者头像
GPUS Lady
发布2021-06-01 10:58:40
1.4K0
发布2021-06-01 10:58:40
举报
文章被收录于专栏:GPUS开发者

国外几个小哥哥用Jetson NANO做了一个捡瓶子的机器人。

这个机器人叫:Robottle,长这样:

Robottle是一个全自主,在有障碍物的竞技场里收集瓶子的机器人。它利用激光雷达和SLAM构建环境地图,利用COCO数据集训练的神经元网络检测瓶子。

项目代码放在:https://github.com/arthurBricq/ros_robottle

项目细节:

- 处理单元:

Robottle有2个处理单元:一个Jetson NANO,即负责所有的软件的高级处理(计算和控制的决定),以及一个Arduino Mega,负责所有的软件的低级处理(控制电机)

该存储库包含Jetson用于控制机器人的高级代码的主要组件。在此存储库中,您可以找到

  • 所有ROS节点以读取传感器输入,运行控制器并将命令发送到Arduino
  • 基于Lidar测量的Python中使用ROS2的SLAM的实现
  • 最重要的是,控制器的代码

-有关控制器的更多信息:

一切都在围绕着控制器旋转。该控制器是代码的一部分,负责在给定所有可用数据的情况下做出决策。

“可用”数据包括

  1. 激光雷达数据
  2. SLAM输出(地图和位置)
  3. 原始图像
  4. 神经网络检测到的瓶子(绑定框)
  5. 电机转速
  6. arduino发送的状态

控制器包括的“决定”

  1. 如何移动机器人
  2. 什么时候选瓶
  3. 什么时候放瓶子

-捡瓶子阶段:

机器人激活神经网络检测并转身直到检测到瓶子。找到瓶子后,我们使用图像边界框上的回归多项式函数来估计瓶子所在的角度。机器人将与瓶子完美对准,然后向前移动,直到超声波传感器检测到瓶子为止。然后Robottle收集瓶子并再次开始旋转。

-神经元网络:

用于检测瓶子)的Cuda加速代码基于出色的Jetson-Inference代码(来自NVidea),尤其是使用它们的detectnet工具。他们甚至提供了一个ROS信息库,它有一个非常完善的文档!我们对此代码做了一些修改,以

  • 能够翻转源图像
  • 能够在不杀死ROS节点的情况下关闭检测,以避免过热

SLAM代码是“ TinySLAM”算法的实现,该算法是从这个出色的存储库BreezySLAM本地构建的。在这里,我们也对代码进行了一些更改,其中大多数可以在我们的ROS SLAM Node中看到。

好了,了解这个项目的详细情况和代码,请访问:

https://github.com/arthurBricq/ros_robottle

更多项目:

智能割草机利用NVIDIA Jetson AGX保护刺猬

用Jetson Xavier NX和大疆无人机做一个野火检测原型

您是NVIDIA Jetson环境配置“难团”成员么?

用Jetson Xavier NX做个AI白板

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档