티스토리 뷰

MJU/Robotics

[Robotics]VFH

Napster 2015. 4. 30. 16:03

Obstacle Avoidance methods

1. Edge-Detecton Methods

 대중적인 장애물 회피 방법들은 Edge-detection 기반이다. 이방법은 수직Edges 위치를 알아낸다. 그러면 로봇은 visible-edges주변으로 방향 전환한다. 단점으로는 로봇이 장애물 앞에서 멈추는데 이는 장애물의 센서 정보를 얻기 위해 멈춰있는다. 이것은 성능이 좋은 컴퓨터로 계산속도를 줄임으로 극복가능하다. 그리고 Edge기반은Global path planner 다음 경로지정을 위해 포함된다. Edge-Detection접근법들은 센서의 민감도에따라 정확도가 다르다.

 

2. The Certainty Grid for Obstacle Representation

  장애물을 확률적으로 표현한다. 2차원 배열로 정사각형의 elements 표현. 그리고 이건 cell이라 불리우는데 각각의 cell Certainty Value(CV) 포함하고 있다. 이방법을 CMU(Carnegie-MellonUniversity) 한다.

CV 센서로부터 주어지는 특정한 계산값으로 확률적인 함수에의해 새롭게 업데이트 된다.

 Ultrasonic sensor 사용한다면 CV값은 Ultrasonic sensor Acoustic axis 있는 값을 증가 시킨다. (Acoustic axis 있는 값이 좀더 장애물과 유사하기 때문)그리고 로봇은 센서로부터 값을 얻을때까지 상태를 유지한다. 그리고 새롭게 grid 업데이트하고 다시 움직이고 멈추고 이과정을 반복한다.

 

3. Potential Field Methods

 장애물과 목적지에게 각각 청력과 인력의 값을 주어져 그결과로 얻은 vector R 로봇의 포지션을 결정한다. R accelerating force인데 새로운 포지션이 주어진 시간간격마다 계산되어 주어진다.

 

1)The VFF Concept

 2차원 배열 히스토그램 격자를 사용한다. CMU에서처럼 cell 가지며 각셀은 c i,j라는 certainty value 갖는다.

히스토그램 격자와 Certainty grid 생성과 업데이트방법이 다르다. CMU방법은 cell 확률적인 값을 보여준다 거리 수치로 부터 영향을 받는다. 이것은 컴퓨터에 많은 계산을 요구하게 되고 시간이 오래걸리는 단점이 있다.

VF[1] H 하나의 셀에서 각각의 거리정보값을 증가 시킨다. cell의값은 로봇이 움직이는 동안 빠르게 계속적으로 값이 주어진다. 그리고 이웃한 셀에게도 동일하게 값이 계산되어진다.

active region = C* 각셀의 값은 c i,j * 표현한다.

 F i,j 값은 청력인데 청력은 c i,j* 값에 비례한다. 그리고 d x (거리)에 반비례한 값을 갖는다.

F r 장애물의 모든 청력값을 더한 벡터값이다. 청력값은 1089(33*33)모두 계산해야되고 축적해야한다.

위의 컨셉에서 실시간처리는 즉시 로봇의 방향전환에 영향을 미친다.  그리고 센서로부터 얻어진 데이터는 히스토그램에 저장이 되고 다음 계산에 사용되어진다. 이방법은 장애물이 갑자기 나타나도 빠른 응답을 보여준다.

 

1-B)VFF 단점

 문과같이 장애물사이를 지나갈 수가 없다. 왜냐하면 장애물에서 청력이 같이 발생하기 때문에 사이로 지나갈수가없다. 그리고 또다른 문제는 히스토그램에 나타난다. 효과적인 청력계산을 위해 로봇의 위치가 히스토그램에 주어진다. 위치가 하나의 셀에서 다른셀로 바뀔때마다 R 급격한 변화갖는다. 값의 변화는 로봇 steering control 상당한 요동을 준다. 좁은 통로를 지나갈때는 괜찮게 로봇이 진행하지만 어느정도의 너비를 가진 복도는 로봇이 요동을 치면서 움직인다.

 그리고 장애물들의 청력값은 각셀로부터 모두 더해서 하나의 벡터로 표현하기 때문에 장애물의 구체적인모습은 히스토그램에서 사라진다.

2)The VFH Concept

 3가지단계의 데이터 표현법이있다. 첫번째 제일 높은 수준의 데이터는 로봇 주변의 환경 상황을 아주 디테일하게 표현하는 데이터를 포함하고 있다. 이 수준에서는 2차원 히스토그램 C 좌표체계를 계속, 실시간 거리센서로 부터 받은 정보를 표현한다. 이절차는 VFF방법과 동일한 절차로 진행된다.

 두번째 중간계층의 단계에서는 1차원 Polar histogram H 갖는다. 이것은 로봇주변의 시시각각 변하는 장소를 포함하고 있다. H n개의 Angular Sectors of width a(알파)를 포함한다. Active region(C*)이(는)는 섹터의 hk값을 갖고있으면서 H위에 그려진다. hk k섹터의 맞는 polar obstacle denstity 값이다.

 맨마지막 수준의 데이터는 VFH알고리즘을 만들어낸다. 로봇의 움직임과 방향설정을 위한 값을 만들어낸다.

 

