Skip to content

完善launch文件,实现SLAM功能#3238

Merged
donghaiwang merged 47 commits into
OpenHUTB:mainfrom
dream1112221:main
Dec 15, 2025
Merged

完善launch文件,实现SLAM功能#3238
donghaiwang merged 47 commits into
OpenHUTB:mainfrom
dream1112221:main

Conversation

@dream1112221

Copy link
Copy Markdown
Contributor

修改概述: 完善launch文件,实现SLAM功能

修改的详细描述

  1. 新增PointCloud转LaserScan转换节点
    添加 pointcloud_to_laserscan 节点,将CARLA激光雷达的PointCloud2数据转换为LaserScan格式
    配置转换参数:高度范围、角度范围、扫描频率等
    解决CARLA原生激光雷达与gmapping数据类型不兼容问题
  2. 集成gmapping SLAM算法
    配置 slam_gmapping 节点,实现实时2D SLAM建图
    设置地图参数:分辨率(0.05m)、更新频率、扫描范围(50m)
    配置坐标系变换:base_frame、odom_frame、map_frame
  3. 完善话题映射和TF变换
    修正激光雷达话题映射:从 /carla/ego_vehicle/lidar/front/scan 改为 /carla/ego_vehicle/lidar
    更新TF静态发布器,正确发布base_link到激光雷达的坐标变换
    添加点云转换后的scan话题:/carla/ego_vehicle/scan
  4. 优化节点启动顺序
    调整各节点启动延迟,确保依赖关系正确
    CARLA ROS Bridge → Spawn Objects → Manual Control → PointCloud转换 → Gmapping
  5. 环境兼容性修复
    解决Python 3.13与CARLA 0.9.15不兼容问题(需使用Python 3.8环境)
    配置PYTHONPATH以正确加载CARLA Python API
    修复同步模式下传感器数据发布问题

经过了什么样的测试?

  1. 操作系统 win11 ubuntu20.04
  2. Python版本等 ros1 python3.8 carla0.9.15

✅ CARLA与ROS Bridge连接测试
验证CARLA服务器正常运行(端口2000监听)
确认ROS Bridge成功连接并发布话题
✅ 传感器数据流测试
验证激光雷达数据发布频率:20 Hz
验证里程计数据发布频率:20 Hz
验证相机数据发布频率:20 Hz
验证时钟同步:20 Hz
✅ 点云转换功能测试
输入:/carla/ego_vehicle/lidar (PointCloud2格式)
输出:/carla/ego_vehicle/scan (LaserScan格式,20 Hz)
转换参数验证:角度范围(-π ~ π),距离范围(0.5m ~ 100m)
✅ SLAM建图功能测试
地图话题更新频率:0.5-2 Hz (正常)
手动控制车辆移动,实时观察地图生成
测试场景:CARLA Town01,覆盖道路、交叉路口、建筑区域
✅ RViz可视化测试
LaserScan点云实时显示(红色点云)
2D栅格地图实时更新(灰白色地图)
坐标系TF树正确显示

运行效果

动图、视频、截图等

Peek.2025-12-15.09-58.mp4

@donghaiwang
donghaiwang merged commit b0720e7 into OpenHUTB:main Dec 15, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants