10浏览
查看: 10|回复: 0

[项目] ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录

[复制链接]
本帖最后由 云天 于 2026-8-2 19:52 编辑

从零开始,搭建你的第一台ROS2激光雷达小车

【为什么选择RPLIDAR C1?】
ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录图2

       ROS2小车最核心的传感器就是激光雷达。我选的是思岚科技RPLIDAR C1——一款360°小体积TOF激光雷达,测距半径可达12米,采样频率5000次/秒,测距盲区低至0.05米。
       它的亮点在于融合了三角测距和TOF测距的优势——既保留了三角测距对近距离物体的高解析度,又拥有TOF在远距离测距精度和抗干扰方面的表现。通俗说就是:近处看得清,远处测得准。
       另外RPLIDAR C1采用TTL UART通信接口,通讯速率460800,支持ROS2操作系统,和树莓派4B是绝配。
       如果你也打算做ROS2小车,可以参考GitHub上的开源项目 mobo_bot,它就是用树莓派4B + RPLIDAR C1 + ROS2 Humble + Nav2的完整方案。
【硬件准备清单】
  • 树莓派4B(建议4GB以上内存)
  • MicroSD卡(建议32GB以上,Class 10)
  • RPLIDAR C1激光雷达套装(含USB转接板和Type-C数据线)
  • 5V/3A电源适配器(树莓派官方电源最佳)
  • 读卡器(烧录系统用)

ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录图3


ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录图4


ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录图5

【第一步:烧录系统】
       我选择的是 Ubuntu Server 22.04 LTS(Jammy Jellyfish) 搭配 ROS2 Humble。这是目前最成熟、坑最少的组合。
       注意:树莓派4B是ARM架构,一定要选 arm64 版本。文件名类似 ubuntu-22.04.5-preinstalled-server-arm64+raspi.img.xz。
       推荐工具:Raspberry Pi Imager(https://shumeipai.nxez.com/download),操作最简单:
ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录图1
       1.打开Raspberry Pi Imager
       2.选择树莓派设备型号→树莓派4B(Raspberry Pi 4B)
       3.选定操作系统 → 自定义选择本地下载好的系统——Ubuntu Server 22.04 LTS (RPi 4/400)
       4.点击系统配置:(我使用的是自定义选择本地下载好的系统,不能进入系统配置)
            1)勾选 "Enable SSH"(提前开启SSH,省去后续插显示器的麻烦)
            2)设置WiFi名称和密码(开机即联网)
            3)设置用户名和密码
       5.烧录完成后插卡、通电启动
【第二步:配网与系统初始化】
       烧录好系统并通电后,
       1.登陆系统:
  1. 默认用户名:ubuntu
  2. 默认密码:ubuntu
复制代码
       2.首先,需要确认系统是否识别了你的无线网卡。
     查看网络接口:在终端中输入以下命令,查看所有网络设备
  1. ls /sys/class/net
复制代码
    正常情况下,输出中会有一个以 w 开头的名称(如 wlan0),这就是你的无线网卡。
       2.修改 netplan 配置文件
  1. sudo nano /etc/netplan/50-cloud-init.yaml
复制代码
network:
    version: 2
    renderer: NetworkManager
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        wlan0:
            dhcp4: true
            optional: true
            access-points:
                "你的WiFi名称":
                    password: "你的WiFi密码"
————————————————————————————————————————————

       3.应用配置
  1. sudo netplan apply
复制代码
       4.检查 IP 地址
  1. ip a show wlan0
复制代码
5.更新系统:
  1. sudo apt update && sudo apt upgrade -y
复制代码
【第三步:安装ROS2 Humble】
     ROS2 Humble是Ubuntu 22.04的官方搭配版本。
       1.设置编码
  1. sudo apt update && sudo apt install locales
  2. sudo locale-gen en_US en_US.UTF-8
  3. sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
  4. export LANG=en_US.UTF-8
复制代码
      2.添加 ROS 2 软件源:
  1. # 安装 curl(如果上一步没装)
  2. sudo apt install curl -y
  3. # 添加 ROS 2 GPG 密钥
  4. sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
  5. # 将 ROS 2 源添加到 apt 源列表
  6. echo "deb [arch=arm64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
复制代码
      3.安装 ROS 2 Humble:
  1. # 再次更新 apt,使 ROS 2 源生效
  2. sudo apt update
  3. # 安装 ROS 2 Humble 桌面版(推荐,包含 RViz、演示例程等)
  4. sudo apt install ros-humble-desktop -y
复制代码
      4.置环境变量:
     为了让每次打开终端都能自动使用 ROS 2 命令,将以下命令添加到 ~/.bashrc 文件末尾:
  1. echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
  2. source ~/.bashrc
