코딩처음입니다만
군집 로봇, 모션 플래닝, 자율주행에 관심있는 SW 개발자입니다 !
[C++] 각도 제한 [ -pi ~ pi ]
728x90
반응형

Robotics 분야에서 각도 표현은 굉장히 중요하다 !!
로봇의 heading angle이 200도라도 표현하기 보단 -160도라고 표현하는 것이 일반적이다.

즉, -180 ~ 180도 사이에서 모든 각도를 표현할 수 있어야 한다. 따라서 그 사이값으로 각도를 제한해보자.

1. pi_to_pi 코드

double pi_to_pi(double angle)
{
  while(angle >= M_PI)
  {
    angle -= 2.*M_PI;

    while(angle < -M_PI)
    angle += 2.*M_PI;

    return angle;
  }
}

이렇게 하면 -180도 ~ 180도 사이로 각도가 들어온다.

반응형
  Comments,     Trackbacks