揭秘蛇形机器人的主动SLAM算法和障碍物避让策略

更多优质内容,请关注公众号:智驾机器人技术前线

1.论文信息

  • 论文标题:An active SLAM with multi-sensor fusion for snake robots based on deep reinforcement learning

  • 作者:Xin Liu, Shuhuan Wen, Yaohua Hu, Fei Han, Hong Zhang, Hamid Reza Karimi

  • 作者单位:燕山大学,南方科技大学,米兰理工大学

  • 论文链接:https://www.sciencedirect.com/science/article/pii/S0957415824001132

2.摘要

蛇形机器人能够模仿自然界动物的运动模式,进入传统机器人无法进入的空间,适应人类无法到达的环境,并扩大人类的探索领域。然而,在未知环境下实现自主导航并同时避免障碍物,即主动SLAM(同步定位与地图构建),往往是一个挑战。本文提出了一种结合深度强化学习的多传感器融合的轮式蛇形机器人的自主避障方法。首先,我们基于正交关节设计了一种轻质材料的模块化轮式蛇形机器人结构,并在Gazebo中构建了蛇形机器人的三维模型。其次,使用基于二维激光雷达和惯性测量单元(IMU)的SLAM来实现在未知环境下的自主导航和障碍物检测。同时,提出了一种基于深度Q学习的蛇形机器人路径规划方法,以实现导航过程中的障碍物避让。最后,仿真研究和实验表明,设计的蛇形机器人能够在有障碍物的环境中实现有效的路径规划和环境建图。所提出的主动SLAM算法提高了蛇形机器人路径规划的成功率,具有更好的障碍物避让能力,并与传统的A和基于采样的RRT算法相比,减少了碰撞次数。

3.主要贡献

  • 设计了一种基于正交关节的轻质模块化轮式蛇形机器人结构。蛇形机器人的关节模块和躯干模块以正交方式相互连接。使用具有高强度、低密度和强韧性的尼龙材料作为机器人结构的材料,并完成了蛇形机器人实体的构建;

  • 为了验证蛇形机器人蜿蜒曲线运动的可行性,在Gazebo平台上构建了蛇形机器人的三维仿真模型。通过分析蜿蜒运动方程,获得了蜿蜒运动三个参数变化对蛇形机器人质心轨迹的影响;

  • 提出了一种基于深度强化学习(DRL)的主动SLAM方法,用于蛇形机器人在未知环境中实现自主导航和障碍物避让,通过多传感器融合。基于DRL的方法能够在复杂环境中进行自适应学习。将所提出算法的仿真环境扩展到实际应用中进行实验。结果表明,所提出的算法实现了多传感器融合的自主导航和有效的障碍物避让,并同时构建了环境地图,其成功率高于传统的A和基于采样的RRT算法。

4.核心思想与方法

蛇形机器人使用激光雷达(LiDAR)和惯性测量单元(IMU)结合的方法来感知环境,并使用深度Q网络(DQN)来规划蛇形机器人的路径和绘制环境地图。通过将深度神经网络与Q学习相结合,DQN能够利用经验回放和目标网络等技术,在复杂环境中学习有效的策略,以实现障碍物避让等任务。

image

5.实验仿真验证

image

image

image

6.总结&展望

本文提出了一种基于深度Q网络(DQN)的蛇形机器人路径规划算法,实现了蛇形机器人的自主导航和环境地图构建。环境地图是通过二维激光雷达构建的。惯性测量单元(IMU)和激光雷达用于SLAM定位。通过无线通信蓝牙模块和SSH远程连接,分别在手机和PC上完成了蛇形机器人的无线控制。仿真和实验结果表明,所提出的算法实现了多传感器融合的自主导航和有效的障碍物避让,并构建了环境地图,其成功率高于传统的A*算法。在我们的工作中,蛇形机器人的输出动作是离散化的。尽管DQN在处理离散动作空间问题上表现良好,但它仍然可以通过其他强化学习方法在处理连续动作空间和提高训练稳定性方面得到扩展和改进。未来,我们将改进我们的方法,以应对复杂环境中蛇形机器人的障碍物避让问题和连续动作空间。此外,我们将进一步通过深度学习更准确地整合多源传感器信息,以实现更准确的决策制定。同时,考虑到机载传感器的计算限制,我们将引入移动边缘计算以降低系统的能耗并提高计算效率。

本文仅做学术分享,如有侵权,请联系删文!

更多优质内容,请关注公众号:智驾机器人技术前线

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

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

相关文章

文件IO编程

文章目录 文件描述符相关系统调用文件有关的系统调用文件操作函数--creat函数文件操作函数--open函数文件操作函数--read函数文件操作函数--write函数文件操作函数--close函数文件操作函数--lseek函数缓冲区的大小对性能的影响 实验:调用系统函数,实现文…

STM32 WDG看门狗

在大型项目中,BUG根本无法避免,因为可能的状态太多了,总有那么意想不到的情况发生, 所以,对于程序员,第一要要丰富的经验,避免一些常见的bug, 第二,程序要经常迭代&#…

集成学习(Ensembling Learning)

0. 来源 概念比较全,可以作为目录,前置知识讲得好,其他一般。 01.内容简介_哔哩哔哩_bilibili01.内容简介是集成学习:XGBoost, lightGBM的第1集视频,该合集共计19集,视频收藏或关注UP主,及时了…

【数据结构】排序算法系列——序言(附源码+图解)

作为基础算法的中流砥柱部分,排序算法一直都是计算机学习者们不可忽略的一部分。而其中的算法思想也蕴含着许多在今后的算法学习甚至是整个计算机技术的学习之中仍然熠熠生辉的算法思想,它们引领着我们不断探索算法的奥秘之处。所以,学习排序…

