Main Content

sendJointConfigurationAndWait

Command robot to move to joint configuration and wait for the motion to complete

Since R2022a

Description

ROS or ROS2 Interface

example

[resultstate] = sendJointConfigurationAndWait(ur,jointconfig) commands the Universal Robots cobot connected through ROS interface and waits for the robot to complete the motion, based on the specified joint configuration. The function returns the goal state and the result.

example

[result,state] = sendJointConfigurationAndWait(ur,jointconfig,EndTime=endtime,TimeOut=timeout) commands the Universal Robots cobot connected through ROS interface and waits for the robot to complete the motion, based on the specified values of joint configuration, maximum duration, and timeout. The method commands the robot to complete the motion from current joint configuration to the desired joint configuration within the duration, and returns the goal state and the result. If the server does not return the result with in the additional timeout period that you specified, the function displays an error.

RTDE Interface

example

[result,state] = sendJointConfigurationAndWait(ur,jointconfig) commands the Universal Robots cobot connected through RTDE interface and waits for the robot to complete the motion, based on the specified joint configuration.

example

[result,state] = sendJointConfigurationAndWait(ur,jointconfig,EndTime=endtime) commands the Universal Robots cobot connected through RTDE interface and waits for the robot to complete the motion, based on the specified joint configuration and a maximum duration. The method commands the robot to complete the motion from current joint configuration to the desired joint configuration within the duration.

example

[result,state] = sendJointConfigurationAndWait(ur,jointconfig,EndTime=endtime,Name=Value) commands the Universal Robots cobot connected through RTDE interface and waits for the robot to complete the motion, based on the specified joint configuration and a maximum duration, and sets the velocity, acceleration, and blend radius properties using one or more optional name-value arguments.

Examples

collapse all

Connect to a physical or simulated cobot, using either urROSNode or urROS2Node object (based on the option for connectivity – ROS or ROS 2, which you selected in the Hardware Setup screen).

  • Connect to a physical or simulated cobot at IP address 192.168.2.112 on the ROS network.

    ur = urROSNode('192.168.2.112');
  • Connect to a physical or simulated cobot on the ROS 2 network.

    ur = urROS2Node;

Command the cobot by providing the desired joint configuration and by specifying the time to reach the configuration as 7 seconds, and a timeout (to display an error message otherwise) as 8 seconds.

jointWaypoints = [0 -90 0 -90 0 0]*pi/180;
[result,state] = sendJointConfigurationAndWait(ur,jointWaypoints,EndTime=7,TimeOut=8);
result = 
   1
state = 'succeeded'

Connect to a physical or simulated cobot, using urRTDEClient object.

ur = urRTDEClient('172.19.98.176');

Command the cobot by providing the desired joint configuration and by specifying the time to reach the configuration as 7 seconds.

jointWaypoints = [0 -90 0 -90 0 0]*pi/180;
[result,state] = sendJointConfigurationAndWait(ur,jointWaypoints,EndTime=7);
result = 
   1
state = 'succeeded'

Command the cobot to by providing the desired joint configuration and by specifying the optional parameters - velocity, acceleration, and blend radius.

jointWaypoints = [0 -90 0 -90 0 0]*pi/180;
[result,state] = sendJointConfigurationAndWait(ur,jointWaypoints, 'Acceleration', 1.2, 'Velocity', 1.0, 'BlendRadius', 0.05);

Input Arguments

collapse all

Connection to physical or simulated cobot from Universal Robots, specified as a urROSNode object or a urROS2Node object.

Desired joint configuration of the physical or simulated cobot, represented as a 1-by-6 numeric vector, in the range [-pi,pi].

Data Types: char

Maximum duration by which the physical or simulated cobot must try to complete the motion to reach the desired joint configuration, specified in seconds.

Data Types: double

Timeout period for receiving a result message, specified as a scalar in seconds. If the client does not receive a new result message in that time period, an error is displayed.

Minimum value of timeout = endtime + 2 seconds.

Data Types: double

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: sendJointConfiguration(ur,jointWaypoints, 'Acceleration', 1.2, 'Velocity', 1.0, 'BlendRadius', 0.05)

Note

These name-value arguments are valid only if this function is used along with the urRTDEClient object, for connecting through RTDE interface.

Acceleration to control trapezoidal speed profile of trajectory.

Example: sendJointConfiguration(ur,jointWaypoints, 'Acceleration', 1.2)

Note

If you specify 'EndTime' name-value argument, setting the 'Acceleration' value has no impact. This is because the time setting has priority over velocity and acceleration settings.

Velocity to control trapezoidal speed profile of trajectory.

Example: sendJointConfiguration(ur,jointWaypoints, 'Velocity', 1.0);

Note

If you specify 'EndTime' name-value argument, setting the 'Velocity' value has no impact. This is because the time setting has priority over velocity and acceleration settings.

Blend radius for waypoints to pass through, when the cobot does not need to stop.

Example: sendJointConfiguration(ur,jointWaypoints, 'BlendRadius', 0.05);

Output Arguments

collapse all

Motion status of physical or simulated cobot from Universal Robots, specified as a logical scalar. result is 1 if state is succeeded.

Data Types: logical

Final goal state of the physical or simulated cobot, returned as one of the following:

  • 'pending' — Goal was received, but has not yet been accepted or rejected.

  • 'active' — Goal was accepted and is running on the server.

  • 'succeeded' — Goal executed successfully.

  • 'preempted' — An action client canceled the goal before it finished executing.

  • 'rejected' — The goal was not accepted after being in the 'pending' state. The action server typically triggers this status.

  • 'aborted' — The goal was aborted before it finished executing. The action server typically aborts a goal.

  • 'recalled' — A client canceled the goal while it was in the 'pending' state.

  • 'lost' — An internal error occurred in the action client.

Data Types: char

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2022a