일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자료구조
- binary search
- 최단 경로 알고리즘
- BST
- 이진 검색
- 완전 탐색
- 이진탐색트리
- 최소 비용 신장 트리
- 3190번
- quick-sort
- 중위 표기법
- 트리
- divide and conquer
- 프로세스의 상태
- 다이나믹 프로그래밍
- merge-sort
- 알고리즘
- 후위 표기법
- 부분 집합
- prim 알고리즘
- 동적 계획법
- kruskal 알고리즘
- disjoint-sets
- CPU scheduling
- 탐욕 알고리즘
- 서로소 집합
- deque
- 알고리즘 문제
- 프로세스
- union-find
- Today
- Total
Dionysus
2022.10.21.(금) 공부 내용 - VFH(Vector Field Histogram) 본문
Histogram (히스토그램)
표로 되어 있는 도수 분포를 정보 그림으로 나타낸 것이다. 더 간단히 말하면, 도수분포표를 그래프로 나타낸 것이다.
(도수 분포 : 통계학에서 표본의 다양한 산출 분포를 보여주는 목록, 표 또는 그래프를 말한다.)
VFH(Vector Field Histogram)
- 거리 센서(Range sensor) 측정값을 이용하여 장애물이 없는 공간으로의 로봇의 Steering (조향각)을 계산하는 알고리즘이다. (단, 거리 센서가 로봇의 중앙에 장착되어있다고 가정한다.)
- 장애물의 탐색 및 회피를 목적으로 한 알고리즘으로, Virtual Force Field(VFF)의 단점을 보완하기 위해 만들어졌다.
- 기존의 Potential Field Method, Virtual Force Field 등의 방법보다 계산량이 많이 줄어들어, 로봇이 실시간으로 장애물을 피할 수 있다.
- 목표점까지의 최적의 경로를 찾는 것이 아니라, 빠른 속도로 이동하는 로봇을 위해 적합한 방법이다.
- 장애물을 통과함에 있어, 멈추지 않는 장점이 있다.
- 기존의 이론들에서 해결하지 못한 출입구 형태나, 복도에서도 잘 이동할 수 있다.
VFH는 2단계의 자료 간략화(two data reduction) 과정이 있다.
첫 번째 단계 (First Data Reduction and Creation of the Polar Histogram)에서는,
histogram grid가 로봇의 순간적인 위치 주변에서의 1차원 polar histogram으로 축소된다.
지정된 파라미터 및 임계값(thresholds)을 기준하여 로봇의 유효한 Steering 방향을 나타내기 위해 이진 히스토그램으로 변환하는 것이다. 이때, polar histogram의 각 sector는 해당 방향으로의 polar obstacle density를 나타내는 값을 포함한다.
(거리 센서 측정값을 이용해 polar obstacle density를 계산한다.)
Polar Obstacle Density 히스토그램의 상한 임계값보다 높은 값은 occupied space(1)로 표시되고, 하한 임계값과 상한 임계값 사이에 있는 값은 이전의 이진 히스토그램 값으로 설정되며 기본적으로는 여유 공간(0)으로 설정된다.
Masked Polar Histogram에 특정 장애물이 나타나지 않는 경우, Polar Obstacle Density에서 histogram thresholds를 적절하게 조정하면 된다.
두 번째 단계 (Second Data Reduction and Steering Control)에서는,
polar histogram sectors 중에서 낮은 polar obstacle density를 가진 가장 적절한 sector를 선택하여, 로봇이 그 방향으로 향하도록 한다.
Parameter of Robot
VFH 알고리즘은 로봇에 관해 오직 4개의 파라미터 값만을 입력하면 된다.
- RobotRadius
RobotRadius는 로봇의 모든 부분을 둘러싸는 가장 작은 원의 반경을 지정한다.
이것은 로봇이 크기에 따라 장애물을 피할 수 있도록 하기 위해 사용된다.
- SafetyDistance
SafetyDistance는 로봇 반지름 위에 추가 거리를 선택적으로 지정하여 환경을 탐색할 때 안전 요소를 추가하기 위해 사용된다.
- MinTurningRadius
MinTurningRadius는 원하는 속도로 이동하는 로봇의 최소 회전 반경을 지정한다. 이때, 로봇이 빠른 속도로 급회전하지 못할 수 있다. 이 parameter는 장애물 주변을 탐색하는 데 영향을 미치며, 조종할 수 있는 충분한 공간을 제공한다.
- DistanceLimits
DistanceLimits는 장애물 회피를 위해 고려할 거리 범위를 2요소 벡터로 지정한다. 하한은 로봇의 부품과 교차하는 센서 판독값, 단거리에서 센서의 부정확성 또는 센서 노이즈를 무시하는 데 사용된다. 반면 상한은 센서의 유효 범위이거나 용도에 따라 결정된다.
Cost Function Weights (비용 함수 가중치)
CurrentDirectionWeghts, PreviousDirectionWeight, TargetDirectionWeight 의 값을 설정함으로써, 로봇의 Steering behavior를 조절할 수 있다. 예를 들어, 로봇이 목표점으로 to head 하기를 원한다면 TargetDirectionWeight 값을 다른 Weights의 합보다 크게 설정하면 된다. 그러면 조향 방향이 목표점으로 가깝도록 할 수 있다.
NumAngularSectors
VFH 알고리즘은 로봇 주변의 모든 방향에 대해 NumAngularSector 속성을 이용해 지정된 각도 범위로 변환한다.
이 속성값은 조정할 수 없으며, 컨트롤러(controllerVFH) 개체가 호출될 때 고정된 채로 유지된다.
# 참고 자료
[논문][VFH(Vector Field Histogram)을 이용한 4족 로봇의 장애물 회피 - 정현룡, 김영배 저자]
https://soohwan-justin.tistory.com/26
The Vector Field Histogram - Fast Obstacle Avoidance for Mobile Robots
Johann Borenstein의 The Vector Field Histogram - Fast Obstacle Avoidance for Mobile Robots 내용을 정리한 포스트 입니다. VFH의 대략적인 내용은 다음과 같습니다. VFH(Vector Field Histogram)은 world mod..
soohwan-justin.tistory.com
https://kr.mathworks.com/help/nav/ug/vector-field-histograms.html
Vector Field Histogram - MATLAB & Simulink - MathWorks 한국
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다. 명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
kr.mathworks.com
'전자공학 > Path Planning' 카테고리의 다른 글
2022.10.21.(금) 공부 내용 - Visibility Graph (0) | 2022.10.22 |
---|---|
2022.10.21.(금) 공부 내용 - Potential Field method (0) | 2022.10.21 |
2022.10.21.(금) 공부 내용 - Pure Pursuit 알고리즘 (0) | 2022.10.21 |
2022.10.18.(화) 공부 내용 (0) | 2022.10.21 |
2022.10.14.(금) 공부 내용 (0) | 2022.10.15 |