ROS——第六章SLAM与自主导航

ROS——第六章SLAM与自主导航

文章目录

  • ROS——第六章SLAM与自主导航
  • 前言
  • 一、一些基本信息
    • 1、深度信息
      • 激光雷达
      • 深度相机kinect
    • 2、里程计信息
    • 3、仿真环境
  • 二、ROS SLAM功能包应用
    • 1.Gmapping
      • 基本介绍
      • Gmapping中话题、服务和Tf变换
      • 栅格地图取值
      • Gmapping功能包核心节点——gmapping节点
    • 2、Cartographer
        • 2Ddemo演示
        • 3Ddemo演示
        • 关键节点


前言

本章是学习ROS中SLAM功能包的使用

一、一些基本信息

1、深度信息

激光雷达

ROS——第六章SLAM与自主导航_第1张图片seq:序列
stamp:时间戳
frame_id:坐标系

深度相机kinect

ROS——第六章SLAM与自主导航_第2张图片该功能包作用就是将三维信息转化为二维信息

2、里程计信息

ROS——第六章SLAM与自主导航_第3张图片Pose:
position:xyz坐标下的位置
orientation:用四元数表达的姿态位置
Twist:
linear:线速度
angular:角速度
控制机器人运动对机器人发布Twist信息
linear控制速度,angular控制转向
注意:covariance:协方差矩阵
坐标系:右手坐标系

3、仿真环境

参考之前的文章

二、ROS SLAM功能包应用

1.Gmapping

基本介绍

ROS——第六章SLAM与自主导航_第4张图片将深度信息、IMU信息、里程计信息发送给Gmapping功能包
,输出一个右侧的栅格地图

Gmapping中话题、服务和Tf变换

ROS——第六章SLAM与自主导航_第5张图片此处map坐标系和odom坐标系不一样。
map坐标系是固定的,odom坐标系是机器人开机时的为0的坐标系

栅格地图取值

ROS——第六章SLAM与自主导航_第6张图片栅格值越大,是障碍物的几率越大。

Gmapping功能包核心节点——gmapping节点

ROS——第六章SLAM与自主导航_第7张图片通过修改该节点的参数来调整建图的效果
参数:
odom_frame:里程计坐标系
map_update_intervel:地图更新频率
maxRange:最大范围
maxUrange:激光雷达最大范围
scan:激光雷达输入话题名
在这里插入图片描述

2、Cartographer

ROS——第六章SLAM与自主导航_第8张图片### 建图效果

2Ddemo演示

ROS——第六章SLAM与自主导航_第9张图片

3Ddemo演示

ROS——第六章SLAM与自主导航_第10张图片

关键节点

ROS——第六章SLAM与自主导航_第11张图片
在launch中启动cartographer_node节点,通过一个rplidar.lua脚本配置参数。
若是修改了lua脚本中的参数,需要重新进行编译才能生效:

catkin_make_isolated --install --use-ninja

你可能感兴趣的:(ROS,SLAM,自动驾驶,算法)