当前位置: 首页 > news >正文

ROS实践(四)机器人SLAM建图(gmapping)

目录

一、SLAM技术

二、常用工具和传感器

 三、相关功能包

1. gmapping建图功能包

2. map_server

四、SLAM 建图实验

1. 配置gmapping(launch文件)

2. 启动机器人仿真(含机器人以及传感器)

3. 运行gmapping节点

4. 启动rviz可视化工具

5. 保存地图文件


一、SLAM技术

         地图构建(Mapping)是机器人在运动过程中逐步建立和更新其所处环境的地图。

        (Simultaneous Localization and Mapping)即同时定位与地图构建,是一种概念,旨在让机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的环境特征定位自身位置和姿态,再根据自身位置构建周围环境的增量式地图,从而达到同时定位和地图构建的目的。

        SLAM技术使用相机、激光雷达、惯性测量单元等传感器来收集环境信息,然后用算法将这些信息融合起来,以确定设备在未知环境中的位置,并构建一张环境地图。

二、常用工具和传感器

1. 激光雷达(LiDAR)

         通过发射激光束并测量返回时间来计算与障碍物的距离,能够提供高精度的2D或3D环境建模,广泛用于SLAM(同步定位与地图构建)、路径规划、避障、目标跟踪等。2D LiDAR常用于室内机器人,3D LiDAR适用于自动驾驶、无人机测绘等复杂环境,常见型号包括Velodyne VLP-16、Hokuyo UST-10LX等。

2. RGBD相机

        结合RGB和彩色图像和深度信息,提供环境的3D感知能力,可用于地图构建、目标识别、障碍物检测、人脸识别、手势控制等。常见的RGBD相机有Intel RealSense、Microsoft Kinect、Orbbec Astra等,广泛应用于机器人视觉、AR/VR、自动化检测等领域。

3. 超声波传感器

        通过发射超声波并测量回波时间计算与障碍物的距离,适用于短距离障碍物检测,常用于自动泊车、无人机避障、水下探测、工业自动化等领域。其成本低、体积小,但受噪声和材质影响较大,常见型号如HC-SR04、MaxBotix MB1040。

4. IMU(惯性测量单元)

         由加速度计、陀螺仪(有时包含磁力计)组成,用于测量机器人姿态、角速度、加速度等信息,常用于惯性导航、姿态估计、运动跟踪等。IMU可单独使用,也可与GPS、LiDAR、里程计融合以提高定位精度,常见型号有MPU6050、BNO055、VectorNav VN-100等。

5. 轮式里程计(Odometry)

        通过测量轮子的旋转角度计算机器人在平面上的运动轨迹,适用于短时间内的相对位置估计,但存在累积误差,因此常与IMU、LiDAR、视觉SLAM结合使用以提高定位精度,广泛应用于移动机器人、自主导航、AGV(自动导引车)等。

 三、相关功能包

1. gmapping建图功能包

  gmapping 是一种基于粒子滤波算法的 SLAM工具,它可以帮助机器人在未知环境中创建地图的同时定位自己。

        具体来说,gmapping 是 ROS 中实现激光SLAM的一个软件包,它结合了激光扫描器数据和机器人运动信息,实时生成并更新地图。常用在需要通过激光雷达进行建图的机器人系统中,尤其适用于移动机器人、无人车等场景。

  gmapping 包含了完成 SLAM所需的所有核心算法,它会自动利用激光扫描数据和机器人的运动信息来进行地图构建和位置估算。只要你正确配置了相关参数和话题,就可以通过启动 gmapping 节点来实现SLAM功能,而不必从头实现复杂的 SLAM 算法。

(1)下载

  gmapping 并不是 ROS 系统自带的核心组件,而是一个额外的 ROS 软件包。通常在使用 ROS 时,gmapping 需要单独安装并配置。

sudo apt-get install ros-<ros

相关文章:

  • linux纯干货
  • 汉得 x 头部大型传媒集团|AI革新:智启出版新征程!
  • scoop退回软件版本的方法
  • AI 大模型统一集成|如何封装多个大模型 API 调用
  • 如何使用 Shopify API 实现第三方服务集成
  • Vite打包原理: Tree-shaking在Vue3项目中的实际效果
  • LINUX 进程和计划任务管理
  • 【论文解读】FFA-Net: Feature Fusion Attention Network for Single Image Dehazing
  • 3.12刷题
  • 蓝桥杯备赛-基础训练(四)-字符串 day18
  • C语言:计算并输出三个整数的最大值 并对三个数排序
  • 【Synchronized】不同的使用场景和案例
  • XMI(XML Metadata Interchange)和XML之间的关系
  • 色板在数据可视化中的创新应用
  • Linux ALSA 驱动核心知识点解析
  • GPU加速的国密SM2算法实现
  • css中实现border距离视图左右两侧有距离
  • QT创建项目(项目模板、构建系统、选择类、构建套件)
  • 好玩的谷歌浏览器插件-自定义谷歌浏览器光标皮肤插件-Chrome 的自定义光标
  • java如何在linux服务器创建文件excel并把循环插入每一行的后端查出来的数据,每天新建一个excel带时间的
  • 专访|200余起诉讼,特朗普上台100天,美国已进入宪政危机
  • 万科:一季度营收近380亿元,销售回款率超100%
  • 言短意长|新能源领军者密集捐赠母校
  • 2025上海体育消费节启动,多形式联动打造体育消费盛宴
  • 国务院任免国家工作人员:饶权任国家文物局局长
  • 美军空袭也门拘留中心,已致68人死亡