로봇 기술 에서 조정 프레임 과 변형: 명확 한 가이드
로봇 세계, 로봇 기반, 도구 및 카메라 프레임과 변환 예시로 좌표 프레임과 균일한 변환을 이해하는 것.
[← 배우기]
로봇 시스템 에서 팔 이 잘못된 방향으로 움직인다고 하는 거의 모든 버그 는 좌표 프레임 버그 입니다. 이 가이드 는 그것 을 피 하는 데 도움 이 됩니다.
왜 조정 프레임 이 중요 합니까?
각 센서, 각 로봇 링크, 그리고 환경의 모든 객체는 자체의 좌표 시스템을 가지고 있습니다. "앞으로", "오르고", "우측". 카메라가 카메라 프레임에서 위치 (0.1, -0.05, 0.3) 에 있는 객체를 감지할 때, 로봇은 이것을 직접적으로 행동할 수 없습니다.
프레임들 사이의 위치와 방향을 변환하는 것은 좌표 변환의 작업입니다. 이러한 오류를 잘못 만드는 것은 로봇 시스템에서 디버깅하기 어려운 유일한 가장 일반적인 오류입니다.
균일한 변형
동일 변환
T = [[R, t], [0, 0, 0, 1]]
여기서
표기
회전 표현
회전량은 3DOF의 양이지만, 그것을 표현하는 방법은 여러 가지가 있습니다. 잘못된 것을 선택하면 버그가 발생합니다.
- ** 회전 행렬 (3×3):** 가장 지리적으로 정확한 표현. 정형성 제약 (9 값 3 DOF) 은 그것을 과다 매개 변수를 만듭니다. 많은 변환을 작곡할 때 사용하십시오.
- 유러 각 (roll, pitch, yaw): 직관적: "z축을 45°로 회전한다". 그러나 특정 구성에서 gimbal lock
로 고통받습니다. 두 축이 정렬되어 자유의 정도를 잃습니다. ** 하드웨어에서 지속적으로 실행되는 코드에서 유러 각을 사용하지 마십시오. ** 인간으로 읽을 수 있는 로그링을 위해만 사용하십시오. - ** 쿼터니온 (qx, qy, qz, qw):** 4 값 (단체 제한은 3 DOF) 이다. 기말 잠금 없다. 컴팩트. 원활하게 인터폴레이션 (SLERP). 로봇 소프트웨어 표준. ** 코드를에서 이것을 사용하십시오.** 이중 표면을 참고하십시오. q와 -q는 같은 회전을 나타냅니다.
- 6D 회전 (R의 두 열): 신경 네트워크 출력
연속성 없이 연속성 표현. 그래미스미드트를 통해 전체 R를 재구성. 현대 로봇 학습 정책에서 사용됩니다.
일반적인 로봇 프레임
전형적인 조작 설정은 적어도 네 개의 좌표 프레임을 포함합니다.
- 세계 프레임: 고정된 글로벌 참조. 일반적으로 로봇의 설치 지점이나 테이블에 있는 캘리브레이션 목표에서 정의된다. 다른 모든 프레임은 궁극적으로 이에 대한 표현된다.
- ** 로봇 기저 프레임:** 로봇의 마운팅 플랜지 중부에 위치한다. 팔의 앞 기역학은 이 프레임에 비해서 계산된다.
- ** 최종 효과자 / 도구 프레임:** 기원은 지갑 끝 (tool center point) 또는 TCP) 이다. 이것은 당신이 카르테스 목표물을 지정할 때 명령입니다.
- ** 카메라 프레임:** 카메라의 광학 중심에서 기원. z 축은 카메라의 광학 축을 따라 점합니다. 이 프레임에서 객체 탐지가 처음에는 표현됩니다.
체인 변환
카메라 프레임에서 감지된 객체 포즈를 세계 프레임으로 변환하려면, 변환을 연쇄하십시오:
T_world_obj = T_world_robot × T_robot_ee × T_ee_camera × T_camera_obj
오른쪽에서 왼쪽으로 이 문서를 읽어보세요: 먼저 객체를 카메라 프레임으로 변환하세요 (인증
각 변환은 4×4 매트릭스이며, 체인은 매트릭스 곱하기일 뿐이다. ROS2에서는
손-눈 기량
위의 변환 연쇄를 사용하려면 로봇의 최종 효과에 대한 카메라의 자세가
프로세스: 로봇을 여러 가지 서로 다른 합동 구성 (최소한 15
** 카메라가 물리적으로 이동되거나 충돌하거나 새로운 카메라가 설치되거나 체계적인 포착 오프셋 오류가 발생하는 경우 재계급합니다.
실용적인 파이썬 도구
- scipy.spatial.transform.rotation: 회전 매트릭스, 쿼터니온, 유일러 각, 축-각 사이의 변환. 오프라인 데이터 처리의 이동.
- ROS2 tf2 (Python rclpy): 실시간 트랜스포스트 트리 관리. 트랜스포스트를 게시하기 위해
T13 , 검색하기 위해 T14 을 사용하십시오. - pytransform3d: 모든 SE(3) 작업에 대한 순수한 파이썬 라이브러리
- numpy: 4×4 동질 변환의 매트릭스 곱셈은
T15 입니다.
로봇 자원 및 교과서 보다 자세한 내용은 [RCSV 자원 섹션](







