코딩 및 기타
ESDF ( Euclidean Signed Distance Function )
정지홍
2025. 6. 28. 11:08
Euclidean Signed Distance Function
- 3d or 2d 공간에서 임의의 점이 가까운 표면(장애물 등)까지의 최단 거리를 나타내는 함수이다.
- 여기에서 signed는 부호가 있다는 뜻이며, 해당 부호는 점이 장애물 안에 존재하는지 아닌지를 구분하는데 사용.
- Distance Function 거리함수
- 한점에서 다른 지점까지의 거리. 즉, 거리만 알려줌
- Signed Distance Function
- 거리 + 부호를 알려준다.
- 점이 표면 바깥에 존재하면 양수. 표면 안쪽에 존재하면 음수. 표면 위라면 0
- Euclidean Signed Distance Function
- SDF의 거리 척도로 유클리드 거리를 사용한것.

- ex)
- 1. 장애물 밖 , 장애물은 원이라고 가정
- 원의 중심이 ( 0,0 )이며 r=1이다. 점 x = ( 2,0 )이면, 가장 가까운 표면은 ( 1,0 )이다,
- ESDF = |2 - 1| = 1 (양수) ==> 장애물에서 1만큼 떨어져 있음.
- 원의 중심이 ( 0,0 )이며 r=1이다. 점 x = ( 2,0 )이면, 가장 가까운 표면은 ( 1,0 )이다,
- 2. 장애물 안
- 점 x = (0.5, 0)이면, 가장 가까운 표면은 (1, 0)이다.
- ESDF = -(1 - 0.5) = -0.5 (음수) ==> 안쪽으로 0.5만큼 들어가 있음.
- 점 x = (0.5, 0)이면, 가장 가까운 표면은 (1, 0)이다.
- 1. 장애물 밖 , 장애물은 원이라고 가정
- 부호가 중요한 이유
- 부호가 없다면 단순한 거리이다. 즉, 장애물 안인지 밖인지 구분이 불가하다.
- 부호가 있다면, 로봇이 장애물 안에 들어갔다는 정보를 즉시 얻음 ==> 충돌 회피 가능