rigidBodyTree
Cree un robot con estructura de árbol
Descripción
rigidBodyTree
es una representación de la conectividad de cuerpos rígidos con articulaciones. Utilice esta clase para construir modelos de manipuladores robóticos en MATLAB®. Si tiene un modelo de robot especificado con el formato de descripción de robot unificado (URDF), utilice importrobot
para importar el modelo de robot.
Un modelo de árbol de cuerpo rígido está compuesto por cuerpos rígidos como objetos rigidBody
. Cada cuerpo rígido tiene un objeto rigidBodyJoint
relacionado que define cómo se puede mover respecto a su cuerpo principal. Utilice setFixedTransform
para definir la transformación fija entre el marco de una articulación y el marco de uno de los cuerpos adyacentes. Puede añadir, reemplazar o eliminar cuerpos rígidos del modelo utilizando los métodos de la clase RigidBodyTree
.
También es posible calcular las dinámicas de robot. Especifique las propiedades Mass
, CenterOfMass
y Inertia
en cada rigidBody
del modelo de robot. Puede calcular dinámicas directas e inversas con o sin fuerzas externas y calcular cantidades de dinámica a partir de las entradas de las articulaciones y los movimientos de las articulaciones del robot. Para usar las funciones relacionadas con las dinámicas, establezca la propiedad DataFormat
en "row"
o "column"
.
En el caso de un modelo de árbol de cuerpo rígido, también puede utilizar el modelo de robot para calcular los ángulos de las articulaciones para las posiciones deseadas del efector final utilizando los algoritmos robóticos de cinemática inversa. Especifique el modelo de árbol de cuerpo rígido utilizando inverseKinematics
o generalizedInverseKinematics
.
El método show
admite la visualización de mallas de cuerpo. Las mallas se especifican como archivos .stl
y se pueden añadir a cuerpos rígidos individuales utilizando addVisual
. Por otro lado, de forma predeterminada, la función importrobot
carga todos los archivos .stl
accesibles que están especificados en su modelo de robot URDF.
Creación
Descripción
crea un objeto de robot con estructura de árbol. Añádale cuerpos rígidos utilizando robot
= rigidBodyTreeaddBody
.
especifica un límite superior para el número de cuerpos permitidos en el robot al generar código. También debe especificar la propiedad robot
= rigidBodyTree("MaxNumBodies",N,"DataFormat",dataFormat)DataFormat
como un par nombre-valor.
Propiedades
Funciones del objeto
addBody | Añadir un cuerpo al robot |
addSubtree | Añadir un subárbol al robot |
centerOfMass | Centro de posición de masa y jacobianas |
checkCollision | Check if robot is in collision |
copy | Copiar un modelo de robot |
externalForce | Componer matriz de fuerza externa respecto a la base |
forwardDynamics | Aceleración de las articulaciones dados los par motores y los estados de articulación |
geometricJacobian | Jacobianas geométricas para configurar robots |
gravityTorque | Par motores de articulación que compensan la gravedad |
getBody | Obtener un identificador del cuerpo del robot por nombre |
getTransform | Obtener una transformada entre marcos de cuerpo |
homeConfiguration | Obtener la configuración inicial del robot |
inverseDynamics | Par motores de articulación requeridos para un movimiento determinado |
massMatrix | Matriz de masa del espacio articular |
randomConfiguration | Generar una configuración de robot aleatoria |
removeBody | Eliminar un cuerpo del robot |
replaceBody | Reemplazar cuerpo del robot |
replaceJoint | Replace joint on body |
show | Mostrar modelo de robot en la figura |
showdetails | Mostrar información del modelo de robot |
subtree | Create subtree from robot model |
velocityProduct | Par motores de articulación que cancelan las fuerzas inducidas por la velocidad |
writeAsFunction | Create rigidBodyTree code generating function |
Ejemplos
Más acerca de
Referencias
[1] Craig, John J. Introduction to Robotics: Mechanics and Control. Reading, MA: Addison-Wesley, 1989.
[2] Siciliano, Bruno, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo. Robotics: Modelling, Planning and Control. London: Springer, 2009.