loadrobot
Cargar un modelo de robot de árbol de cuerpo rígido desde la biblioteca del robot
Desde R2019b
Sintaxis
Descripción
carga un modelo de robot desde la biblioteca del robot como un objeto robotRBT
= loadrobot(robotname
)rigidBodyTree
, especificado por el nombre del modelo de robot robotname
.
Para importar su propio modelo de robot desde un archivo de formato de descripción de robot unificado (URDF), de macros XML (Xacro), de formato de descripción de simulación (SDF) o un modelo de Simscape™ Multibody™, consulte la función importrobot
.
[
especifica opciones adicionales mediante uno o más argumentos de par nombre-valor. Por ejemplo, robotRBT
,robotData
] = loadrobot(robotname
,Name,Value
)'Gravity',[0 0 –9.81]
establece la propiedad de gravedad en –9,81 m/s2 en la dirección z para el modelo de robot.
Nota
Para utilizar el modelo rigidBodyTree
del robot generado por loadrobot
con la función smimport
(Simscape Multibody), debe descargar e instalar el paquete de soporte Robotics System Toolbox Robot Library Data desde File Exchange. Para obtener más información, consulte Instalar el paquete de soporte Robotics System Toolbox Robot Library Data.
Ejemplos
Cargar el modelo de robot proporcionado
En este ejemplo se muestra cómo cargar un modelo de robot incluido usando loadrobot
. Especifique uno de los nombres de robot seleccionados para obtener un modelo de robot rigidBodyTree
que contenga restricciones cinemáticas y dinámicas, así como mallas visuales para la geometría del robot especificado.
gen3 = loadrobot("kinovaGen3");
Muestre el modelo de robot en una figura.
show(gen3);
Argumentos de entrada
robotname
— Nombre del modelo de robot
"abbIrb120"
| "abbIrb120T"
| "abbIrb1600"
| ...
Nombre del modelo de robot, especificado como uno de estos nombres de modelo de robot válidos:
Modelo de robot | Visualización de la malla | Descripción |
---|---|---|
"abbIrb120" | Robot de 6 ejes ABB IRB 120 | |
"abbIrb120T" | Robot de 6 ejes ABB IRB 120T | |
"abbIrb1600" | Robot de 6 ejes ABB IRB 1600 | |
"abbYuMi" | Robot de 2 brazos ABB YuMi | |
"amrPioneer3AT" | Robot móvil Adept MobileRobots Pioneer 3-AT | |
"amrPioneer3DX" | Robot móvil Adept MobileRobots Pioneer 3-DX | |
"amrPioneerLX" | Robot móvil Adept MobileRobots Pioneer LX | |
"atlas" | Robot humanoide Boston Dynamics ATLAS® | |
"clearpathHusky" | Robot móvil Clearpath Robotics Husky | |
"clearpathJackal" | Robot móvil Clearpath Robotics Jackal | |
"clearpathTurtleBot2" | Robot móvil Clearpath Robotics TurtleBot 2 | |
"fanucLRMate200ib" | Robot de 6 ejes FANUC LR Mate 200iB | |
"fanucM16ib" | Robot de 6 ejes FANUC M-16iB | |
"frankaEmikaPanda" | Robot de 7 ejes Franka Emika Panda | |
"kinovaGen3" | Versión 1: Versión 2: | Robot de 7 ejes KINOVA® Gen3 |
"kinovaJacoJ2N6S200" | Robot KINOVA JACO® de 2 dedos y 6 DOF con muñeca no esférica | |
"kinovaJacoJ2N6S300" | Robot KINOVA JACO® de 3 dedos y 6 DOF con muñeca no esférica | |
"kinovaJacoJ2N7S300" | Robot KINOVA JACO® de 3 dedos y 7 DOF con muñeca no esférica | |
"kinovaJacoJ2S6S300" | Robot KINOVA JACO® de 3 dedos y 6 DOF con muñeca esférica | |
"kinovaJacoJ2S7S300" | Robot KINOVA JACO® de 3 dedos y 7 DOF con muñeca esférica | |
"kinovaJacoTwoArmExample" | Dos robots KINOVA JACO® de 3 dedos y 6 DOF con muñeca no esférica | |
"kinovaMicoM1N4S200" | Robot KINOVA MICO® de 2 dedos y 4 DOF | |
"kinovaMicoM1N6S200" | Robot KINOVA MICO® de 2 dedos y 6 DOF | |
"kinovaMicoM1N6S300" | Robot KINOVA MICO® de 3 dedos y 6 DOF | |
"kinovaMovo" | Robot móvil de 2 brazos KINOVA MOVO® | |
"kukaIiwa7" | Robot de 7 ejes KUKA LBR iiwa 7 R800 | |
"kukaIiwa14" | Robot de 7 ejes KUKA LBR iiwa 14 R820 | |
"meca500r3" | Robot de 6 ejes Mecademic Meca500 R3 | |
"omronEcobra600" | | Robot SCARA de 4 ejes Omron eCobra 600 |
"puma560" | | Robot de 6 ejes PUMA 560 |
"quanserQArm" | Robot Quanser QArm de 4 DOF | |
"quanserQBot2e" | Robot móvil Quanser QBot 2e | |
"quanserQCar" | Robot móvil Quanser QCar | |
"rethinkBaxter" | Robot de 2 brazos Rethink Robotics Baxter | |
"rethinkSawyer" | Robot de 7 ejes Rethink Robotics Sawyer | |
"robotiq2F85" | Pinza de 2 dedos Robotiq 2F-85 La pinza puede utilizarse con estos manipuladores:
| |
"robotisOP2" | Robot humanoide ROBOTIS OP2 | |
"robotisOpenManipulator" | Robot de 4 ejes con pinza ROBOTIS OpenMANIPULATOR | |
"robotisTurtleBot3Burger" | Robot ROBOTIS TurtleBot 3 Burger | |
"robotisTurtleBot3Waffle" | Robot ROBOTIS TurtleBot 3 Waffle | |
"robotisTurtleBot3WaffleForOpenManipulator" | Robot ROBOTIS TurtleBot 3 Waffle para OpenMANIPULATOR | |
"robotisTurtleBot3WafflePi" | Robot ROBOTIS TurtleBot 3 Waffle Pi | |
"robotisTurtleBot3WafflePiForOpenManipulator" | Robot ROBOTIS TurtleBot 3 Waffle Pi para OpenMANIPULATOR | |
"techmanTM5-700" | | Robot Techman TM5-700 de 6 ejes con cámara |
"techmanTM5x-700" | | Robot Techman TM5X-700 de 6 ejes sin cámara |
"techmanTM5-900" | | Robot Techman TM5-900 de 6 ejes con cámara |
"techmanTM5x-900" | | Robot Techman TM5X-900 de 6 ejes sin cámara |
"techmanTM12" | | Robot Techman TM12 de 6 ejes con cámara |
"techmanTM12x" | | Robot Techman TM12X de 6 ejes sin cámara |
"techmanTM14" | | Robot Techman TM14 de 6 ejes con cámara |
"techmanTM14x" | | Robot Techman TM14X de 6 ejes sin cámara |
"universalUR3" | Robot de 6 ejes Universal Robots UR3 | |
"universalUR3e" | Robot de 6 ejes Universal Robots UR3e | |
"universalUR5" | Robot de 6 ejes Universal Robots UR5 | |
"universalUR5e" | Robot de 6 ejes Universal Robots UR5e | |
"universalUR10" | Robot de 6 ejes Universal Robots UR10 | |
"universalUR10e" | Robot de 6 ejes Universal Robots UR10e | |
"universalUR16e" | Robot de 6 ejes Universal Robots UR16e | |
"valkyrie" | Robot humanoide NASA Valkyrie | |
"willowgaragePR2" | Robot móvil Willow Garage PR2 | |
"yaskawaMotomanMH5" | Robot de 6 ejes Yaskawa Motoman MH5 |
Tipos de datos: char
| string
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de los otros argumentos, pero el orden de los pares no importa.
En versiones anteriores a R2021a, use comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: 'Gravity',[0 0 -9.81]
establece la propiedad de gravedad en -9,81 m/s2 en la dirección z para el modelo de robot.
DataFormat
— Formato de datos de entrada/salida de las funciones cinemáticas y dinámicas
"struct"
(predeterminado) | "row"
| "column"
Formato de datos de entrada/salida de las funciones cinemáticas y dinámicas del modelo de robot, especificado como el par separado por comas compuesto por 'DataFormat'
y "struct"
, "row"
o "column"
. Para utilizar funciones dinámicas, debe especificar "row"
o "column"
. Este par nombre-valor establece la propiedad DataFormat del modelo de robot rigidBodyTree
.
Gravity
— Aceleración gravitacional experimentada por el robot
[0 0 0]
m/s2 (predeterminado) | vector de tres elementos con la forma [x y z]
Aceleración gravitacional experimentada por el robot, especificada como el par separado por comas compuesto por 'Gravity'
y un vector de tres elementos con la forma [x y z]
en m/s2. Cada elemento se corresponde con la aceleración del marco base del robot en la dirección x, y y z respectivamente. Este par nombre-valor establece la propiedad Gravity del modelo de robot rigidBodyTree
.
Version
— Versión URDF del modelo de robot
1
(predeterminado) | escalar numérico
Versión URDF del modelo de robot, especificada como un escalar numérico.
Modelo de robot | Versiones |
---|---|
"kinovaGen3" | 1 : carga el modelo de robot kinovaGen3.urdf |
2 : carga el modelo de robot kinovaGen3V12.urdf |
Ejemplo: loadrobot("kinovaGen3","Version",2)
Argumentos de salida
robotRBT
— Modelo de robot de árbol de cuerpo rígido
objeto rigidBodyTree
Modelo de robot de árbol de cuerpo rígido, devuelto como un objeto rigidBodyTree
. Este modelo incluye todas las restricciones cinemáticas y dinámicas basadas en los archivos de origen del robot especificados en robotData
. Algunos modelos también contienen mallas visuales para visualizar las trayectorias del robot.
robotData
— Información del modelo de robot
estructura
Información del modelo de robot, devuelta como una estructura compuesta por estos campos. La devolución de un valor para un campo por parte de la función depende del tipo de robot especificado por la entrada de robotname
. Los campos no relevantes para ese robot están vacíos.
En esta tabla se describen los campos de la estructura de información del modelo de robot.
Campo | Descripción |
---|---|
(relevante para todos los tipos de robot) | Nombre del modelo de robot devuelto |
(relevante para todos los tipos de robot) | Ruta del archivo URDF que se utiliza para crear el modelo de árbol de cuerpo rígido |
(relevante para todos los tipos de robot) | Origen URL del modelo de robot |
(relevante para todos los tipos de robot) | Número de versión del modelo de robot |
WheelRadius | Radio de la rueda del robot en metros |
WheelBase | Distancia entre los ejes delantero y trasero en metros |
TrackWidth | Distancia entre las ruedas del eje en metros |
MaxTranslationalVelocity | Velocidad lineal máxima del robot en m/s |
MaxRotationalVelocity | Velocidad angular máxima del robot en rad/s |
DriveType | Todos los robots se modelan con una base fija, pero este campo describe el tipo de transmisión real de la base del robot. El tipo de transmisión puede ser cualquiera de los siguientes según el robot especificado:
|
ManipulatorMotionModel | Modelo de movimiento de un manipulador robótico
|
MobileBaseMotionModel | Modelo de movimiento cinemático de la base móvil. El modelo de movimiento puede ser cualquiera de los siguientes según el robot especificado:
|
HasBodyInertias | Indicador que indica si el modelo de robot tiene inercias, indicada como 1 (true ) si el modelo de robot tiene al menos un cuerpo con inercia o 0 (false ) si el modelo de robot no tiene cuerpos con inercia. |
Tipos de datos: struct
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Historial de versiones
Introducido en R2019bR2021b: Soporte para generación de código
La función loadrobot
admite la generación de código.
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de 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)