真实环境点云/深度图仿真(支持CUDA)
1 依赖
CUDA; ROS; OpenCV; PCL; (如果已经安装ROS依赖基本都满足) yaml-cpp
sudo apt-get install libyaml-cpp-dev
2 编译
catkin build
3 运行
source devel/setup.bash
# CPU版本 (已弃用)
rosrun sensor_simulator sensor_simulator
# GPU版本 (推荐, RTX 3060 深度输出 > 1000fps)
rosrun sensor_simulator sensor_simulator_cuda
传感器参数以及点云环境修改见config,重要参数说明:
# 一些话题
odom_topic: "/sim/odom"
depth_topic: "/depth_image"
lidar_topic: "/lidar_points"
# 使用预先构建的点云地图还是随机地图
random_map: true
# 点云地图文件
ply_file:
# 随机地图配置
maze_type: 5 # 1: 溶洞 2: 柱子 3:迷宫 5:森林(也需设置树的点云文件) 6:房间
如果使用预先构建的点云地图,可下载我们收集的一个树林的示例: 谷歌云盘
4 仿真位置发布与简单可视化(可选)
cd src/sensor_simulator
python sim_odom.py
cd src/sensor_simulator
rviz -d rviz.rviz
5 实时性与资源占用
cpu 版本 (i7-9700): 深度图0.02s, 点云0.01s
gpu 版本 (RTX 3060): 深度图0.001s, 点云0.001s
6 示例场景
1. realworld forest |
2. realworld building |
3. 3D perlin |
4. random forest |
5. random room |
6. random maze |
注释:
- GPU版本地图无边界可无限延伸; CPU版本地图有边界(可选择复制地图几份,已弃用)
acknowledgment
Some maps (3D Perlin, random maze) are generated based on: https://github.com/HKUST-Aerial-Robotics/mockamap, thanks for their excellent work!






