3.12学习汇报

1. launch启动文件,TF坐标变换工具及其广播-监听通讯方式学习:

首先学习了launch文件的基本语法,launch文件采用XML语言描述,可完成一次性启动ROS Master,所有需要的节点并进行相应的配置任务。launch文件中的各个元素采用标签的方式来书写,其重映射机制可用于重命名并复用别人的代码接口,launch文件之间可通过<include>标签来实现嵌套。

TF功能包使用树形结构来缓冲和维护多个坐标系之间的关系,在neor_mini无人小车的仿真中也有相关的介绍,当时通过TF工具实现了可视化的激光或视觉传感器,无人小车底盘,轮子等结构之间的坐标变换关系。TF默认缓冲各坐标系信息的时间是10s,并可直接输出不同坐标系之间的变换关系。另外,TF 可以在分布式系统中操作,一个机器人系统中所有的坐标变换关系对所有的节点均是可用的,所有订阅TF消息的节点都会缓冲一份所有坐标系的变换关系数据,这种结构不需要中心服务器存储任何数据。

监听-广播通讯:监听过程会接受并缓存系统中发布的所有坐标变换数据,并可从中查询所需要的坐标变换关系。广播过程会向系统中广播坐标系之间的坐标变换关系,系统中可以存在多个不同部分的TF变换广播,每个广播都可以直接将其坐标变换关系插入TF数中,不需要在进行同步。(TF采用树形结构管理数据)。

在实践过程中遇到了不少的问题,首先是launch目录问题。第一次创建工作空间和功能包时出现了编译不通过问题。没有仔细查出原因,于是重新创建了另一个工作空间(与第一次工作空间的文件夹名字不同)准备从头开始,并在新的工作空间下创建了功能包和对应的cpp文件(均与第一次创建的功能包名字相同),编译通过后,创建launch文件夹,但发现该launch文件夹下会自动生成对应的“.launch”文件,删除后重新建立launch文件夹仍会出现,且该“.launch”文件无法打开编辑也无法运行,且在终端输入roslaunch命令后无法通过“Tab”键自动补全。在网上没有找到类似问题的解答,猜测可能是由于与其他工作空间存在同名的功能包和.cpp文件所致。

因此重新创建了不同名的工作空间、不同名的功能包和不同名的.cpp文件,重新进行CMakeList文件配置,编译通过后创建"launch"文件夹,此次无自动生成的"**.launch"文件,并且新的launch文件可以通过roslaunch命令来运行。但是出现了新的问题:运行后提示无法打开自己创建用于“广播—监听”通讯的节点,只打开了turtlesim_node。经过检查发现,launch文件因为是从上个功能包里直接复制过来的,没有修改".launch"文件中<node>标签里相应的节点名字,导致错误产生。

把<node>标签里的节点名修改为对应新节点的名字后,重新编译和执行roslaunch操作,问题得以解决,运行结果如下图:

 

 如图所示,运行rosrun tf tf_echo turtle1 turtle2 命令则可显示实时的两个乌龟的相对坐标变换关系(包括平移关系,四元数表示的旋转关系和RPY旋转角表示的旋转关系)。

同时下图显示了节点之间的通讯关系图。由图可知,teleop节点通过接收键盘输入的命令并发送给sim节点控制turtle1的运动。sim节点分别将turtle1和turtle2的pose信息传递给turtle1/2_tf_broadcaster,进一步两个broadcaster节点再将两个turtle的坐标变换信息tf(turtle1/2的动态坐标系相对于静态世界坐标系的变换关系)传递给listener节点,listener节点计算出turtle1相对于turtle2的坐标变换关系,并发送给sim节点使turtle2开始按坐标变换关系规划路径并跟随turtle1运动:

 2. 论文阅读:

Cognitive Navigation by Neuro-Inspired Localization, Mapping, and Episodic Memory(本文着重讲了仿生SLAM的机理而不是重点面向工程实践,但却是第一篇让我对仿生SLAM系统的构成以及运作流程有了较为清晰认识的文章,于是对系统中各个cell单元的仿生功能和工作机理做了较多的整理,以后阅读仿生SLAM类文章的时候可作为参考帮助理解):

本文基于人类大脑获取和构建内部空间表征的认知地图构建机制和通过自我体验来学习认知的情景记忆机制,以RatSLAM为基础,提出了一种神经激发的认知导航模型,该模型整合了内嗅皮质的认知映射(认知地图构建)能力与海马体的情景记忆能力,使机器人能够执行环境探索、定位和导航等多功能的认知任务。内嗅皮质层采用三维连续吸引子网络结构,并用来构建三维环境地图。海马体采用循环神经网络来构建,并用来存储和检索与认知任务相关的信息。认知地图和记忆网络之间的信息通过各自的编码和解码方式进行交换。本文通过将该系统应用到实际机器人平台证明了系统的有效性。系统的输入为自运动信号和外部视觉提示,本文中使用的自运动信号是通过机器人运动命令计算出的里程计的平移和旋转,外部线索是由相机拍摄的图像。

三维连续吸引子网络(CAN)即作为位姿细胞单元,对机器人的位姿信息进行编码,CAN的活跃神经包表示了机器人的位姿信息。三维CAN中的神经元的活动是跟随里程计信息的,通过视觉信息线索进行更新。在训练模式中,将与任务相关的经验位置进行编码,并依次发送到CA3层。在任务模式下,被检索到的线索将被输入到CA3层,从而触发情景记忆,按顺序回忆接下来的动作。

该单元进行当前活动的计算并会生成一组高度活跃的单元,这种活跃单元集群的中心能够提供机器人的位置和方向的估计。系统的兴奋和局部抑制活动通过兴奋矩阵和抑制矩阵的高斯加权连接来实现。CAN由一组具有加权连接的细胞单元组成,这些连接可以是兴奋性的,也可以是抑制性的。每个细胞单元都能激发自身和附近的细胞单元而抑制其他细胞单元。神经细胞单元通过计算其他神经单元加权连接的总和来计算出活动行为。在没有外部输入的情况下(外部线索信息也会对CAN产生影响),细胞间的激励和抑制作用使CAN趋向于形成一个稳定的单峰。

局部视图细胞单元与局部视图单元与头部方向单元连接,表示机器人在特定位置上关于某一头部方向的外部线索。当再次看到类似的局部视图时,与该局部视图单元相关联的CAN中的头方向单元将被激活(兴奋)。当整体抑制活动试图消除新的活性(活动)时,局部兴奋(激活)有助于维持旧的活性(活动)。

针对目前机器人技术因缺乏时间感而很难从自身历史体验中获得知识的缺点,本文提出的方法在记忆不同地图和位置的同时存储对应的前后顺序(序列,sequences)信息。

机器人的平移和旋转会引起活动包的移动。活动数据包被简单地复制和移动到相应的里程数读数。处理后的外部线索即图像信息(归一化扫描线强度剖面)保存在局部视图单元中。如果机器人当前视图的轮廓和保存的图像高度相似,则局部视图单元是激活的。只有当以前的本地视图以连续和顺序的方式被看到时,活动包才会有很大的飞跃。同时,模糊信息被吸引子动力学过滤掉。

使用位姿单元和局部视图单元的组合来创建一个拓扑一致的地图,称为经验地图。经验地图是由许多个人经验组成的拓扑地图。体验节点是由本地视图单元和姿态单元活动状态定义的位置。第一次体验被放置在地图的原点。随后的经验是基于里程计信息创建的。在导航过程中,如果满足两个约束条件,则认为两种体验是相同的:1)两种体验的视觉输入相似(保存在局部视图单元中的两条扫描线轮廓的平均强度差在预定义阈值内)2)两种体验的位姿单元活动的两个中心之间的距离在预定义阈值内。一旦先前的经验图被检测到,一个闭环就形成了。通过闭环来修正里程数误差。该方法可以消除两种新组合经验之间因粗糙里程估计而产生的度量差异。

A Bionic Robot Navigation Algorithm Based on Cognitive Mechanism of Hippocampus

本文基于海马空间细胞的认知机制,提出了一种构建精确环境认知地图的导航算法。该算法的特点是构建了一个统一的空间单元(spatial cells)吸引子模型,用于自运动轨迹的路径集成。网格细胞(grid cells)和位置细胞(positional cells)的表达由条纹细胞单元(stripe cells)驱动。该算法通过采集深度图像、红绿蓝和深度图信息进行闭环检测,并对空间细胞单元(spatial cells)路径积分的误差进行校正。最终得到了精确的环境认知地图,并在此基础上通过全局导航和局部导航算法实现了仿生机器人的导航。

利用网格细胞单元累积自运动线索的路径,选择相应的网格子集,通过竞争Hebb学习生成位置单元族活动。竞争学习之间的位置单元产生单峰发射场,二维环形吸引子模型表达了空间环境的实际位置。位置单元路径积分由条纹单元驱动,实现仿真环境与真实环境的精确路径集成。同时,利用深度图像、RGB-D相机传感器采集视觉线索,对环境进行闭环检测。最终的认知地图是一个拓扑度量地图,包括环境特征点坐标、视觉线索和特定的地点的拓扑关系。在本文中,我们使用一个统一的算法建立了海马体的四种空间细胞模型(head direction cells,stripe cells,grid cells,positional cells)。该模型是目前已知的第一个基于条带单元的真实环境中行车路径集成模型。此外,使用了Turtlebot2来实现环境认知地图的构建和实时导航。与传统的SLAM导航方法相比,该算法所需的硬件和传感器较少。仿生方法使整个模型具有良好的可扩展性和适应性。与之前的同类研究成果相比,本文讨论的仿生导航模式更加智能化,并且仿生导航是在构建环境地图的基础上进行的,这对于仿生导航的研究具有重要意义。系统结构图如下:

其他已阅读论文(线下汇报):

Patchwork: Concentric Zone-Based Region-Wise Ground Segmentation With Ground Likelihood Estimation Using a 3D LiDAR Sensor,RAL 2021.

GndNet: Fast Ground Plane Estimation and Point Cloud Segmentation for Autonomous Vehicles,IROS 2020.

Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process,Remote Sensing 2021.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值