로봇의 장애물 회피 기법 중 하나인 VFF(Virtual Force Field) 알고리즘은 로봇 주변의 장애물들로부터 로봇에 작용하는 가상의 반발력을 만들어 장애물이 로봇을 밀어내고 목적지에서는 로봇을 끌어당기는 인력을 이용하여 로봇이 장애물에 충돌하지 않고 목적지로 이동하도록 하는 장애물 회피 방법입니다.
VFF 알고리즘을 요약하자면 다음과 같습니다. (참조: http://www-personal.umich.edu/~johannb/vff&vfh.htm)
1. 포텐셜 필드 개념을 가진 히스토그램 격자를 전역 지도로 사용한다.
2. 로봇을 따라 움직이는 가상의 윈도우를 설정하고, 가상의 윈도우와 겹치는 히스토그램 격자영역을 활성화 윈도우라고 한다.
3. 활성화 윈도우 내의 셀들은 로봇을 향한 반발력을 생성한다. 이 힘의 크기는 로봇과 셀(장애물) 간의 거리에 반비례한다.
4. 모든 반발력을 더하여 장애물과 로봇간의 전체적인 반발력을 계산한다.
5. 로봇의 목적지로부터 인력을 계산한다.
6. 반발력과 인력의 합력으로 로봇의 이동방향(힘의 방향)과 속도(힘의 크기)를 결정한다.
자세한 내용은 다음 문서를 참고하시기 바랍니다.