플로킹알고리즘 (Flocking Algorithm)

로봇공학
한 줄 정의: 응집(cohesion), 정렬(alignment), 분리(separation)의 세 가지 국소 규칙을 이용해 다수 로봇이 새떼나 물고기떼처럼 자연스러운 집단 이동을 하도록 만드는 알고리즘.

쉽게 풀면

이웃과 너무 붙지도 멀어지지도 않으면서 같은 방향으로 움직이려는 세 가지 간단한 규칙만으로 새떼처럼 함께 움직이게 하는 방법입니다.

논문에서는 이렇게 쓰입니다

플로킹 알고리즘은 각 개체의 속도 갱신 규칙을 이웃과의 평균 위치(응집), 평균 속도(정렬), 최소 거리 유지(분리) 벡터의 가중합으로 정의한다.

각 로봇이 주변 이웃들과 너무 가까우면 멀어지고, 너무 멀면 가까워지고, 방향은 맞추려는 세 힘을 합쳐 다음 움직임을 결정한다는 뜻입니다.

주의할 점

이웃 인식 범위와 가중치 설정이 부적절하면 군집이 흩어지거나 충돌이 빈번해질 수 있습니다.

관련 용어