当前位置:   article > 正文

三维点云实时和离线生成二维栅格、三维栅格地图(附github)_点云生成costmap

点云生成costmap

github:

GitHub - goldqiu/Map_Conversion: 导航“前端”,将定位后的三维点云实时或离线三维到二维栅格化,并计算代价生成代价地图。

Map_Conversion

导航“前端”,将定位后的三维点云实时或离线三维到二维栅格化,并计算代价生成代价地图。

运行

roslaunch map_conversion slam_to_planning.launch

效果

参数

  1. %YAML:1.0
  2. Global_file_directory: "/home/qjs/code/ROS_Localization/global_localization_chapter4_ws/src/lidar_localization/slam_data/map/filtered_map2.pcd" #全局地图文件位置
  3. frame_id: "map"
  4. local_cloud_frame: "/current_scan" #局部雷达原始帧话题 (/laser_cloud_map)
  5. global_max_z: "0" #这两个参数是调整全局栅格地图的Z轴直通滤波的范围
  6. global_min_z: "35"
  7. current_max_z: "5" #这两个参数是调整实时栅格地图的Z轴直通滤波的范围
  8. current_min_z: "0"
  9. 2d_global_map_resolution: "1"
  10. 2d_current_map_resolution: "0.1"
  11. 3d_x_size: 30.0
  12. 3d_y_size: 30.0
  13. 3d_z_size: 10.0

文件介绍

  1. │ CMakeLists.txt
  2. │ package.xml
  3. │ README.md
  4. ├─cmake
  5. │ eigen.cmake
  6. global_defination.cmake
  7. │ glog.cmake
  8. │ PCL.cmake
  9. │ yaml.cmake
  10. ├─config
  11. │ params.yaml //参数配置
  12. │ rviz_test.rviz
  13. ├─include
  14. │ └─map_conversion
  15. │ │ tic_toc.h //运行时间计算类
  16. │ │ utility.hpp //通用头文件、结构体等存放
  17. │ │
  18. │ ├─cloud_filter //点云滤波算法
  19. │ │ box_filter.hpp
  20. │ │ cloud_filter_interface.hpp
  21. │ │ no_filter.hpp
  22. │ │ voxel_filter.hpp
  23. │ │
  24. │ ├─global_defination //工程全局路径生成
  25. │ │ global_defination.h.in
  26. │ │
  27. │ ├─pointcloud_process //点云处理类
  28. │ │ costmap_calculator.hpp //生成代价地图、包括考虑2.5d地形和障碍物
  29. │ │ pointcloud_2d_process.hpp //二维栅格化
  30. │ │ pointcloud_3d_process.hpp //三维栅格化
  31. │ │
  32. │ └─ros_topic_interface //ros数据输入输出接口
  33. │ cloud_data.hpp
  34. │ cloud_publisher.hpp
  35. │ cloud_subscriber.hpp
  36. ├─launch
  37. │ slam_to_planning.launch
  38. ├─PIC
  39. pic1.png
  40. pic2.png
  41. └─src
  42. ├─app 目前有两个节点
  43. global_submap_node.cpp //全局子地图节点,10s的周期
  44. │ local_environment_node.cpp //局部环境节点,用于局部规划,包括全局地图和局部地图的对齐,局部地图、局部代价地图 计算和生成等,10hz频率
  45. ├─cloud_filter
  46. │ box_filter.cpp
  47. no_filter.cpp
  48. │ voxel_filter.cpp
  49. ├─pointcloud_process //点云处理类
  50. │ costmap_calculator.cpp //生成代价地图,考虑地形和障碍物
  51. │ pointcloud_2d_process.cpp //二维栅格化
  52. │ pointcloud_3d_process.cpp //三维栅格化
  53. └─ros_topic_interface //ros数据输入输出接口
  54. cloud_publisher.cpp
  55. cloud_subscriber.cpp

输入输出

输入:

全局点云pcd:global_map

当前雷达帧local_cloud_frame: "/current_scan"

输出:

全局三维点云地图、三维栅格地图、二维栅格地图

实时当前帧三维栅格地图、二维栅格地图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/96175
推荐阅读
相关标签
  

闽ICP备14008679号