Returns the joint state of a MORSE armature
The sensor streams the joint state (ie, the rotation or translation value of each joint belonging to the armature) of its parent armature.
This sensor must be added as a child of the armature you want to sense. See the Examples section below for an example.
This component only allows to read armature configuration. To change the armature pose, you need an armature actuator.
To be valid, special care must be given when creating armatures. If you want to add new one, please carefully read the armature creation documentation.
The data structure on datastream exported by the armature sensor depends on the armature. It is a dictionary of pair (joint name, joint value). Joint values are either radians (for revolute joints) or meters (for prismatic joints)
See also: armature actuator
No configurable parameter.
This sensor exports these datafields at each simulation step:
number of seconds in simulated time
Returns the configurations of a component (parsed from the properties).
a dictionary of the current component’s configurations
Returns the properties of a component.
a dictionary of the current component’s properties
Returns a dict with the armature joints’ names as key and and the corresponding bone length as value (in meters).
Returns the list of joints of the armature.
the (ordered) list of joints in the armature, from root to tip.
Returns the joint state of the armature, ie a dictionnary with joint names as key and the corresponding rotation or translation as value (respectively in radian or meters).
Returns the current data stored in the sensor.
a dictionary of the current sensor’s data
Returns the value of a given joint, either: - its absolute rotation in radian along its rotation axis, or - it absolute translation in meters along its translation axis.
Throws an exception if the joint does not exist.
Modify one property on a component
The following examples show how to use this component in a Builder script:
robot = ATRV() arm = KukaLWR() robot.append(arm) arm.translate(z=0.9) arm_pose = ArmaturePose() # the sensor is appended to the armature, *not* to the robot arm.append(arm_pose)