foxglove.FrameTransform

A transform between two reference frames in 3D space. The transform defines the position and orientation of a child frame within a parent frame. Translation moves the origin of the child frame relative to the parent origin. The rotation changes the orientation of the child frame around its origin. Examples: - With translation (x=1, y=0, z=0) and identity rotation (x=0, y=0, z=0, w=1), a point at (x=0, y=0, z=0) in the child frame maps to (x=1, y=0, z=0) in the parent frame. - With translation (x=1, y=2, z=0) and a 90-degree rotation around the z-axis (x=0, y=0, z=0.707, w=0.707), a point at (x=1, y=0, z=0) in the child frame maps to (x=-1, y=3, z=0) in the parent frame.

RoboticsObservabilityVisualizationData PlatformPhysical AIAutonomyFleet ManagementDeveloper ToolsMCAPROS

Properties

Name Type Description
timestamp object Timestamp of transform
parent_frame_id string Name of the parent frame
child_frame_id string Name of the child frame
translation object Translation component of the transform, representing the position of the child frame's origin in the parent frame.
rotation object Rotation component of the transform, representing the orientation of the child frame in the parent frame
View JSON Schema on GitHub

JSON Schema

foxglove-technologies-frametransform.json Raw ↑
{
  "title": "foxglove.FrameTransform",
  "description": "A transform between two reference frames in 3D space. The transform defines the position and orientation of a child frame within a parent frame. Translation moves the origin of the child frame relative to the parent origin. The rotation changes the orientation of the child frame around its origin.\n\nExamples:\n\n- With translation (x=1, y=0, z=0) and identity rotation (x=0, y=0, z=0, w=1), a point at (x=0, y=0, z=0) in the child frame maps to (x=1, y=0, z=0) in the parent frame.\n\n- With translation (x=1, y=2, z=0) and a 90-degree rotation around the z-axis (x=0, y=0, z=0.707, w=0.707), a point at (x=1, y=0, z=0) in the child frame maps to (x=-1, y=3, z=0) in the parent frame.",
  "$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
  "type": "object",
  "properties": {
    "timestamp": {
      "type": "object",
      "title": "time",
      "properties": {
        "sec": {
          "type": "integer",
          "minimum": 0
        },
        "nsec": {
          "type": "integer",
          "minimum": 0,
          "maximum": 999999999
        }
      },
      "description": "Timestamp of transform"
    },
    "parent_frame_id": {
      "type": "string",
      "description": "Name of the parent frame"
    },
    "child_frame_id": {
      "type": "string",
      "description": "Name of the child frame"
    },
    "translation": {
      "title": "foxglove.Vector3",
      "description": "Translation component of the transform, representing the position of the child frame's origin in the parent frame.",
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "description": "x component"
        },
        "y": {
          "type": "number",
          "description": "y component"
        },
        "z": {
          "type": "number",
          "description": "z component"
        }
      },
      "required": [
        "x",
        "y",
        "z"
      ]
    },
    "rotation": {
      "title": "foxglove.Quaternion",
      "description": "Rotation component of the transform, representing the orientation of the child frame in the parent frame",
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "description": "x value"
        },
        "y": {
          "type": "number",
          "description": "y value"
        },
        "z": {
          "type": "number",
          "description": "z value"
        },
        "w": {
          "type": "number",
          "description": "w value"
        }
      },
      "required": [
        "x",
        "y",
        "z",
        "w"
      ]
    }
  },
  "required": [
    "timestamp",
    "parent_frame_id",
    "child_frame_id",
    "translation",
    "rotation"
  ]
}