0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Jetson Nano集成探索大象机器人myAGV上的 SLAM 算法!

大象机器人科技 ? 来源:大象机器人科技 ? 作者:大象机器人科技 ? 2024-06-03 14:13 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言
大家好,最近新入手了一台myAGV JN这是elephant robotics在myAGV升级后的版本。最近有对SLAM相关知识感兴趣,想深入了解一些关于ROS中SLAM的一些算法和规划,跟据官方提供的gitbook,主要使用到了gmapping算法来建图导航实现功能的。

本篇得到文章主要探讨如何通过调整gmapping算法和其他软件层面的优化来提升myagv的精度,在不依靠硬件的条件情况下。

产品介绍
myAGV-Jetson Nano
这是第二代的myAGV,第一代的只有raspberry Pi 4B版本,算力方面有所欠缺,在二代的时候推出了一Jetson Nano为主控的版本,能够满足ROS 大部分的需求,Jetson Nano 能够满足大部分的嵌入式机器人的算力需求。

wKgaomZdXaaALxwbAAcctjO7AZQ415.png

对比之前还多了很多的配件,可以搭载3D摄像头做一些视觉的建图,一块显示屏安装在车身上比较方便操作,还有额外的增加了一块储能电池,比之前更耐用了(之前的1h差不多就趴窝了),因为都是看过raspberry 第一版的测评和使用情况,对这个升级版本还是很大的期待的。

搭配了一个雷达,高性能的行星直流无刷电机,保留了竞赛级别的万向轮,在原有的基础上开放了python 的控制接口,适配了图形化编程等软件。最让我心动的是,主控板为此提供了强大的图形处理能力,并且还支持3D建图和导航。

Jetson Nano B01

wKgZomZdXb2AJmXUAAWnVyLB6ZA097.png


NVIDIA Jetson Nano B01是一款小型但强大的嵌入式计算开发板,专为人工智能AI)和机器学习(ML)应用设计。

主要性能:

NVIDIA Maxwell架构的GPU,包含128个CUDA核心。
四核ARM Cortex-A57 CPU,主频为1.43 GHz。
4GB LPDDR4内存,位宽为64位,频率为1600MHz。
基于这些性能Jetson Nano BO1 适用于各种AI和嵌入式应用场景,尤其是机器人方面的自动导航,运动控制,路径规划等等。

gmapping
gmapping是一种SLAM(Simultaneous Localization and Mapping)常用的算法,他使用粒子波率方法在机器人移动的过程中同事构建环境地图并且估计机器人的位置和姿态。

wKgZomZdXc2ALdqqAAGaVE-zrv8720.png

wKgaomRu2JqAZO76ABiL6cYvQBk795.gif

过程
使用的过程

wKgZomZdXeqAdFLhAAKRBiu466A529.png


进入的界面是Ubuntu系统,方便了使用ROS进行操作,具我所了解,主机里原本就已经配置好了一些相关的基础建图信息。

wKgZomZdXfiAHCqLAAT9-BvMrLE963.png

对于初次使用类似这种机器人来说非常的友好,提供了一个UI界面哪里不会点哪里。

wKgaomZdXgKANNl5AAc0COYmH0k164.png

一顿鼠标点下来,不用几分钟,就可以打开雷达运行gmapping来进行环境建图了。

wKgaomZdXh2APNO1AAWHwTRUbwU619.png

这个UI界面非常友好,功能相对来说还是比较完善的,但是只基于最基础的建图和导航功能,如果说是要做其他的一些项目开发,就没有太大的用处了,只适用于初学者,想要快速上手。

wKgZomZdXhSAC1dwAAULqQj9xIk889.png

之后就开始可以建图了。用VNC进行远程链接,通过键盘控制myAGV在所要导航的环境中进行建图。

wKgZomZdXh6AM5VXAAo262c-CXw640.png

目前为止,所有的环节都是顺利的,如果不想用UI也可以 自行输入命令行来执行环境建图的功能,以下内容都是大象机器人封装好的功能,以下命令都要在命令行当中运行。

# 启动雷达 roslaunch myagv_odometry myagv_active.launch #运行gmapping建图文件 roslaunch myagv_navigation myagv_slam_laser.launch # 开启键盘控制 roslaunch myagv_teleop myagv_teleop.launch #完成建图步骤之后需要进行保存map rosrun map_server map_saver


在导航的功能包中,更改刚建图的路径。

wKgZomZdXoyAfHGmAAO6tHrTwdM698.png

关闭建图的终端,运行导航的命令。

roslaunch myagv_navigation navigation_active.launch

