core/transformations/coordinate_system_hierarchy-1.0.0

Schema that describes a local coordinate system hierarchy

Description

It stores information how the different coordinate systems are arranged towards each other. The basic data structure is a tree.

Outline

Schema Definitions

This type is an object with the following properties:
  • name
    stringRequired
    No length restriction
  • root_system_name
    stringRequired
    Name of the root coordinate system

    No length restriction
  • reference_time
    tag:weldx.bam.de:weldx/time/timestamp-1.0.0
    A timestamp that serves as reference point for all attached coordinate systems.

  • subsystem_names
    array
    A list containing the names of subsystems that are directly attached to the main hierarchy. Nested subsystems are excluded.

    No length restriction
    Items in the array are restricted to the following types:
    string
    No length restriction
  • subsystems
    array
    A list containing the data of all subsystems including nested structures.

    No length restriction
    Items in the array are restricted to the following types:
  • coordinate_systems
    arrayRequired
    An array of all the coordinate systems’ data. This includes their name, parent system and how they are arranged towards their parent system.

    No length restriction
    Items in the array are restricted to the following types:

Examples

A CSM with two static transformations and no subsystems.:

!<tag:weldx.bam.de:weldx/core/transformations/coordinate_system_hierarchy-1.0.0>
  name: Coordinate system manager 0
  root_system_name: base
  subsystems: []
  coordinate_systems:
  - !<tag:weldx.bam.de:weldx/core/transformations/coordinate_transformation-1.0.0>
    name: workpiece
    reference_system: base
    transformation: !<tag:weldx.bam.de:weldx/core/transformations/local_coordinate_system-1.0.0> {}
  - !<tag:weldx.bam.de:weldx/core/transformations/coordinate_transformation-1.0.0>
    name: tcp_wire
    reference_system: workpiece
    transformation: !<tag:weldx.bam.de:weldx/core/transformations/local_coordinate_system-1.0.0>
      time: !<tag:weldx.bam.de:weldx/time/timedeltaindex-1.0.0>
        values: !core/ndarray-1.0.0
          data: [0, 29000000000]
          datatype: int64
          shape: [2]
        start: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M0S}
        end: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M29S}
        min: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M0S}
        max: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M29S}
      orientations: !<tag:weldx.bam.de:weldx/core/variable-1.0.0>
        name: orientations
        dimensions: [c, v]
        dtype: <f8
        data: !core/ndarray-1.0.0
          data:
          - [1.0, 0.0, 0.0]
          - [0.0, -1.0, -1.2246467991473532e-16]
          - [0.0, 1.2246467991473532e-16, -1.0]
          datatype: float64
          shape: [3, 3]
      coordinates: !<tag:weldx.bam.de:weldx/core/variable-1.0.0>
        name: coordinates
        dimensions: [time, c]
        dtype: <f8
        data: !core/ndarray-1.0.0
          data:
          - [5.0, 0.0, 2.0]
          - [295.0, 0.0, 2.0]
          datatype: float64
          shape: [2, 3]
  subsystem_names: []

Original Schema

%YAML 1.1
---
$schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
id: "http://weldx.bam.de/schemas/weldx/core/transformations/coordinate_system_hierarchy-1.0.0"
tag: "tag:weldx.bam.de:weldx/core/transformations/coordinate_system_hierarchy-1.0.0"

title: |
  Schema that describes a local coordinate system hierarchy
description: |
  It stores information how the different coordinate systems are arranged towards each other. The basic data structure
  is a tree.
type: object

examples:
  -
    - A CSM with two static transformations and no subsystems.
    - |
      !<tag:weldx.bam.de:weldx/core/transformations/coordinate_system_hierarchy-1.0.0>
        name: Coordinate system manager 0
        root_system_name: base
        subsystems: []
        coordinate_systems:
        - !<tag:weldx.bam.de:weldx/core/transformations/coordinate_transformation-1.0.0>
          name: workpiece
          reference_system: base
          transformation: !<tag:weldx.bam.de:weldx/core/transformations/local_coordinate_system-1.0.0> {}
        - !<tag:weldx.bam.de:weldx/core/transformations/coordinate_transformation-1.0.0>
          name: tcp_wire
          reference_system: workpiece
          transformation: !<tag:weldx.bam.de:weldx/core/transformations/local_coordinate_system-1.0.0>
            time: !<tag:weldx.bam.de:weldx/time/timedeltaindex-1.0.0>
              values: !core/ndarray-1.0.0
                data: [0, 29000000000]
                datatype: int64
                shape: [2]
              start: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M0S}
              end: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M29S}
              min: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M0S}
              max: !<tag:weldx.bam.de:weldx/time/timedelta-1.0.0> {value: P0DT0H0M29S}
            orientations: !<tag:weldx.bam.de:weldx/core/variable-1.0.0>
              name: orientations
              dimensions: [c, v]
              dtype: <f8
              data: !core/ndarray-1.0.0
                data:
                - [1.0, 0.0, 0.0]
                - [0.0, -1.0, -1.2246467991473532e-16]
                - [0.0, 1.2246467991473532e-16, -1.0]
                datatype: float64
                shape: [3, 3]
            coordinates: !<tag:weldx.bam.de:weldx/core/variable-1.0.0>
              name: coordinates
              dimensions: [time, c]
              dtype: <f8
              data: !core/ndarray-1.0.0
                data:
                - [5.0, 0.0, 2.0]
                - [295.0, 0.0, 2.0]
                datatype: float64
                shape: [2, 3]
        subsystem_names: []

properties:
  name:
    type: string

  root_system_name:
    description: |
      Name of the root coordinate system
    type: string

  reference_time:
    description: |
      A timestamp that serves as reference point for all attached coordinate systems.
    tag: "tag:weldx.bam.de:weldx/time/timestamp-1.0.0"

  subsystem_names:
    description: |
      A list containing the names of subsystems that are directly attached to the main hierarchy. Nested subsystems
      are excluded.
    type: array
    items:
      type: string

  subsystems:
    description: |
      A list containing the data of all subsystems including nested structures.
    type: array
    items:
      tag: "tag:weldx.bam.de:weldx/core/transformations/coordinate_system_hierarchy_subsystem-1.0.0"

  coordinate_systems:
    description: |
      An array of all the coordinate systems' data. This includes their name, parent system and how they are arranged
      towards their parent system.
    type: array
    items:
      tag: "tag:weldx.bam.de:weldx/core/transformations/coordinate_transformation-1.0.0"

propertyOrder: [name, root_system_name, reference_time, subsystems, subsystem_data,  coordinate_systems]
required: [name, root_system_name, coordinate_systems]
flowStyle: block
...