复制代码
      5.验证安装:
     运行一个简单的测试来验证 ROS 2 是否安装成功:
  1. # 在一个终端中运行
  2. ros2 run demo_nodes_cpp talker
  3. # 在另一个终端中运行(Ctrl+Alt+F2)
  4. ros2 run demo_nodes_cpp listener
复制代码
【第四步:连接RPLIDAR C1硬件】
     将RPLIDAR C1的USB转接板插入树莓派的USB口。然后确认串口设备:
  1. ls -l /dev/ttyUSB*
复制代码
     正常应看到类似 crw-rw---- 1 root dialout 188, 0 /dev/ttyUSB0 的输出。
     如果出现权限问题,将当前用户添加到 dialout 组:
  1. sudo usermod -a -G dialout $USER
复制代码
【第五步:编译RPLIDAR C1驱动】
     这是最关键也最容易踩坑的一步。 Slamtec官方仓库默认分支是ROS1版本,在ROS2下必须切换到 ros2 分支。
       1.创建工作空间并克隆驱动
  1. mkdir -p ~/ros2_ws/src
  2. cd ~/ros2_ws/src
  3. git clone -b ros2 https://github.com/Slamtec/rplidar_ros.git
复制代码
      2.安装colcon构建工具
  1. sudo apt install python3-colcon-common-extensions -y
复制代码
      3.编译驱动(树莓派4B优化版)
     树莓派4B内存有限,直接编译容易卡死。 建议先增加Swap空间,再用单线程编译:
  1. # 增加2GB Swap
  2. sudo fallocate -l 2G /swapfile
  3. sudo chmod 600 /swapfile
  4. sudo mkswap /swapfile
  5. sudo swapon /swapfile
  6. # 进入工作空间编译(单线程,稳)
  7. cd ~/ros2_ws
  8. colcon build --packages-select rplidar_ros --symlink-install --parallel-workers 1
复制代码
      4.加载工作空间环境
  1. source ~/ros2_ws/install/setup.bash
复制代码
    同样建议把这行加到 ~/.bashrc 中,避免每次新开终端都要手动source。
【第六步:测试雷达是否工作】
       1.启动雷达节点
  1. ros2 run rplidar_ros rplidar_composition --ros-args -p serial_port:=/dev/ttyUSB0 -p serial_baudrate:=460800
复制代码
     关键参数:
  1. serial_port:串口设备路径,根据实际情况调整
  2. serial_baudrate:RPLIDAR C1的波特率是460800,这是C1特有的,和其他型号不同
复制代码
     如果一切正常,雷达会开始旋转,同时终端里会输出扫描数据。
     2. 验证数据流
     新开一个终端,加载环境后查看雷达发布的数据:
  1. source ~/ros2_ws/install/setup.bash
  2. ros2 topic echo /scan --once
复制代码
     如果看到一大串 ranges 数据,恭喜——雷达已经正常工作了!
ROS2雷达小车开篇:树莓派4B装系统与RPLIDAR C1配置全记录图6
【常见问题排查】
现象
可能原因
解决办法
colcon: command not found未安装colconsudo apt install python3-colcon-common-extensions
编译卡住不动内存不足增加Swap + 单线程编译 --parallel-workers 1
/dev/ttyUSB* 不存在驱动未加载或brltty冲突lsusb 确认硬件识别,停用 brltty 服务
Permission denied串口权限不足sudo usermod -a -G dialout $USER 然后重启
operation timeout供电不足或波特率错误确认波特率460800,使用5V/3A电源
rviz2 无法启动Ubuntu Server无图形界面用 ros2 topic echo /scan 查看数据即可

【总结与下一步】
     至此,我们已经完成了:
     1.树莓派4B烧录Ubuntu Server 22.04 LTS
     2.SSH远程登录与系统初始化
     3.安装ROS2 Humble
     4.连接RPLIDAR C1激光雷达
     5.编译雷达驱动并验证数据流
     雷达数据能稳定输出后,小车项目就正式从“硬件调试”进入了“软件功能开发”阶段。
     接下来的路线图:
     1.底盘控制:接入电机驱动板(如L298N、TB6612),通过Arduino或STM32控制电机
     2.里程计:从编码器获取轮速数据,推算移动距离和角度
     3.SLAM建图:使用 slam_toolbox 结合雷达数据和里程计构建地图
     4.自主导航:使用Nav2实现自动避障和路径规划
     推荐参考:GitHub上的 mobo_bot 项目是一个完整开源的ROS2教育机器人方案,使用了和本文完全相同的硬件组合(树莓派4B + RPLIDAR C1 + ROS2 Humble + Nav2),非常适合作为后续开发的参考。

     下一篇我们将进入底盘控制部分,敬请期待!


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail