많은 경우에 적절한 목표 위치를 지정하는 것이 까다로울 수 있으므로 2D 점유 그리드 맵을 기반으로하는 다음 방법을 고려해 볼 가치가 있습니다. 일반적으로 "값 반복"이라고하며 그라디언트 디센트 / 어 센트와 결합하여 간단하고 상당히 효율적인 (구현에 따라 다름) 경로 계획 알고리즘을 제공합니다. 단순성으로 인해 모바일 로봇 공학, 특히 실내 환경에서 탐색하는 "단순 로봇"에 대해 잘 알려져 있습니다. 위에서 암시 된 바와 같이,이 방법은 다음과 같이 목표 위치를 명시 적으로 지정하지 않고 시작 위치에서 떨어진 경로를 찾는 방법을 제공합니다. 가능한 경우 목표 위치를 선택적으로 지정할 수 있습니다. 또한 접근 / 알고리즘은 너비 우선 탐색을 구성합니다.
이진 경우에, 2D 점유 그리드 맵은 점유 그리드 셀에 대한 것이고 다른 곳에서는 0이다. 이 점유율 값도 [0,1] 범위에서 연속적 일 수 있습니다. 아래로 다시 돌아갑니다. 주어진 그리드 셀 g i 의 값 은 V ( gi ) 입니다.
기본 버전
- 그리드 셀 g 0 에 시작 위치가 있다고 가정합니다 . 세트 V (g 0 ) = 0 , 넣어 g 0 는 FIFO 큐이다.
- 다음 그리드 셀 받아 g의 난 대기열에서합니다.
- 모든 이웃을 위해 g의 J 의 g 전 :
- 경우 g의 j는 점령되지 않고 이전에 방문한되지 않았습니다
- V (g j ) = V ( gi ) +1
- 방문한 g g j 를 표시하십시오 .
- FIFO 대기열에 g j 를 추가하십시오 .
- 주어진 거리 임계 값에 아직 도달하지 않은 경우 (2.)로 계속하고, 그렇지 않으면 (5.)로 계속하십시오.
- 경로는 g 0 에서 시작하여 가장 가파른 구배 상승을 따라 얻어진다 .
4 단계에 대한 참고 사항
- 전술 한 바와 같이, 단계 (4.)는 커버링 된 최대 거리를 추적 할 필요가 있으며, 이는 명확성 / 명확성의 이유로 상기 설명에서 생략되었다.
- 목표 위치가 주어지면, 목표 위치에 도달하자마자 반복, 즉 단계 (3)의 일부로서 처리 / 방문이 반복된다.
- 물론 전체 그리드 맵을 간단히 처리하는 것, 즉 모든 (무료) 그리드 셀이 처리 / 방문 될 때까지 계속하는 것도 가능합니다. 제한 요소는 해상도와 함께 그리드 맵의 크기입니다.
확장 및 추가 설명
업데이트 방정식 V (g j ) = V (g i ) +1 은 다운 스케일링 V (g j )에 의해 모든 종류의 추가 휴리스틱을 적용 할 수있는 충분한 공간을 남겨 둡니다.또는 특정 경로 옵션의 값을 줄이기 위해 첨가제 구성 요소. 전부는 아니더라도, 대부분의 이러한 수정은 [0,1]의 연속 값을 갖는 그리드 맵을 사용하여 훌륭하고 일반적으로 통합 될 수 있으며, 이는 초기 이진 그리드 맵의 전처리 단계를 효과적으로 구성한다. 예를 들어, 장애물 경계를 따라 1에서 0으로의 전환을 추가하면 "액터"가 장애물을 깨끗하게 유지합니다. 이러한 그리드 맵은 예를 들어 블러 링, 가중 확장 또는 유사에 의해 이진 버전으로부터 생성 될 수있다. 반경과 블러 반경이 큰 장애물로 위협과 적을 추가하면 주변에 접근하는 경로에 불이익을줍니다. 다음과 같이 전체 그리드 맵에서 확산 프로세스를 사용할 수도 있습니다.
V (g j ) = (1 / (N + 1)) × [V (g j ) + 합 (V (g i ))]
여기서 " sum "은 모든 인접 그리드 셀에 대한 합계를 나타냅니다. 예를 들어, 이진 맵을 생성하는 대신 초기 (정수) 값은 위협의 크기에 비례 할 수 있으며 장애물은 "작은"위협을 나타냅니다. 확산 과정을 적용한 후에는 그리드 값을 [0,1]로 스케일링해야하고 장애물, 위협 및 적이 차지하는 셀을 1로 설정 / 강제화해야합니다. 그렇지 않으면 업데이트 방정식의 스케일링이 원하는대로 작동하지 않습니다.
이 일반적인 계획 / 접근법에는 많은 변형이 있습니다. 장애물 등은 작은 값을 가질 수있는 반면, 자유 그리드 셀은 큰 값을 가지므로 목적에 따라 마지막 단계에서 기울기 하강이 필요할 수 있습니다. 어쨌든, 접근법은 IMHO, 놀랍게도 다목적이며, 구현하기가 쉽고, 잠재적으로 다소 빠릅니다 (그리드 맵 크기 / 해상도에 따라 다름). 마지막으로 특정 목표 위치를 가정하지 않는 많은 경로 계획 알고리즘과 마찬가지로 막 다른 골목에 갇힐 위험이 있습니다. 어느 정도까지는 이러한 위험을 줄이기 위해 마지막 단계 전에 전용 사후 처리 단계를 적용 할 수 있습니다.
Java-Script (?)로 된 그림이있는 또 다른 간단한 설명이 있지만 내 브라우저에서는 그림이 작동하지 않습니다.
http://www.cs.ubc.ca/~poole/demos/mdp/vi.html
계획에 대한 자세한 내용은 다음 책을 참조하십시오. 값 반복은 2 장 섹션 2.3.1 최적 고정 길이 계획에서 구체적으로 설명합니다.
http://planning.cs.uiuc.edu/
친절하게 도와 주길 바래, 데릭