로봇 모델 파라미터 검증 가이드
Mech-Viz의 시뮬레이션된 로봇의 포즈, 말단장치 포즈와 실제 로봇과 일치하지 않으면, 이 부분 내용을 참조하여 로봇 모델 파라미터를 검증하십시오.
불일치에 대한 설명
예시: Kawasaki RS007N 로봇
다음 예시에서는 로봇 제조사가 제공하는 시뮬레이션 소프트웨어를 사용하여 실제 로봇을 시뮬레이션합니다. |
-
티치 펜던트를 사용하여 실제 로봇을 임의의 포즈로 이동하고 JPs 및 말단장치 포즈의 값을 기록합니다.
-
로봇 모델 라이브러리에서 Kawasaki RS007N 로봇 모델을 찾아 선택합니다.
-
실제 로봇의 관절 각도 값을 Mech-Viz에 입력하면 시뮬레이션된 로봇의 포즈는 아래와 같습니다.
위의 두 그림을 보면 알 수 있듯이 로봇의 포즈가 많이 다릅니다.
검증 프로세스
다음 항목을 순서대로 확인해 주십시오.
-
로봇 구성 유형 내용을 참조하여 로봇의 구성의 올바른지 여부를 체크하세요.
-
로봇 모델의 DH 파라미터가 로봇 사양과 일치하는지 확인하세요.
-
로봇 모델의 파라미터를 확인하기 위해 확인해야 할 구체적인 항목은 다음과 같습니다.
-
로봇 좌표계 각 축의 방향.
-
로봇 관절의 회전 방향.
-
로봇의 각 관절의 포즈.
-
로봇 좌표계의 원점 위치.
-
위 항목은 모두 [robot]_algo.json 파일의 파라미터로 정의됩니다.
|
로봇 좌표계 각 축의 방향
이 예시에서 아래 그림에서 볼 수 있듯이 실제 로봇은 로봇 좌표계의 Y축 정방향을 향하고 있지만 시뮬레이션된 로봇은 좌표계의 X축 양방향을 향합니다.
실제 로봇 |
시뮬레이션된 로봇 |
실제 로봇의 기준 좌표계 축 방향이 시뮬레이션된 로봇과 일치하는 경우 이 부분을 건너뛰십시오. |
이 경우, 시뮬레이션된 로봇의 로봇 기준 좌표계의 X축과 Y축은 Z축을 중심으로 반시계 방향으로 90° 회전되어야 합니다. 차이점을 해결하려면 아래 단계를 따르십시오.
-
kawasaki_RS007N_algo 파일에 있는 “robot_frame_in_robot_base_frame” 파라미터 값을 “[0,0,0,0,0,-90]”으로 설정하고 저장하십시오.
-
소프트웨어에서 마우스 오른쪽 버튼으로 프로젝트 리소스 트리 > 로봇 이름을 클릭하여 바로 가기 메뉴에서 로봇을 다시 로드하기 버튼을 클릭하십시오.
-
실제 로봇의 관절 각도 값을 Mech-Viz에 다시 입력하면 로봇 포즈를 비교하십시오.
실제 로봇
시뮬레이션된 로봇
로봇 관절의 회전 방향
티치 펜던트 및 Mech-Viz에서 각 관절 각도의 값을 조정하여 실제 로봇과 시뮬레이션된 로봇의 관절 회전 방향을 비교하십시오.
실제 로봇 |
시뮬레이션된 로봇 |
실제 로봇의 각 관절 회전 방향이 시뮬레이션된 로봇과 일치하는 경우 이 부분을 건너뛰십시오. |
이 예시에서는 J3의 회전 방향이 반대이므로 수정해야 합니다. 자세한 방법은 다음과 같습니다.
-
kawasaki_RS007N_algo 파일에 있는 “axis_flip” 파라미터의 값을 "100010"에서 "101010"으로 수정하고 저장하십시오.
0을 1로 변경하거나 1을 0으로 변경하면 해당 관절의 회전 방향이 뒤집어집니다. -
소프트웨어에서 마우스 오른쪽 버튼으로 프로젝트 리소스 트리 > 로봇 이름을 클릭하여 바로 가기 메뉴에서 로봇을 다시 로드하기 버튼을 클릭하십시오.
-
로봇의 관절을 개별적으로 회전시켜 실제 로봇의 축 회전 방향과 시뮬레이션된 로봇의 축 회전 방향을 비교하십시오.
로봇의 각 관절의 포즈
관절 회전 방향을 수정한 후 실제 로봇의 관절 각도 값을 다시 Mech-Viz에 입력하고 실제 로봇과 시뮬레이션된 로봇의 포즈를 비교하십시오.
실제 로봇 |
시뮬레이션된 로봇 |
실제 로봇 각 관절의 포즈가 시뮬레이션된 로봇과 일치하는 경우 이 부분을 건너뛰십시오. |
로봇 포즈를 보면 J6의 차이값은 180°입니다. 상세한 수정 방법은 아래와 같습니다.
-
kawasaki_RS007N_algo 파일에 있는 “mastering_joints” 파라미터 값을 “[ 0, 0, 90, 0, 0, -90 ]”에서 “[ 0, 0, 90, 0, 0, 90 ]”으로 수정하고 저장하십시오.
-
소프트웨어에서 마우스 오른쪽 버튼으로 프로젝트 리소스 트리 > 로봇 이름을 클릭하여 바로 가기 메뉴에서 로봇을 다시 로드하기 버튼을 클릭하십시오.
실제 로봇의 관절 각도 값을 Mech-Viz에 다시 입력하면 로봇 포즈를 비교하십시오.
실제 로봇 |
시뮬레이션된 로봇 |
로봇 좌표계의 원점 위치
로봇 좌표계의 원점 위치를 검증하기 전에 Mech-Viz와 실제 로봇의 모든 말단장치 구성이 이미 삭제되었는지 확인해야 합니다.
실제 로봇과 시뮬레이션된 로봇의 JPs가 동일할 때의 말단장치 포즈를 비교해 보십시오.
실제 로봇의 말단장치 포즈 |
시뮬레이션된 로봇의 말단장치 포즈 |
실제 로봇 기준 좌표계의 원점 위치가 축 시뮬레이션된 로봇과 일치하는 경우 이 부분을 건너뛰십시오. |
위 그림에서 확인할 수 있듯이, 말단장치 포즈의 Z값의 차이는 360mm이고, dh 파라미터 그림에서 확인할 수 있듯이, dh1의 값이 360이며, 실제 로봇 좌표계는 베이스에 위치하는 것이 아니고, 2축의 회전축에 위치합니다.
구체적으로 다음과 같이 수정합니다.
-
kawasaki_RS007N_algo 파일에 있는 “robot_frame_in_robot_base_frame” 파라미터 값을 “[0,0,0.36,0,0,-90]”으로 수정하고 저장하십시오.
-
소프트웨어에서 마우스 오른쪽 버튼으로 프로젝트 리소스 트리 > 로봇 이름을 클릭하여 바로 가기 메뉴에서 로봇을 다시 로드하기 버튼을 클릭하십시오.
-
실제 로봇의 관절 각도 값을 Mech-Viz에 다시 입력하면 로봇 포즈를 비교하십시오.
실제 로봇 |
시뮬레이션된 로봇 |