首页
/ 在Windows上搭建Ubuntu与ROS 2环境运行LiDAR-SLAM项目教程

在Windows上搭建Ubuntu与ROS 2环境运行LiDAR-SLAM项目教程

2025-06-19 13:54:19作者:余洋婵Anita

前言

对于机器人开发者和研究者而言,ROS(机器人操作系统)是必不可少的工具。然而,许多开发者日常使用的是Windows系统,这给ROS开发带来了挑战。本文将详细介绍如何在Windows系统上通过WSL(Windows Subsystem for Linux)搭建完整的Ubuntu和ROS 2开发环境,并运行LiDAR-SLAM项目。

环境准备

WSL与Ubuntu安装

  1. 启用WSL功能

    • 以管理员身份打开PowerShell
    • 执行命令:wsl --install -d Ubuntu-22.04
    • 系统将自动下载并安装Ubuntu 22.04 LTS版本
  2. 初始化Ubuntu环境

    • 安装完成后,系统会提示创建用户名和密码
    • 建议使用普通用户权限而非root用户
  3. 图形界面支持

    • 现代WSL版本已原生支持Linux GUI应用
    • 确保Windows系统为最新版本以获得最佳图形支持

系统优化建议

  1. 内存与CPU配置

    • 在用户目录下创建.wslconfig文件
    • 可配置WSL使用的内存和CPU核心数
  2. 文件系统交互

    • Windows访问Linux文件:通过资源管理器中的"Linux"选项
    • Linux访问Windows文件:挂载在/mnt/目录下

ROS 2 Humble安装指南

基础环境配置

  1. 系统更新

    sudo apt update && sudo apt upgrade -y
    
  2. 区域设置(避免locale警告):

    sudo apt install locales
    sudo locale-gen en_US en_US.UTF-8
    sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
    export LANG=en_US.UTF-8
    

ROS 2安装步骤

  1. 添加ROS 2仓库

    sudo apt install software-properties-common
    sudo add-apt-repository universe
    sudo apt update && sudo apt install curl -y
    sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
    
  2. 安装ROS 2核心包

    sudo apt update
    sudo apt install ros-humble-desktop
    
  3. 环境变量配置

    echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    
  4. 开发工具安装

    sudo apt install python3-colcon-common-extensions python3-rosdep2
    

LiDAR-SLAM项目部署

项目结构说明

LiDAR-SLAM是一种结合激光雷达(LiDAR)和惯性测量单元(IMU)的同步定位与建图技术。本项目实现了一个简化的LIO-SLAM系统,包含以下主要组件:

  1. 激光雷达数据处理节点
  2. IMU数据融合节点
  3. 位姿估计与地图构建模块
  4. RViz可视化配置

项目构建流程

  1. 创建工作空间

    mkdir -p ~/lio_ws/src
    cd ~/lio_ws
    
  2. 安装依赖库

    sudo add-apt-repository ppa:borglab/gtsam-release-4.1
    sudo apt update
    sudo apt install -y libgtsam-dev libgtsam-unstable-dev
    
  3. 构建项目

    cd ~/lio_ws
    rosdep install --from-paths src --ignore-src -y --rosdistro humble
    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
    

数据准备与运行

  1. 数据集说明

    • 项目使用ROS 2 bag格式的测试数据
    • 数据包含激光雷达扫描和IMU测量信息
  2. 运行步骤

    • 终端1:启动RViz可视化
      rviz2 -d src/lio-slam/scanmatcher/rviz/lio.rviz
      
    • 终端2:启动SLAM节点
      ros2 launch scanmatcher lio.launch.py
      
    • 终端3:播放数据集
      ros2 bag play walking_dataset/
      

常见问题解决

  1. 图形显示问题

    • 确保Windows系统为最新版本
    • 更新显卡驱动程序
  2. 性能优化建议

    • 限制WSL内存使用以避免系统卡顿
    • 对于大型数据集,考虑在Linux物理机上运行
  3. ROS 2通信问题

    • 确保所有终端都正确source了环境
    • 检查网络配置,特别是多机通信时

进阶学习建议

  1. SLAM算法扩展

    • 尝试集成不同的前端匹配算法
    • 实验不同的后端优化策略
  2. 多传感器融合

    • 加入视觉传感器数据
    • 实现GPS融合定位
  3. 性能分析工具

    • 使用rqt工具监控节点性能
    • 学习使用ros2 tracing进行性能分析

结语

通过本教程,您已经成功在Windows系统上搭建了完整的ROS 2开发环境,并运行了LiDAR-SLAM项目。这为Windows用户参与机器人开发提供了便利的途径。随着WSL技术的不断发展,其在机器人开发中的应用前景将更加广阔。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
162
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
96
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
199
279
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
Git4ResearchGit4Research
Git4Research旨在构建一个开放、包容、协作的研究社区,让更多人能够参与到科学研究中,共同推动知识的进步。
HTML
22
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
950
557
risc-v64-naruto-pirisc-v64-naruto-pi
基于QEMU构建的RISC-V64 SOC,支持Linux,baremetal, RTOS等,适合用来学习Linux,后续还会添加大量的controller,实现无需实体开发板,即可学习Linux和RISC-V架构
C
19
5