• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
goldqiu
帮助1

github:

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

Map_Conversion

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

运行

roslaunch map_conversion slam_to_planning.launch

效果

学新通

学新通

参数

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

文件介绍

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

输入输出

输入:

全局点云pcd:global_map

当前雷达帧local_cloud_frame: "/current_scan"

输出:

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

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgacikg
系列文章
更多 icon
同类精品
更多 icon
继续加载