Configuration
- class compas.robots.Configuration(joint_values=None, joint_types=None, joint_names=None)[source]
Bases:
Data
Represents the configuration of a robot based on the state of its joints. If the names of joints are also provided, the configuration behaves as a dictionary of joint name-value pairs.
This concept is also refered to as “Joint State”.
- Parameters
joint_values (list of float) – Joint values expressed in radians or meters, depending on the respective type.
joint_types (list of
compas.robots.Joint.SUPPORTED_TYPES
) – Joint types, e.g. a list ofcompas.robots.Joint.REVOLUTE
for revolute joints.joint_names (list[str], optional) – List of joint names.
- Attributes
joint_values (list of float) – Joint values expressed in radians or meters, depending on the respective type.
joint_types (list of
compas.robots.Joint.SUPPORTED_TYPES
) – Joint types, e.g. a list ofcompas.robots.Joint.REVOLUTE
for revolute joints.joint_names (list[str]) – List of joint names.
data (dict) – The data representing the configuration.
prismatic_values (list of float) – Prismatic joint values in meters.
revolute_values (list of float) – Revolute joint values in radians.
Examples
>>> config = Configuration.from_revolute_values([math.pi/2, 0., 0.]) >>> config.joint_values [1.5707963267948966, 0.0, 0.0]
>>> config = Configuration.from_prismatic_and_revolute_values([8.312], [math.pi/2, 0., 0., 0., 2*math.pi, 0.8]) >>> str(config) 'Configuration((8.312, 1.571, 0.000, 0.000, 0.000, 6.283, 0.800), (2, 0, 0, 0, 0, 0, 0))'
>>> from compas.robots import Joint >>> config = Configuration([math.pi/2, 3., 0.1], [Joint.REVOLUTE, Joint.PRISMATIC, Joint.PLANAR]) >>> str(config) 'Configuration((1.571, 3.000, 0.100), (0, 2, 5))'
Methods
Raises an error if there is not a joint name for every value.
Returns
True
if the other Configuration's joint_values are within a certain range.Construct a configuration from prismatic and revolute joint values.
Construct a configuration from revolute joint values in radians.
Generator over the differences to another Configuration's joint_values.
Returns the maximum difference to another Configuration's joint values.
Merge the configuration with another configuration in place along joint names.
Get a new
Configuration
with this configuration merged with another configuration.Scales the joint positions of the current configuration.
Return a scaled copy of this configuration.
Inherited Methods
Make an independent copy of the data object.
Construct an object of this type from the provided data.
Construct an object from serialized data contained in a JSON file.
Construct an object from serialized data contained in a JSON string.
Convert an object to its native data representation.
Serialize the data representation of an object to a JSON file.
Serialize the data representation of an object to a JSON string.
Validate the object's data against its data schema.
Validate the object's data against its json schema.