코딩 및 기타

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만큼 떨어져 있음.
    • 2. 장애물 안 
      • 점 x = (0.5, 0)이면, 가장 가까운 표면은 (1, 0)이다.
        • ESDF = -(1 - 0.5) = -0.5 (음수)  ==>  안쪽으로 0.5만큼 들어가 있음.

 

  • 부호가 중요한 이유
    • 부호가 없다면 단순한 거리이다. 즉, 장애물 안인지 밖인지 구분이 불가하다.
    • 부호가 있다면, 로봇이 장애물 안에 들어갔다는 정보를 즉시 얻음 ==> 충돌 회피 가능 

'코딩 및 기타' 카테고리의 다른 글

다항식 기반 최소 경로 최적화  (2) 2025.07.01
RTAB_MAP시에 imu센서 정보도 더해서 동작  (0) 2025.06.30
ubuntu opencv install  (0) 2025.06.20
nav2.yaml  (0) 2025.06.18
rrt 주석 달아둔거  (1) 2025.06.18