Main Content

randomConfiguration

Generate random configuration of robot

Description

example

configuration = randomConfiguration(robot) returns a random configuration of the specified robot. Each joint position in this configuration respects the joint limits set by the PositionLimits property of the corresponding rigidBodyJoint object in the robot model.

Examples

collapse all

Show different configurations of a robot created using a RigidBodyTree model. Use the homeConfiguration or randomConfiguration functions to generate the structure that defines all the joint positions.

Load example robots as RigidBodyTree objects.

load exampleRobots.mat

Create a structure for the home configuration of a Puma robot. The structure has joint names and positions for each body on the robot model.

config = homeConfiguration(puma1)
config=1×6 struct array with fields:
    JointName
    JointPosition

Show the home configuration using show. You do not need to specify a configuration input.

show(puma1);

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 13 objects of type patch, line. These objects represent base, L1, L2, L3, L4, L5, L6.

Modify the configuration and set the second joint position to pi/2. Show the resulting change in the robot configuration.

config(2).JointPosition = pi/2;
show(puma1,config);

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 13 objects of type patch, line. These objects represent base, L1, L2, L3, L4, L5, L6.

Create random configurations and show them.

show(puma1,randomConfiguration(puma1));

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 13 objects of type patch, line. These objects represent base, L1, L2, L3, L4, L5, L6.

Input Arguments

collapse all

Robot model, specified as a rigidBodyTree object.

Output Arguments

collapse all

Robot configuration, returned as a vector of joint positions or a structure with joint names and positions for all the bodies in the robot model. You can generate a configuration using homeConfiguration(robot), randomConfiguration(robot), or by specifying your own joint positions in a structure. To use the vector form of configuration, set the DataFormat property for the robot to either 'row' or 'column' .

Extended Capabilities

Version History

Introduced in R2016b