Armature Pose Sensor

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

Configuration parameters for armature pose sensor

No configurable parameter.

Data fields

This sensor exports these datafields at each simulation step:

  • timestamp (float, initial value: 0.0)

    number of milliseconds in simulated time

Interface support:

Services for Armature Pose Sensor

  • get_properties() (blocking)

    Returns the properties of a component.

    • Return value

      a dictionary of the current component’s properties

  • get_state() (blocking)

    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).

  • get_local_data() (blocking)

    Returns the current data stored in the sensor.

    • Return value

      a dictionary of the current sensor’s data

  • get_configurations() (blocking)

    Returns the configurations of a component (parsed from the properties).

    • Return value

      a dictionary of the current component’s configurations

  • get_joints() (blocking)

    Returns the list of joints of the armature.

    • Return value

      the (ordered) list of joints in the armature, from root to tip.

  • get_joint(joint) (blocking)

    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.

    • Parameters
      • joint: the name of the joint in the armature.
  • get_joints_length() (blocking)

    Returns a dict with the armature joints’ names as key and and the corresponding bone length as value (in meters).


The following examples show how to use this component in a Builder script:

robot = ATRV()

arm = KukaLWR()

arm_pose = ArmaturePose()
# the sensor is appended to the armature, *not* to the robot

Other sources of examples

(This page has been auto-generated from MORSE module morse.sensors.armature_pose.)

Table Of Contents

Previous topic


Next topic

Battery Sensor

This Page