Contenido principal

urROS2Node

Conexión al cobot simulado o al cobot físico de Universal Robots por ROS 2

Desde R2024a

    Descripción

    El objeto urROS2Node representa una conexión desde el equipo host habilitado para ROS 2 a MATLAB. El equipo host habilitado para ROS 2 está también conectado a un robot colaborativo simulado (cobot) de Universal Robots (en el simulador offline URSim de Universal Robots) o a un cobot físico. Para interactuar con el cobot simulado y leer datos de estado de robots, enviar comandos de control cartesiano y de articulaciones, y seguir un conjunto de waypoints de espacio articular o espacio cartesiano, utilice este objeto con las funciones enumeradas en Funciones de objeto.

    Creación

    Descripción

    ur = urROS2Node crea una conexión, ur, e intenta conectarse al nodo ROS 2, que también está conectado a un cobot simulado o un cobot físico de Universal Robots.

    ejemplo

    ur = urROS2Node(Name=Value) establece las propiedades JointStateTopic, FollowJointTrajectoryAction y RigidBodyTree mediante uno o más argumentos nombre-valor opcionales.

    ejemplo

    Argumentos de par nombre-valor

    expandir todo

    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.

    ID de dominio del nodo ROS 2 que se va a conectar. De forma predeterminada, DomainID se mantiene como 0.

    Ejemplo: ur = urROS2Node(DomainID = 2)

    Propiedades

    expandir todo

    Nombre del tema ROS para leer el estado del robot, especificado como escalar de cadena o vector de caracteres.

    Ejemplo: ur = urROS2Node(JointStateTopic='/joint_states')

    Tipos de datos: char | string

    Nombre de la acción ROS para mover el robot, especificado como escalar de cadena o vector de caracteres.

    Ejemplo: ur = urROS2Node(FollowJointTrajectoryAction='/arm_controller/follow_joint_trajectory')

    Tipos de datos: char | string

    Modelo de robot de árbol de cuerpo rígido, especificado como un objeto rigidBodyTree.

    Ejemplo: ur = urROS2Node(RigidBodyTree=ur5e), donde ur5e se define utilizando el comando ur5e = loadrobot('universalUR5e').

    Esta propiedad es de solo lectura.

    Número de articulaciones del robot, especificado como escalar numérico.

    Tipos de datos: double

    Esta propiedad es de solo lectura.

    Nombre del cuerpo del efector final para la transformación entre marcos, especificado como vector de caracteres.

    Tipos de datos: char

    Funciones del objeto

    getJointConfigurationGet current joint configuration from the robot
    getCartesianPoseGet current end-effector pose from the robot
    getEndEffectorVelocityGet current end-effector velocities from the robot
    getJointVelocityGet current joint velocities from the robot
    getMotionStatusGet current motion status of the robot
    followTrajectoryCommand robot to move along the desired joint space waypoints
    followWaypointsCommand robot to move along the desired task space waypoints
    sendCartesianPoseCommand robot to move to desired Cartesian pose
    sendCartesianPoseAndWaitCommand robot to move to desired Cartesian pose and wait for the motion to complete
    sendJointConfigurationCommand robot to move to desired joint configuration
    sendJointConfigurationAndWaitCommand robot to move to joint configuration and wait for the motion to complete
    recordRobotStateLog the key robot state parameters during motion of robot
    executePrimaryURScriptCommandExecute primary URScript command to control cobot over ROS interface
    executeSecondaryURScriptCommandExecute secondary URScript command over ROS interface
    handBackControlGet the control back from the External Control program node in the UR program tree

    Ejemplos

    Conectarse a un cobot mediante detección automática

    Conéctese al cobot físico o simulado (en el simulador offline URSim de Universal Robots o en el simulador Gazebo), en el mismo equipo host, por ROS 2.

    ur = urROS2Node;

    Conectarse a un cobot especificando el objeto RBT

    Conéctese al cobot físico o simulado (en el simulador offline URSim de Universal Robots o en el simulador Gazebo), en el equipo host, mencionando el objeto de árbol de cuerpo rígido.

    ur5e = loadrobot('universalUR5e')
    ur = urROS2Node(RigidBodyTree=ur5e);
    ur = 
      urROS2Node with properties:
    
                      RigidBodyTree: [1×1 rigidBodyTree]
                    JointStateTopic: '/joint_states'
        FollowJointTrajectoryAction: '/scaled_pos_joint_traj_controller/follow_joint_trajectory'
                     NumberOfJoints: 6
                    EndEffectorName: 'tool0'
    

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2024a