2-1)첫번째 데이터 Polar Histogram 만들기

 Active region 로봇이 움직일때 같이 움직인다. 그리고 active cell 있는 내용들은 obstacle vector 다루어진다. 방향은 b(베타)로 정해진다. b VCP(vehicle center point) 셀로부터 정해진다.

m i,j 거리에 비례한다. 로봇주변에 장애물이 있다면 매우큰 벡터를 형성하고 장애물이 로봇과 멀리 떨어진다면 작아진다. 모든 active cell들은 k 관계가있다. 그리고 히스토그램은 연속적이지 않게 표현되면 울퉁불퉁하게 표현되는데 이것을 좀더 매끄럽게 표현하기위해서는 다음의 정의(5)를 사용한다.

로봇 주변에 표현된 각도는 히스토그램의 x축에서 시계반대방향으로 측정한것과 일치한다.

 

2-2)두번째 데이터축소 그리고 방향전환 조작

 두번째 데이터 stage에서는 로봇의 방향을 결정하는 세터 값을 계산한다. 히스토그램에서 보여지는 threshold 아래를 포함하는 계곡은 candidate valley 부르며 이값은 실제 환경과 동일하다. 보통 2개 혹은 그이상의 Candidate valley 갖게된다. 그리고 VFH알고리즘은 어떤 방향이 타겟과 가까운지 선택한다. 어떻게 타겟과 가까운 곳의 valley 찾을까 우선 선택한 valley 사이즈를 측정한다. 그러면 valley 넓이가 S max보다 넓다면 고려되는  valley 분류한다. 그리고 valley사이의 거리는 장애물과 장애물 사이의 거리를 나타내거나 로봇주변에 단하나의 장애물만 있음을 알려준다.

 

K(타겟)와 가장 가깝고 threshold 값보다 아래값이라면 K n 그반대는 K f

S max 의해 d s길이는 결정된다(당연하지)

 

 좁은 길목일때 s max 보다 k f k n 사이의 거리는 더작다.  하지만 로봇의 센터 세타는 다시 값을 재조정하여 로봇이 장애물 사이를 지나 있게 한다. 이런방법은 VFF에서 문제가되었던 조향컨트롤 흔들림을 제거해주며 polar histogram상에서 데이터처리를 함으로써 진행 있다. 그리고 polar histogram 평균적인 효과와 추가적으로 부드럽게 표현된 그래프 등등이 센서를 읽어드리는 샘플링 사이를 매끄럽게 해준다.(?) 그래서 VFH 조향 컨트롤 루프 안에서 a low pass filter 필요하지않다. 그리고 의도하지않은 장애물을 빠르게 검색할 있다.

또한 좁은길목에서 흔들리지 않고 지나갈수있다.

 

2-3)The Threshold

 Candidate valley 정해준다. Threshold 정하는 것은 중요하다. 값이 너무 크면 장애물을 알아보지 못하고 충돌을 일으킬 있다.  반대로 값이 너무 작다면 갈수있는 경우도 못지나갈수가있다.

 

2-4)Speed Control

 hc 값이 크다는 것은 로봇앞에 장애물이 있거나 갑작스러운 환경 변화를 의미힌다. (smoothed polar obstacle density) 그렇다면 로봇은 속도를 줄일 필요가 있고 로봇은 방향을 새롭게 수정해야 한다.

 

VFH 로봇이 멈추지 않고 장애물을 피할 있고 VFF와는 다르게 좁은 통로를 흔들림없이 통과 있다. 그리고  빠른속도로 장애물을 회피할 있는 장점이 있다.

 

1.      2차원 좌표평면의 히스토그램 격자는 거리측정 센서를 이용해서 값을 계속 업데이트 한다.

2.      히스토그램 격자는 1차원 Polar 히스토그램으로 바뀐다. 그리고 히스토그램은 로봇 주변 상황을 표현한다. Polar히스토그램은 VFF VFH 다른 가장큰 차이점이다.

3.      연속되는 섹터와 POD(장애물의 밀집정도)가 Threshold값보다 적으면 candidate valley 분류되어 로봇이 수있는 방향이 결정된다.

4.      로봇의 방향은 항상 로봇의 센터와 일치하게 움직인다.

5.      로봇앞에 장애물이 생기면 로봇은 속도를 줄일 있다.

 


 [1]


Comments