Skip to content

wexhi/Nav_ws

Repository files navigation

🧭 ROS 2 Humble SLAM + Navigation 设置指南(Ubuntu 22.04)

简体中文 | English

这是一个用于机器人建图和导航的课堂项目,因此可能对机器人硬件和嵌入式代码有特定要求。请查阅文末的“附加说明”部分了解更多细节。

demo video

本项目提供了在 Ubuntu 22.04 上使用 ROS 2 Humble 进行 SLAM 和导航的完整配置,包括代码、参数文件和使用说明。当前版本主要面向 PC 与 Raspberry Pi 4B,如需查看树莓派相关代码,请参见分支:pi 分支


🚀 快速开始指南

🧰 前置准备

✅ 系统要求:

  • 操作系统:Ubuntu 22.04
  • ROS 2 版本:Humble Hawksbill

✅ 依赖安装:

wget http://fishros.com/install -O fishros && . fishros
  • 安装额外依赖:
sudo apt update && sudo apt install -y \
    python3-colcon-common-extensions \
    ros-humble-navigation2 \
    ros-humble-nav2-bringup \
    ros-humble-slam-toolbox \
    ros-humble-turtlebot3*  # 可选,适用于仿真

🧱 第一步:克隆与编译代码

git clone https://github.com/wexhi/Nav_ws.git
cd Nav_ws
colcon build --symlink-install

🛠️ 第二步:设置环境变量

source install/setup.bash

建议将其加入 ~/.bashrc 以便每次自动生效:

echo "source ~/Nav_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

🗺️ 第三步:启动 SLAM 建图

运行以下命令开始 SLAM 建图,并在 RViz 中可视化:

source install/setup.bash
ros2 launch serial_bridge slam_launch.py

运行以下命令控制机器人(键盘遥控):

ros2 run serial_bridge wasdx_teleop_launch.py

保存地图:

ros2 run nav2_map_server map_saver_cli -f ~/Nav_ws/src/serial_bridge/maps/<map_name>

🧭 第四步:启动导航模块

运行以下命令启动导航,并在 RViz 中查看路径规划:

ros2 launch serial_bridge nav_with_map_launch.py

如果你有自定义地图文件,可以这样启动:

ros2 launch serial_bridge nav_with_map_launch.py map:=/path/to/save/map.yaml

🚀 第五步:边建图边导航(SLAM + Navigation)

若希望在建图的同时执行导航:

ros2 launch serial_bridge nav_with_slam.launch.py

可以在导航过程中随时保存地图:

ros2 run nav2_map_server map_saver_cli -f ~/Nav_ws/src/serial_bridge/maps/<map_name>

📝 附加说明

  • 请确保你的机器人运行了指定的 STM32 固件代码,并连接了合适的底层硬件。

  • 机器人需搭载兼容的 LiDAR 雷达,用于 SLAM 建图,且与树莓派正确连接。

  • 请确保你的树莓派和PC处于同一局域网内,以便进行数据传输和控制。请设置 ~/.bashrc 文件,添加以下行:

export ROS_DOMAIN_ID=0

echo "export ROS_DOMAIN_ID=0" >> ~/.bashrc
source ~/.bashrc

About

the class project of sweep robot mapping and navigating

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published