简单聊聊bait文件

场景:业务同事发现某云主机部署了企业主机安全,在该主机上发现了一个诱饵文件,显示注意:此文件是诱饵文件,用于防止重要文件被病毒加密。请勿修改或删除此文件。 解决方法:联系企业主机安全运维同事发现&am…

信号保存和处理

把上一篇回顾一下吧:共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,进程不再通过执行进入内核的系统调用来传递彼此的数据 共享内存的数据结构: struct shmid_ds {…

QT实现TCP/UDP通信

服务器端&#xff1a; 客户端&#xff1a; 服务器&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QList> #include <QMessageBox> #include <QDebug&…

point transformer v3复现及核心代码详解

point transformer v3复现及核心代码详解 1. 复现1.1 复现1.2 数据预处理1.3 跑通 2. 核心代码详解2.1 读取数据2.2 dataloder2.3 模型读取数据的逻辑2.4 forward2.4.1 Point2.4.2 backbone2.4.2.1 point.serialization2.4.2.2 稀疏化2.4.2.3 embedding2.4.2.4 encoder 1. 复现…

Emlog程序屏蔽用户IP拉黑名单插件

插件介绍 在很多时候我们需要得到用户的真实IP地址&#xff0c;例如&#xff0c;日志记录&#xff0c;地理定位&#xff0c;将用户信息&#xff0c;网站数据分析等,其实获取IP地址很简单&#xff0c;感兴趣的可以参考一下。 今天给大家带来舍力写的emlog插件&#xff1a;屏蔽…

wakenet尾迹

1、数据集介绍SWIM_Dataset_1.0.0 1.1标注文件介绍 标注文件介绍&#xff0c; 第一种&#xff1a;角度和框的坐标 <annotation><folder>Positive</folder><filename>00001</filename>文件名字<format>jpg</format>图片后缀<s…

自掘坟墓?开源正在卷爆程序员!

前端训练营&#xff1a;1v1私教&#xff0c;终身辅导计划&#xff0c;帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer Hello&#xff0c;大家好&#xff0c;我是 Sunday。 今天这篇文章其实我想了好久&#xff0c;因为这并不是一个 和光同尘 的话题&#xff0c;它…

第143天:内网安全-权限维持自启动映像劫持粘滞键辅助屏保后门WinLogon

案例一&#xff1a; 权限维持-域环境&单机版-自启动 自启动路径加载 路径地址 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\ ##英文C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动\ ##中文…

OpenHarmony鸿蒙( Beta5.0)智能窗户通风设备开发详解

鸿蒙开发往期必看&#xff1a; 一分钟了解”纯血版&#xff01;鸿蒙HarmonyOS Next应用开发&#xff01; “非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线&#xff01;&#xff08;从零基础入门到精通&#xff09; “一杯冰美式的时间” 了解鸿蒙HarmonyOS Next应用开发路…

如何逆转Instagram账号流量减少?实用技巧分享

Instagram作为全球十大社媒之一&#xff0c;不仅是个人分享生活的平台&#xff0c;还是跨境卖家进行宣传推广和客户开发的关键工具。在运营Instagram的过程中&#xff0c;稍有不慎就容易出现账号被限流的情况&#xff0c;对于账号状态和运营工作的进行都十分不利。 一、如何判断…

isis与ospf高级属性

文章目录 前言一、基础配置(配置各设备的IP地址)二、配置各设备的ospf与isis三、检查ospf与isis邻居是否建立成功1.实现快速重路由2.流量过滤方法3.引入默认路由4.配置等价路由 前言 在下面实验中&#xff0c;蓝色区域运行ospf&#xff0c;为了控制ospf的lsdb数量&#xff0c;…

vue页面使用自定义字体

一、准备好字体文件 一般字体问价格式为 .tff&#xff0c;可以去包图网等等网站去下载&#xff0c;好看的太多了&#xff01;&#xff01;&#xff01; 下载下来就是单个的 .tff文件&#xff0c;下载下来后可以进行重命名&#xff0c;但是不要改变他的后缀名&#xff0c;我把他…

【c++】类和对象详解

✅博客主页:爆打维c-CSDN博客​​​​​​ &#x1f43e; &#x1f539;分享c语言知识及代码 来都来了! 点个赞给博主个支持再走吧~&#xff01; 一.类的定义 &#xff08;1&#xff09;类定义格式 class为类定义的关键字&#xff0c;定义一个类格式如下: class 类名{//代码…

turtle.circle() 函数绘制弧形规律助记图 ← Python

【Python 之 turtle.circle() 函数定义】 定义&#xff1a;turtle.circle(radius, extent)作用&#xff1a;根据半径 radius 绘制 extent 角度的弧形参数&#xff1a;radius &#xff1a;弧形半径当 radius 值为正数时&#xff0c;圆心在当前位置/小海龟左侧。当 radius 值为负…

9月美联储决策前哨战——美国CPI数据来袭

随着本周关键CPI数据的即将发布&#xff0c;市场正翘首以待&#xff0c;这将是美联储在9月17日至18日议息会议前获取的最后一块重要经济拼图。鉴于美联储官员已进入传统的政策静默期&#xff0c;8月份的CPI报告无疑将成为交易员们评估未来货币政策走向的重要标尺。 欧洲央行降…

[000-01-002].第03节:Git基础命令

我的博客大纲 我的GIT学习大纲 1、Git的常用命令 2、Git操作步骤&#xff1a; 2.1.操作Git第一步&#xff1a;设置全局的用户签名 1.设置用户名&#xff1a; 格式&#xff1a;git config --global user.name 用户名命令&#xff1a;git config --global user.name root 2.设置…