[地图]构建欧氏距离场

文章目录

  • 简介
  • 一、FIESTA使用
    • 1.安装依赖
    • 2.下载编译
    • 3.运行实例
    • 4.可能存在的问题
      • data.bag数据包播放很慢
  • 二、仿真演示
  • 参考资料


简介

欧几里德符号距离场(ESDF)可以很方便地对障碍物进行距离和梯度信息的查询,对空中机器人的在线运动规划具有重要意义。如何快速地生成ESDF地图是进行实时运动规划的重点。

苏黎世理工有开源一款构建ESDF工具Voxblox(https://github.com/ethz-asl/voxblox)。

Voxblox的主要流程(如下图所示)

  1. 将传感器数据(RGBD, 点云)转换为tsdf.
  2. 根据TSDF使用 propagate的方式 更新ESDF.
    [地图]构建欧氏距离场_第1张图片

港科大也开源一款构建ESDF工具FIESTA(https://github.com/HKUST-Aerial-Robotics/FIESTA ),性能比Voxblox更好。

FIESTA的主要流程

  1. 使用光线追踪法将点云叠加到占有栅格地图中,然后将所有占用状态发生改变的体素分别添加到insertQueue和deleteQueue两个队列中
  2. 使用一个名为ESDF更新初始化的过程,将两个队列的内容合并到updateQueue队列中,并使用基于广度优先搜索算法(BFS)的ESDF更新算法更新所有可能更改的体素。
    [地图]构建欧氏距离场_第2张图片

一、FIESTA使用

1.安装依赖

安装教程参考https://github.com/HKUST-Aerial-Robotics/FIESTA

  • Eigen3
  • PCL 1.7
  • OpenCV
  • ROS

注意: 运行FIESTA需要C++ 17,确保安配置好C++ 17。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7

2.下载编译

cd ~/catkin_ws/src
git clone https://github.com/hlx1996/Fiesta.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

3.运行实例

roslaunch fiesta cow_and_lady.launch
rosbag play data.bag

[地图]构建欧氏距离场_第3张图片

4.可能存在的问题

data.bag数据包播放很慢

解决方法参考http://wiki.ros.org/rosbag/Commandline#compress

[地图]构建欧氏距离场_第4张图片

rosbag compress --lz4 data.bag

然后再播放bag文件

rosbag play data.bag

二、仿真演示

待补充。


参考资料

【1】泡泡机器人【泡泡航行天下】FIESTA:用于空中机器人在线运动规划的快速增量欧氏距离场 。

你可能感兴趣的:(地图)