# 无激光雷达的 ROS 机器人如何做 SLAM

> 原文链接：https://robotics.hellobike.com/pitfalls/2014-10-17-robotics-se-4754
> 频道：pitfalls | 更新日期：2014-10-17 | 标签：auto, stackexchange, localization, ros, slam, raspberry-pi
> 核心摘要：Kinect 可用于建图和定位，也可将深度图转为激光扫描供 gmapping 与导航栈使用。

# 无激光雷达的 ROS 机器人如何做 SLAM

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Build a ROS robot with SLAM without laser](https://robotics.stackexchange.com/questions/4754/build-a-ros-robot-with-slam-without-laser)（Robotics Stack Exchange #4754）

**状态**：已解决

## 问题

两轮舵机小车运行 ROS，只有超声波测距、Kinect、IMU 和手机传感器，想在房间内建图并按命令导航，不确定无激光雷达是否可行。

## 环境

Raspberry Pi，ROS-groovy，两轮连续舵机小车，手机传感器，超声波测距，Kinect，IMU。

## 解决办法

1. 将 Kinect 安装在机器人上，可直接用于建图和定位。
2. 使用 `rgbdslam` 通过 Kinect 创建 3D 地图。
3. 或使用 `depthimage_to_laserscan` 将 Kinect 深度图转换为 `laser scan` 消息，再配合 `gmapping` 建图，并用 ROS `nav stack` 导航。
4. 若机器人有一圈超声波测距传感器，也可用于 `gmapping` 和导航，但原文认为 Kinect 效果会更好。

原问题作者：Bill；采纳答案作者：dlaz。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #4754：Build a ROS robot with SLAM without laser](https://robotics.stackexchange.com/questions/4754/build-a-ros-robot-with-slam-without-laser)