지난 게시글(세변의 길이를 알고 있을때 각도 구하기)에서 아래와 같이 cosθ 까지는 도출했습니다. 그러면 θ값은 어떻게 구하나요?
당연히 cos-1 으로 처리하면 되지요.
하지만 로봇 작업에서는 cos-1 이나 tan-1는 사용하면 안된다는 이야기를 한 적이 있습니다. 왜 그런지 아래 3가지 비교 그림으로 확인해 보세요.
360도를 30도 단위로 회전시키면서 cos-1 을 이용하여 다시 산출한 각도를 비교해 보았습니다. cos-1 은 180도~360도 사이 구간을 인식하지 못합니다.
같은 방법으로 tan-1 을 이용하여 다시 산출한 각도를 비교해 보았습니다. tan-1 은 90도~270도 사이 구간에 문제가 있습니다.
같은 방법으로 arctan2 을 이용하여 다시 산출한 각도를 비교해 보았습니다. 전 구간에서 인식이 잘 되었습니다.
로봇은 360도 어디로도 움직이는데 역기구학 계산때, 반드시 arctan2를 사용하세요.
이번에는 회전을 -30도 ~ -360도로 -30도씩 역방향으로 회전시키며 각도 비교해 보았습니다. 비교 결과는 참고하세요.
로봇은 +방향, -방향으로도 움직이니 두 경우 모두 검토 필요했습니다.
첫댓글 유용하게 쓰겠습니다