ArUco Marker

A virtual representation of an ArUco Marker

The ArUco marker is an AR-Marker that allows to compute the camera pose from images in the ‘real world’.

See: http://www.uco.es/investiga/grupos/ava/node/26

The purpose of this actuator is to provide a virtual instance of such a marker in MORSE. By adding an ArUco marker to a MORSE simulation you can subsequently stream/export a (virtual) camera image and eventually use an AR Marker without a physical camera setup or, i.e, test algorithms or simulate visual servoring.

Configuration parameters for ArUco Marker

You can set these properties in your scripts with <component>.properties(<property1>=..., <property2>=...).

  • xoffset (float, default: 0.0)
    X axis translation offset in metres
  • yoffset (float, default: 0.0)
    Y axis translation offset in metres
  • zoffset (float, default: 0.0)
    Z axis translation offset in metres

Data fields

This actuator reads these datafields at each simulation step:

  • x (float, initial value: 0.0)
    X axis translation metres
  • y (float, initial value: 0.0)
    Y axis translation metres
  • z (float, initial value: 0.0)
    Z axis translation metres
  • roll (float, initial value: 0.0)
    X axis rotation in rad
  • pitch (float, initial value: 0.0)
    Y axis rotation in rad
  • yaw (float, initial value: 0.0)
    Z axis rotation in rad

Interface support:

Services for ArUco Marker

  • get_configurations() (blocking)

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

    • Return value

      a dictionary of the current component’s configurations

  • get_local_orientation() (blocking)

    (no documentation yet)

  • get_local_position() (blocking)

    (no documentation yet)

  • get_properties() (blocking)

    Returns the properties of a component.

    • Return value

      a dictionary of the current component’s properties

  • get_world_orientation() (blocking)

    (no documentation yet)

  • get_world_position() (blocking)

    (no documentation yet)

  • set_property(prop_name, prop_val) (blocking)

    Modify one property on a component

    • Parameters

      • prop_name: the name of the property to modify (as shown the documentation)
      • prop_val: the new value of the property. Note that there is no checking about the type of the value so be careful
    • Return value

      nothing

Examples

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

from morse.builder import *

### Add a virtual ArUco marker to the scene
robot = Morsy()

aruco = Arucomarker()
aruco.add_stream('ros', topic="/aruco_pose")
aruco.properties(zoffset=0.3, xoffset=-0.09, yoffset=.0)

robot.append(aruco)

env = Environment('empty')

Other sources of examples

(This page has been auto-generated from MORSE module morse.actuators.arucomarker.)