이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
getTransform
바디 프레임 간의 변환 구하기
구문
설명
은 지정된 로봇 컨피규레이션을 사용하여 transform
= getTransform(robot
,configuration
,bodyname
)bodyname
프레임의 점을 로봇 베이스 프레임으로 변환하는 변환을 계산합니다.
는 지정된 로봇 컨피규레이션을 사용하여 소스 바디 프레임의 점을 타깃 바디 프레임으로 변환하는 변환을 계산합니다.transform
= getTransform(robot
,configuration
,sourcebody
,targetbody
)
예제
로봇 컨피규레이션에 대해 프레임 간 변환 구하기
특정 로봇 컨피규레이션에 대해 두 프레임 간의 변환을 구합니다.
Robotics System Toolbox™ loadrobot
함수를 사용하여 Yaskawa Motoman MH-5 매니퓰레이터를 불러옵니다.
motoman = loadrobot("yaskawaMotomanMH5");
showdetails(motoman)
-------------------- Robot: (6 bodies) Idx Body Name Joint Name Joint Type Parent Name(Idx) Children Name(s) --- --------- ---------- ---------- ---------------- ---------------- 1 link_s joint_s revolute base_link(0) link_l(2) 2 link_l joint_l revolute link_s(1) link_u(3) 3 link_u joint_u revolute link_l(2) link_r(4) 4 link_r joint_r revolute link_u(3) link_b(5) 5 link_b joint_b revolute link_r(4) link_t(6) 6 link_t joint_t revolute link_b(5) --------------------
주어진 컨피규레이션에 대해 motoman
로봇의 "link_1"
바디와 "link_t"
바디 간의 변환을 구합니다. 이 변환은 "link_t"
프레임의 점을 "link_l"
프레임으로 변환합니다.
q = randomConfiguration(motoman); show(motoman,q);
transform = getTransform(motoman,q,"link_l","link_t")
transform = 4×4
0.7787 0.0961 -0.6199 0.3115
0.5256 0.4396 0.7283 -0.4624
0.3425 -0.8930 0.2918 -0.1886
0 0 0 1.0000
입력 인수
robot
— 로봇 모델
rigidBodyTree
객체
로봇 모델로, rigidBodyTree
객체로 지정됩니다.
configuration
— 로봇 컨피규레이션
구조체형 배열
로봇 컨피규레이션으로, 로봇 모델의 모든 바디에 대한 조인트 이름과 위치를 나타내는 구조체형 배열로 지정됩니다. homeConfiguration(robot)
, randomConfiguration(robot)
을 사용하거나 조인트 이름과 위치를 구조체형 배열로 직접 지정하여 컨피규레이션을 생성할 수 있습니다.
bodyname
— 바디 이름
string형 스칼라 | 문자형 벡터
바디 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 바디는 robot
으로 지정된 로봇 모델에 있어야 합니다.
데이터형: char
| string
targetbody
— 타깃 바디 이름
string형 스칼라 | 문자형 벡터
타깃 바디 이름으로, 문자형 벡터로 지정됩니다. 이 바디는 robot
으로 지정된 로봇 모델에 있어야 합니다. 타깃 프레임은 변환될 점이 위치할 좌표계입니다.
데이터형: char
| string
sourcebody
— 바디 이름
string형 스칼라 | 문자형 벡터
바디 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 바디는 robot
으로 지정된 로봇 모델에 있어야 합니다. 소스 프레임은 변환하려는 점이 있던 좌표계입니다.
데이터형: char
| string
출력 인수
transform
— 동차 변환
4×4 행렬
동차 변환으로, 4×4 행렬로 반환됩니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 사항 및 제한 사항:
rigidBodyTree
객체를 만들 때 MaxNumBodies
로 로봇 모델에 추가할 수 있는 바디의 상한을 지정하는 구문을 사용하십시오. 또한 DataFormat
속성을 이름-값 쌍으로 지정해야 합니다. 예를 들면 다음과 같습니다.
robot = rigidBodyTree("MaxNumBodies",15,"DataFormat","row")
데이터 사용량을 최소화하기 위해 모델에서 예상되는 바디 개수에 가까운 수로 상한을 설정하십시오. 코드 생성 시 모든 데이터 형식이 지원됩니다. 동역학 함수를 사용하기 위해 데이터 형식을 "row"
또는 "column"
으로 설정해야 합니다.
show
및 showdetails
는 코드 생성을 지원하지 않습니다.
버전 내역
R2016b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)