wKgZomZdXqGAZQu2AAbF14Dk_w4851.png


这个时候,关键点来了,最好吧myagv放置在建图时候小车出发的为止,或者在RViz当中进行更改,确保Myagv在地图中的位置和实际环境中的位置相同才能够保证导航的时候能够正确的前往目的地。

点击顶部工具栏的“2D Pose Estimate” 进行调整,使得Rviz界面的小车和实现的小车可对应上,此时终端会返回小车相对于地图的坐标和航向角。

wKgZomZdXqyAJgizAASLzdNBFj0150.png

甚至还可以进行分布导航,记录下要前往的导航点的参数,xy坐标与航向角yaw,但是在导航的过程中发现了一些问题,很关键原因就是他不是特别的精准,导航10次,10次都会根据原来的路径有一定的偏差。

提出的问题并解决
为什么会出现偏差的问题?是什么原因导致出现偏差?

主要有两方面的原因,1是硬件方面传感器的误差,2是软件方面算法的局限性。

以下是我解决的方法,都是根据ROS官方给出的参数进行调整。

gmapping - ROS Wiki

通过修改雷达的参数,主要有一下几个参数
maxRange和maxUrange
maxRange:设置激光雷达的最大探测距离。确保此值与激光雷达的实际测量范围相匹配。

maxUrange:用于构建地图的最大有效距离。一般比maxRange稍小,设置成实际测量距离的一个合理值。

sigma
表示激光雷达测量的标准差。数值越小,表示测量越精确。

根据激光雷达的实际性能调整该值,以减少测量噪声的影响。

kernelSize
表示扫描匹配的窗口大小。较大的值可以增加匹配的鲁棒性,但也会增加计算量。

调整该参数以平衡计算时间和匹配精度。

lstep和astep
lstep:线性步长,表示在扫描匹配过程中,平移步长的大小。

astep:角度步长,表示在扫描匹配过程中,旋转步长的大小。

减小这些步长可以提高扫描匹配的精度,但也会增加计算负担。

particles
粒子的数量。更多的粒子可以提高定位的准确性和稳定性,但也会增加计算开销。

在计算资源允许的情况下,适当增加粒子数量。

xmin、ymin、xmax、ymax
设置地图的边界,确保这些值能够涵盖机器人运行的整个区域。

适当调整地图边界,可以减少无效区域的计算,提高整体效率。

调整里程计的参数
里成计模型:

校准里程计模型参数,确保其准确反映机器人的运动特性。
检查并调整轮子的半径、轴距等参数,减少模型误差。
传感器结合:

结合IMU数据,通过扩展卡尔曼滤波器(EKF)等方法进行传感器数据融合,提高定位精度。
确保里程计和IMU数据的时间同步,减少时序误差。
3gmapping算法调整:

粒子滤波误差:Gmapping使用粒子滤波算法,粒子的数目和分布会影响精度。如果粒子数量不足或分布不合理,可能导致误差。
Gmapping算法中的参数(如粒子数、步长、噪声模型等)设置不当,会影响定位和建图的精度。
调节这些参数来提高SLAM算法的精度,在实践当中就可以确保myAGV运行的时候误差不会太大。

需要根据周围的环境,进行大量的调节参数,然后进行测试,才能够确保建图的精准只有在建图精准了,导航也才能够保证精准。

