Configuration¶
-
class
compas_fab.robots.
Configuration
(values=None, types=None, joint_names=None)[source]¶ Bases:
object
Represents the configuration of a robot based on the state of its joints.
This concept is also refered to as “Joint State”.
- Parameters
- Attributes
values (
list
offloat
) – Joint values expressed in radians or meters, depending on the respective type.types (
list
ofcompas.robots.Joint.SUPPORTED_TYPES
) – Joint types, e.g. a list ofcompas.robots.Joint.REVOLUTE
for revolute joints.data (
dict
) – The data representing the configuration.prismatic_values (
list
offloat
) – Prismatic joint values in meters.revolute_values (
list
offloat
) – Revolute joint values in radians.
Examples
>>> config = Configuration.from_revolute_values([math.pi/2, 0., 0.]) >>> config.values [1.5707963267948966, 0.0, 0.0]
>>> from compas_fab.robots import Configuration >>> 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_fab.robots import Configuration >>> 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
__init__
([values, types, joint_names])Initialize self.
Raises an error if there is not a joint name for every value.
close_to
(other[, tol])Returns
True
if the other Configuration’s values are within a certain range.copy
()Create a copy of this
Configuration
.from_data
(data)Construct a configuration from its data representation.
Construct a configuration from prismatic and revolute joint values.
from_revolute_values
(values[, joint_names])Construct a configuration from revolute joint values in radians.
iter_differences
(other)Generator over the differences to another Configuration’s values.
max_difference
(other)Returns the maximum difference to another Configuration’s values.
merge
(other)Merge the configuration with another configuration in place along joint names.
merged
(other)Get a new
Configuration
with this configuration merged with another configuration.scale
(scale_factor)Scales the joint positions of the current configuration.
scaled
(scale_factor)Return a scaled copy of this configuration.
to_data
()Get the data dictionary that represents the configuration.
Attributes
data
The data representing the configuration.
has_joint_names
Returns
True
when there is a joint name for every value.joint_dict
A dictionary of joint values by joint name.
prismatic_values
Prismatic joint values in meters.
revolute_values
Revolute joint values in radians.
type_dict
A dictionary of joint types by joint name.