Main Content


Generate random configuration of robot



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.


collapse all

Show different configurations of a robot created using a RigidBodyTree model. Use the homeConfiguration or randomConfiguation 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:

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


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;

Create random configurations and show them.


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

Introduced in R2016b