Introduction
- UAV처럼 2D가 아닌 3D로 움직이는 로봇에 필요한 알고리즘
- 2D VFH+을 기반으로 만들어졌고 octomap을 이용해서 3D 환경을 보여준다.
- 실시간으로 장애물을 피하기위한 로봇의 3D 경로를 만들어준다.
관련된 연구들
- 2D VFH+ 알고리즘 - 이 알고리즘은 실시간으로 로봇의 사이즈와 같은 물리적인 특징들 그리고 로봇의 회전운동을 고려하여 장애물에 안 부딪히는 경로를 짜준다.
- probabilistic roadmap planner - D* lite 알고리즘을 이용하여 probabilistic roadmap (가능한 로드맵)을 짜고, 로드 재구성이 필요하면 반복한다.
등등 이 논문의 3DVFH+ 연구의 선행 연구들을 알려준다.
Octomap
- octomap은 octree structure를 기반으로 하는 3D grid이다. 밑에 화면에서 보는것처럼 octree structure은 컴퓨터 구조에서 많이 활용하는 tree 구조와 흡사하다. 각 node를 octree sturcture 에서는 voxel이라고 부르는데 parent voxel (밑에 그림 검은원으로 표현) 밑에 child voxel (밑에 그림 검정/흰색 정사각형)이 8개 달려있는 구조로 되어있다. octomap의 “octo”는 여기서 따온 말이다.
- octree sturcuture의 기본적인 작동 - 각 parent voxel은 8개의 child vocel을 가지고 있다. 이 child voxel들을 비어 있을수도 혹은 차지되어있을수 있다. 모든 8개의 child voxel이 차게 되면 꽉차있는 parent voxel로 대체된다. 반대로 8개의child voxel이 다 비게 된다면 비어있는 parent voxel로 재체된다.
- 장애물 회피 관점에서 보면 차 있는 노드가 나타내는것은 장애물의 유무 표시이다. 하지만 장애물 감지를 하는 센서에는 노이즈가 있기 때문에 장애물이 있다/없다로 표현하기보다는 장애물이 있을 확률을 나타내는 숫자를 넣어야한다. 그렇기에 각 node에는 그 위치에 장애물이 있을 “확률”을 담은 숫자가 들어간다.