总结
总的来说,我觉得myAGV表现还是挺不错的,无论是性能、使用体验,还是配套资料,都让人觉得友好,对初学者来说很容易上手。目前,我还在不断地使用和熟悉这个产品,之后打算做一些有趣的项目,希望能充分利用Jetson Nano BO1的潜力,把AI和大模型结合起来。如果你有任何好的建议,随时分享!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    213

    文章

    29961

    浏览量

    214543
  • 算法
    +关注

    关注

    23

    文章

    4720

    浏览量

    95983
  • SLA
    SLA
    +关注

    关注

    1

    文章

    54

    浏览量

    18546
  • 人工智能
    +关注

    关注

    1810

    文章

    49238

    浏览量

    251746
  • 大象机器人
    +关注

    关注

    0

    文章

    86

    浏览量

    167
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVIDIA Jetson + Isaac SDK 人形机器人方案全面解析

    (TOPS) 工作功耗 适用场景 Jetson Nano 128-core Maxwell Quad A57 0.5 5~10W 教育型、初级移动机器人 Jetson Xavier
    的头像 发表于 07-30 16:12 ?981次阅读

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的方案详解

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的 方案详解 ,涵盖芯片型号、软件平台、开发工具链、应用场景与典型客户等。 一、方案概述:Jetson + Isaac SDK
    的头像 发表于 07-30 16:05 ?1766次阅读

    大象机器人推出移动复合机器人myAGV Pro

    当自动驾驶算法应用于真实道路和物流运输,当专业级机械臂走进课堂示教编程,在这个人工智能与机器人技术的快速发展的时代,人们不再满足于基础编程实践,而是渴望在仿真环境中探索多机协同算法等前
    的头像 发表于 07-02 16:35 ?477次阅读
    <b class='flag-5'>大象</b><b class='flag-5'>机器人</b>推出移动复合<b class='flag-5'>机器人</b><b class='flag-5'>myAGV</b> Pro

    大象机器人携手进迭时空推出 RISC-V 全栈开源六轴机械臂产品

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形机器人、仿生机器人
    的头像 发表于 06-06 16:55 ?663次阅读
    <b class='flag-5'>大象</b><b class='flag-5'>机器人</b>携手进迭时空推出 RISC-V 全栈开源六轴机械臂产品

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    的本质是解决“鸡与蛋”问题:机器人需要地图来定位,又需要准确定位来构建地图。书中从前端(传感器数据处理)和后端(位姿优化)两个层面解析了SLAM算法逻辑。 激光雷达和视觉SLAM各有
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    地图构建,包括算法原理介绍、安装与配置方法、仿真环境中的SLAM以及真实机器人SLAM。 这一过程不仅涉及到计算机视觉和
    发表于 04-27 11:42

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    、Gazebo仿真(含RGBD相机/激光雷达仿真)、实物机器人运动控制,实现\"仿真→实物\"的无缝衔接 高阶应用篇(7-9章) 聚焦视觉SLAM、自主导航等前沿场景,提供完整项目链路(如
    发表于 04-27 11:24

    大象机器人携手进迭时空推出 RISC-V 全栈开源六轴机械臂产品

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形机器人、仿生机器人
    发表于 04-25 17:59

    大象机器人推出myCobot 280 RDK X5,携手地瓜机器人共建智能教育机

    摘要大象机器人全新推出轻量级高性能教育机械臂myCobot280RDKX5,该产品集成地瓜机器人RDKX5开发者套件,深度整合双方在硬件研发与智能计算领域的技术优势,实现芯片架构、软件
    的头像 发表于 04-15 22:05 ?718次阅读
    <b class='flag-5'>大象</b><b class='flag-5'>机器人</b>推出myCobot 280 RDK X5,携手地瓜<b class='flag-5'>机器人</b>共建智能教育机

    大象机器人以科技治愈人心

    当冰冷的代码被赋予人性的温度,科技便有了治愈人心的力量。大象机器人公司始终致力于通过机器人技术改善人们的生活,"享受机器人世界"是大象
    的头像 发表于 02-20 11:17 ?849次阅读

    《具身智能机器人系统》第10-13章阅读心得之具身智能机器人计算挑战

    阅读《具身智能机器人系统》第10-13章,我对具身智能机器人的工程实践有了全新认识。第10章从实时性角度剖析了机器人计算加速问题。机器人定位中的SL
    发表于 01-04 01:15

    大象机器人11月大事件回顾

    冬意渐浓,在过去的11月里,大象机器人活跃在国内外的多个行业盛会上,向广大机器人爱好者和行业专家展示了我们在协作机器人、人形机器人、仿生
    的头像 发表于 12-03 15:35 ?678次阅读

    使用NVIDIA Jetson打造机器人导盲犬

    Selin Alara Ornek 是一名富有远见的高中生。她使用机器学习和 NVIDIA Jetson边缘 AI 和机器人平台,为视障人士打造了机器人导盲犬。
    的头像 发表于 11-09 13:51 ?878次阅读

    大象机器人10月大事件回顾

    金秋10月,大象机器人积极参加数个海内外知名行业盛会,向全球机器人爱好者与行业专家展示最新的成果,也收获了一些奖项、报道,通过这些难得的展示机会,大象
    的头像 发表于 10-31 16:43 ?1041次阅读

    使用myAGVJetson Nano主板和3D摄像头,实现了RTAB-Map的三维建图功能!

    本文将展示如何使用myAGV Jetson Nano移动平台搭载Jetson Nano BO1主板,结合RTAB-Map和3D相机,实现更加
    的头像 发表于 08-28 10:22 ?1423次阅读
    使用<b class='flag-5'>myAGV</b>、<b class='flag-5'>Jetson</b> <b class='flag-5'>Nano</b>主板和3D摄像头,实现了RTAB-Map的三维建图功能!