이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
loadrobot
로봇 라이브러리에서 강체 트리 로봇 모델 불러오기
구문
설명
은 로봇 라이브러리에서 로봇 모델 이름 robotRBT
= loadrobot(robotname
)robotname
으로 지정된 로봇 모델을 rigidBodyTree
객체로 불러옵니다.
URDF(Unified Robot Description Format) 파일, Xacro(XML Macros) 파일, SDF(Simulation Description Format) 파일이나 Simscape™ Multibody™ 모델에서 사용자 고유의 로봇 모델을 가져오려면 importrobot
함수를 참조하십시오.
[
는 하나 이상의 이름-값 쌍의 인수를 사용하여 추가 옵션을 지정합니다. 예를 들어 robotRBT
,robotData
] = loadrobot(robotname
,Name,Value
)'Gravity',[0 0 –9.81]
은 로봇 모델의 z 방향으로 중력 속성을 –9.81 m/s2으로 설정합니다.
참고
loadrobot
과 smimport
(Simscape Multibody) 함수를 함께 사용해서 생성한 로봇의 rigidBodyTree
모델을 사용하려면 File Exchange에서 Robotics System Toolbox Robot Library Data 지원 패키지를 다운로드하고 설치해야 합니다. 자세한 내용은 Robotics System Toolbox Robot Library Data 지원 패키지 설치하기 항목을 참조하십시오.
예제
제공된 로봇 모델 불러오기
이 예제에서는 loadrobot
을 사용하여 포함된 로봇 모델을 불러오는 방법을 보여줍니다. 선택된 로봇 이름 중 하나를 지정하여, 지정된 로봇 기하에 대한 기구학 제약 조건과 동적 제약 조건, 시각적 메시를 포함하는 rigidBodyTree
로봇 모델을 가져옵니다.
gen3 = loadrobot("kinovaGen3");
Figure에 로봇 모델을 표시합니다.
show(gen3);
입력 인수
robotname
— 로봇 모델의 이름
"abbIrb120"
| "abbIrb120T"
| "abbIrb1600"
| ...
로봇 모델의 이름으로, 다음의 유효한 로봇 모델 이름 중 하나로 지정됩니다.
로봇 모델 | 메시 시각화 | 설명 |
---|---|---|
"abbIrb120" | ABB IRB 120 6축 로봇 | |
"abbIrb120T" | ABB IRB 120T 6축 로봇 | |
"abbIrb1600" | ABB IRB 1600 6축 로봇 | |
"abbYuMi" | ABB YuMi 2개 팔 로봇 | |
"amrPioneer3AT" | Adept MobileRobots Pioneer 3-AT 이동 로봇 | |
"amrPioneer3DX" | Adept MobileRobots Pioneer 3-DX 이동 로봇 | |
"amrPioneerLX" | Adept MobileRobots Pioneer LX 이동 로봇 | |
"atlas" | Boston Dynamics ATLAS® 휴머노이드 로봇 | |
"clearpathHusky" | Clearpath Robotics Husky 이동 로봇 | |
"clearpathJackal" | Clearpath Robotics Jackal 이동 로봇 | |
"clearpathTurtleBot2" | Clearpath Robotics TurtleBot 2 이동 로봇 | |
"fanucLRMate200ib" | FANUC LR Mate 200iB 6축 로봇 | |
"fanucM16ib" | FANUC M-16iB 6축 로봇 | |
"frankaEmikaPanda" | Franka Emika Panda 7축 로봇 | |
"kinovaGen3" | 버전 1: 버전 2: | KINOVA® Gen3 7축 로봇 |
"kinovaJacoJ2N6S200" | KINOVA JACO® 2개 손가락 6 DOF 로봇(비구형 손목 포함) | |
"kinovaJacoJ2N6S300" | KINOVA JACO® 3개 손가락 6 DOF 로봇(비구형 손목 포함) | |
"kinovaJacoJ2N7S300" | KINOVA JACO® 3개 손가락 7 DOF 로봇(비구형 손목 포함) | |
"kinovaJacoJ2S6S300" | KINOVA JACO® 3개 손가락 6 DOF 로봇(구형 손목 포함) | |
"kinovaJacoJ2S7S300" | KINOVA JACO® 3개 손가락 7 DOF 로봇(구형 손목 포함) | |
"kinovaJacoTwoArmExample" | Two KINOVA JACO® 3개 손가락 6 DOF 로봇(비구형 손목 포함) | |
"kinovaMicoM1N4S200" | KINOVA MICO® 2개 손가락 4 DOF 로봇 | |
"kinovaMicoM1N6S200" | KINOVA MICO® 2개 손가락 6 DOF 로봇 | |
"kinovaMicoM1N6S300" | KINOVA MICO® 3개 손가락 6 DOF 로봇 | |
"kinovaMovo" | KINOVA MOVO® 2개 팔 이동 로봇 | |
"kukaIiwa7" | KUKA LBR iiwa 7 R800 7축 로봇 | |
"kukaIiwa14" | KUKA LBR iiwa 14 R820 7축 로봇 | |
"meca500r3" | Mecademic Meca500 R3 6축 로봇 | |
"omronEcobra600" | | Omron eCobra 600 4축 SCARA 로봇 |
"puma560" | | PUMA 560 6축 로봇 |
"quanserQArm" | Quanser QArm 4 DOF 로봇 | |
"quanserQBot2e" | Quanser QBot 2e 이동 로봇 | |
"quanserQCar" | Quanser QCar 이동 로봇 | |
"rethinkBaxter" | Rethink Robotics Baxter 2개 팔 로봇 | |
"rethinkSawyer" | Rethink Robotics Sawyer 7축 로봇 | |
"robotiq2F85" | Robotiq 2F-85 2개 손가락 그리퍼 이 그리퍼와 함께 사용할 수 있는 매니퓰레이터의 목록은 다음과 같습니다.
| |
"robotisOP2" | ROBOTIS OP2 휴머노이드 로봇 | |
"robotisOpenManipulator" | ROBOTIS OpenMANIPULATOR 4축 로봇(그리퍼 포함) | |
"robotisTurtleBot3Burger" | ROBOTIS TurtleBot 3 Burger 로봇 | |
"robotisTurtleBot3Waffle" | ROBOTIS TurtleBot 3 Waffle 로봇 | |
"robotisTurtleBot3WaffleForOpenManipulator" | ROBOTIS TurtleBot 3 Waffle 로봇(OpenMANIPULATOR 용) | |
"robotisTurtleBot3WafflePi" | ROBOTIS TurtleBot 3 Waffle Pi 로봇 | |
"robotisTurtleBot3WafflePiForOpenManipulator" | ROBOTIS TurtleBot 3 Waffle Pi 로봇(OpenMANIPULATOR 용) | |
"techmanTM5-700" | | Techman TM5-700 6축 로봇(카메라 포함) |
"techmanTM5x-700" | | Techman TM5X-700 6축 로봇(카메라 미포함) |
"techmanTM5-900" | | Techman TM5-900 6축 로봇(카메라 포함) |
"techmanTM5x-900" | | Techman TM5X-900 6축 로봇(카메라 미포함) |
"techmanTM12" | | Techman TM12 6축 로봇(카메라 포함) |
"techmanTM12x" | | Techman TM12X 6축 로봇(카메라 미포함) |
"techmanTM14" | | Techman TM14 6축 로봇(카메라 포함) |
"techmanTM14x" | | Techman TM14X 6축 로봇(카메라 미포함) |
"universalUR3" | Universal Robots UR3 6축 로봇 | |
"universalUR3e" | Universal Robots UR3e 6축 로봇 | |
"universalUR5" | Universal Robots UR5 6축 로봇 | |
"universalUR5e" | Universal Robots UR5e 6축 로봇 | |
"universalUR10" | Universal Robots UR10 6축 로봇 | |
"universalUR10e" | Universal Robots UR10e 6축 로봇 | |
"universalUR16e" | Universal Robots UR16e 6축 로봇 | |
"valkyrie" | NASA Valkyrie 휴머노이드 로봇 | |
"willowgaragePR2" | Willow Garage PR2 이동 로봇 | |
"yaskawaMotomanMH5" | Yaskawa Motoman MH5 6축 로봇 |
데이터형: char
| string
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 버전에서는 쉼표를 사용하여 각 이름과 값을 구분하고 따옴표로 Name
을 묶으십시오.
예: 'Gravity',[0 0 -9.81]
은 로봇 모델의 z 방향으로 중력 속성을 –9.81m/s2으로 설정합니다.
DataFormat
— 기구학 함수와 동역학 함수의 입력/출력 데이터 형식
"struct"
(디폴트 값) | "row"
| "column"
로봇 모델의 기구학 함수와 동역학 함수에 대한 입력/출력 데이터 형식으로, 'DataFormat'
과 함께 "struct"
, "row"
또는 "column"
이 쉼표로 구분되어 지정됩니다. 동역학 함수를 사용하려면 "row"
또는 "column"
을 지정해야 합니다. 이 이름-값 쌍은 rigidBodyTree
로봇 모델의 DataFormat 속성을 설정합니다.
Gravity
— 로봇에 작용하는 중력 가속도
[0 0 0]
m/s2 (디폴트 값) | [x y z]
형식의, 요소를 3개 가진 벡터
로봇에 작용하는 중력 가속도로, 'Gravity'
와 함께 [x y z]
형식의 3개 요소 벡터가 쉼표로 구분되어 지정됩니다(단위: m/s2). 각 요소는 베이스 로봇 프레임의 x, y, z 방향에서의 가속도에 대응됩니다. 이 이름-값 쌍은 rigidBodyTree
로봇 모델의 Gravity 속성을 설정합니다.
Version
— 로봇 모델의 URDF 버전
1
(디폴트 값) | 숫자형 스칼라
로봇 모델의 URDF 버전으로, 숫자형 스칼라로 지정됩니다.
로봇 모델 | 버전 |
---|---|
"kinovaGen3" | 1 –– kinovaGen3.urdf 로봇 모델을 불러옵니다. |
2 –– kinovaGen3V12.urdf 로봇 모델을 불러옵니다. |
예: loadrobot("kinovaGen3","Version",2)
출력 인수
robotRBT
— 강체 트리 로봇 모델
rigidBodyTree
객체
강체 트리 로봇 모델로, rigidBodyTree
객체로 지정됩니다. 이 모델은 robotData
에 지정된 로봇 소스 파일을 기반으로 하는 모든 기구학 제약 조건과 동역학 제약 조건을 포함하고 있습니다. 일부 모델은 로봇 궤적을 시각화하기 위한 시각적 메시도 포함하고 있습니다.
robotData
— 로봇 모델 정보
구조체
로봇 모델 정보로, 다음 필드를 포함하는 구조체로 반환됩니다. 함수가 필드 값을 반환할지는 robotname
입력값에 의해 지정된 로봇 유형에 따라 다릅니다. 해당 로봇과 관련 없는 필드는 비어 있습니다.
다음 테이블은 로봇 모델 정보 구조체의 필드를 설명합니다.
필드 | 설명 |
---|---|
(모든 로봇 유형과 관련 있음) | 반환된 로봇 모델의 이름 |
(모든 로봇 유형과 관련 있음) | 강체 트리 모델을 생성하는 데 사용되는 URDF 파일의 파일 경로 |
(모든 로봇 유형과 관련 있음) | 로봇 모델의 URL 소스 |
(모든 로봇 유형과 관련 있음) | 로봇 모델의 버전 번호 |
WheelRadius | 로봇의 바퀴 반경(단위: 미터) |
WheelBase | 앞 차축과 뒤 차축 간의 거리(단위: 미터) |
TrackWidth | 차축에서 바퀴 사이의 거리(단위: 미터) |
MaxTranslationalVelocity | 로봇의 최대 선속도(단위: m/s) |
MaxRotationalVelocity | 로봇의 최대 각속도(단위: rad/s) |
DriveType | 모든 로봇은 고정된 베이스로 모델링되지만 이 필드는 로봇 베이스의 실제 구동 유형을 설명합니다. 구동 유형은 지정된 로봇에 따라 다음 중 하나일 수 있습니다.
|
ManipulatorMotionModel | 매니퓰레이터 로봇의 모션 모델
|
MobileBaseMotionModel | 이동 베이스의 기구학적 모션 모델. 모션 모델은 지정된 로봇에 따라 다음 중 하나일 수 있습니다.
|
HasBodyInertias | 로봇 모델에 관성이 있는지 나타내는 플래그로, 로봇 모델에 바디 관성이 있는 바디가 하나 이상 있으면 1 (true )로 표시되고 로봇 모델에 관성이 있는 바디가 없으면 0 (false )으로 표시됩니다. |
데이터형: struct
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2019b에 개발됨R2021b: 코드 생성 지원
loadrobot
함수는 코드 생성을 지원합니다.
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)