5.2. Pydantic Models

All complex data structures are defined as pydantic models. Use the following documentation to inspect subtypes or access the JSON schema.

5.2.1. Models

Pydantic models for all roboception API data structures.

pydantic model voraus_roboception_app.models.BoxPickItemDetectionModel

Bases: BaseModel

Result of a BoxPick/ItemPick detection, corresponds to a MatchModel of cad_match.

Show JSON schema
{
   "title": "BoxPickItemDetectionModel",
   "description": "Result of a BoxPick/ItemPick detection, corresponds to a MatchModel of cad_match.",
   "type": "object",
   "properties": {
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "rectangle": {
         "$ref": "#/$defs/Position2DModel"
      },
      "timestamp": {
         "$ref": "#/$defs/TimeStampModel"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "Position2DModel": {
         "description": "2D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y"
         ],
         "title": "Position2DModel",
         "type": "object"
      },
      "TimeStampModel": {
         "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
         "properties": {
            "sec": {
               "title": "Sec",
               "type": "integer"
            },
            "nsec": {
               "title": "Nsec",
               "type": "integer"
            }
         },
         "required": [
            "sec",
            "nsec"
         ],
         "title": "TimeStampModel",
         "type": "object"
      }
   },
   "required": [
      "pose",
      "pose_frame",
      "rectangle",
      "timestamp",
      "type",
      "uuid"
   ]
}

Fields:
field pose: PoseModel [Required]
field pose_frame: str [Required]
field rectangle: Position2DModel [Required]
field timestamp: TimeStampModel [Required]
field type: str [Required]
field uuid: str [Required]
pydantic model voraus_roboception_app.models.BoxPickItemModel

Bases: BaseModel

The valid BoxPick item type.

Show JSON schema
{
   "title": "BoxPickItemModel",
   "description": "The valid BoxPick item type.",
   "type": "object",
   "properties": {
      "rectangle": {
         "$ref": "#/$defs/BoxRectangleModel"
      },
      "type": {
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "BoxRectangleModel": {
         "description": "Definition of a Rectangle with tolerances, required for BoxPick.",
         "properties": {
            "min_dimensions": {
               "$ref": "#/$defs/Position2DModel"
            },
            "max_dimensions": {
               "$ref": "#/$defs/Position2DModel"
            }
         },
         "required": [
            "min_dimensions",
            "max_dimensions"
         ],
         "title": "BoxRectangleModel",
         "type": "object"
      },
      "Position2DModel": {
         "description": "2D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y"
         ],
         "title": "Position2DModel",
         "type": "object"
      }
   },
   "required": [
      "rectangle",
      "type"
   ]
}

Fields:
field rectangle: BoxRectangleModel [Required]
field type: str [Required]
classmethod from_min_max_dimensions(x_min, x_max, y_min, y_max)

Directly construct a BoxPickItemModel from min and max values in meters.

Parameters:
  • x_min (float) – Minimal x dimension

  • x_max (float) – Maximum x dimension

  • y_min (float) – Minimal y dimension

  • y_max (float) – Maximum y dimension

Return type:

BoxPickItemModel

Returns:

The constructed BoxPickItemModel

pydantic model voraus_roboception_app.models.BoxRectangleModel

Bases: BaseModel

Definition of a Rectangle with tolerances, required for BoxPick.

Show JSON schema
{
   "title": "BoxRectangleModel",
   "description": "Definition of a Rectangle with tolerances, required for BoxPick.",
   "type": "object",
   "properties": {
      "min_dimensions": {
         "$ref": "#/$defs/Position2DModel"
      },
      "max_dimensions": {
         "$ref": "#/$defs/Position2DModel"
      }
   },
   "$defs": {
      "Position2DModel": {
         "description": "2D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y"
         ],
         "title": "Position2DModel",
         "type": "object"
      }
   },
   "required": [
      "min_dimensions",
      "max_dimensions"
   ]
}

Fields:
field max_dimensions: Position2DModel [Required]
field min_dimensions: Position2DModel [Required]
pydantic model voraus_roboception_app.models.CollisionDetectionModel

Bases: BaseModel

Definition of a CollisionDetection model.

Show JSON schema
{
   "title": "CollisionDetectionModel",
   "description": "Definition of a CollisionDetection model.",
   "type": "object",
   "properties": {
      "gripper_id": {
         "title": "Gripper Id",
         "type": "string"
      },
      "pre_grasp_offset": {
         "$ref": "#/$defs/PosePositionModel"
      }
   },
   "$defs": {
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      }
   },
   "required": [
      "gripper_id",
      "pre_grasp_offset"
   ]
}

Fields:
field gripper_id: str [Required]
field pre_grasp_offset: PosePositionModel [Required]
pydantic model voraus_roboception_app.models.CylinderModel

Bases: BaseModel

Description model of a Cylinder.

Show JSON schema
{
   "title": "CylinderModel",
   "description": "Description model of a Cylinder.",
   "type": "object",
   "properties": {
      "radius": {
         "title": "Radius",
         "type": "number"
      },
      "height": {
         "title": "Height",
         "type": "number"
      }
   },
   "required": [
      "radius",
      "height"
   ]
}

Fields:
field height: float [Required]
field radius: float [Required]
pydantic model voraus_roboception_app.models.DeviceConfiguration

Bases: BaseModel

The basic device configuration of a pipeline.

Show JSON schema
{
   "title": "DeviceConfiguration",
   "description": "The basic device configuration of a pipeline.",
   "type": "object",
   "properties": {
      "type": {
         "enum": [
            "rc_visard",
            "rc_viscore",
            "blaze",
            "rc_test"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "type"
   ]
}

Fields:
field type: Literal['rc_visard', 'rc_viscore', 'blaze', 'rc_test'] [Required]
pydantic model voraus_roboception_app.models.ElementsModel

Bases: BaseModel

Part of the GrippersModel.

Show JSON schema
{
   "title": "ElementsModel",
   "description": "Part of the GrippersModel.",
   "type": "object",
   "properties": {
      "parent_id": {
         "title": "Parent Id",
         "type": "string"
      },
      "id": {
         "title": "Id",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "box": {
         "$ref": "#/$defs/PosePositionModel"
      },
      "cylinder": {
         "$ref": "#/$defs/CylinderModel"
      }
   },
   "$defs": {
      "CylinderModel": {
         "description": "Description model of a Cylinder.",
         "properties": {
            "radius": {
               "title": "Radius",
               "type": "number"
            },
            "height": {
               "title": "Height",
               "type": "number"
            }
         },
         "required": [
            "radius",
            "height"
         ],
         "title": "CylinderModel",
         "type": "object"
      },
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      }
   },
   "required": [
      "parent_id",
      "id",
      "pose",
      "type",
      "box",
      "cylinder"
   ]
}

Fields:
field box: PosePositionModel [Required]
field cylinder: CylinderModel [Required]
field id: str [Required]
field parent_id: str [Required]
field pose: PoseModel [Required]
field type: str [Required]
pydantic model voraus_roboception_app.models.GraspModel

Bases: BaseModel

A grasp of a cad_match.

Show JSON schema
{
   "title": "GraspModel",
   "description": "A grasp of a cad_match.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "match_uuid": {
         "title": "Match Uuid",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "timestamp": {
         "$ref": "#/$defs/TimeStampModel"
      },
      "priority": {
         "title": "Priority",
         "type": "integer"
      },
      "gripper_id": {
         "title": "Gripper Id",
         "type": "string"
      },
      "collision_checked": {
         "title": "Collision Checked",
         "type": "boolean"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "TimeStampModel": {
         "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
         "properties": {
            "sec": {
               "title": "Sec",
               "type": "integer"
            },
            "nsec": {
               "title": "Nsec",
               "type": "integer"
            }
         },
         "required": [
            "sec",
            "nsec"
         ],
         "title": "TimeStampModel",
         "type": "object"
      }
   },
   "required": [
      "id",
      "uuid",
      "match_uuid",
      "pose",
      "pose_frame",
      "timestamp",
      "priority",
      "gripper_id",
      "collision_checked"
   ]
}

Fields:
field collision_checked: bool [Required]
field gripper_id: str [Required]
field id: str [Required]
field match_uuid: str [Required]
field pose: PoseModel [Required]
field pose_frame: str [Required]
field priority: int [Required]
field timestamp: TimeStampModel [Required]
field uuid: str [Required]
pydantic model voraus_roboception_app.models.GraspModelSilhouetteMatch

Bases: BaseModel

A grasp of a silhouetteMatch command.

Show JSON schema
{
   "title": "GraspModelSilhouetteMatch",
   "description": "A grasp of a silhouetteMatch command.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "instance_uuid": {
         "title": "Instance Uuid",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "timestamp": {
         "$ref": "#/$defs/TimeStampModel"
      },
      "priority": {
         "title": "Priority",
         "type": "integer"
      },
      "gripper_id": {
         "title": "Gripper Id",
         "type": "string"
      },
      "collision_checked": {
         "title": "Collision Checked",
         "type": "boolean"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "TimeStampModel": {
         "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
         "properties": {
            "sec": {
               "title": "Sec",
               "type": "integer"
            },
            "nsec": {
               "title": "Nsec",
               "type": "integer"
            }
         },
         "required": [
            "sec",
            "nsec"
         ],
         "title": "TimeStampModel",
         "type": "object"
      }
   },
   "required": [
      "id",
      "uuid",
      "instance_uuid",
      "pose",
      "pose_frame",
      "timestamp",
      "priority",
      "gripper_id",
      "collision_checked"
   ]
}

Fields:
field collision_checked: bool [Required]
field gripper_id: str [Required]
field id: str [Required]
field instance_uuid: str [Required]
field pose: PoseModel [Required]
field pose_frame: str [Required]
field priority: int [Required]
field timestamp: TimeStampModel [Required]
field uuid: str [Required]
pydantic model voraus_roboception_app.models.GraspPickModel

Bases: BaseModel

A grasp for BoxPick and ItemPick detections.

Show JSON schema
{
   "title": "GraspPickModel",
   "description": "A grasp for BoxPick and ItemPick detections.",
   "type": "object",
   "properties": {
      "item_uuid": {
         "title": "Item Uuid",
         "type": "string"
      },
      "max_suction_surface_length": {
         "title": "Max Suction Surface Length",
         "type": "number"
      },
      "max_suction_surface_width": {
         "title": "Max Suction Surface Width",
         "type": "number"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "quality": {
         "title": "Quality",
         "type": "number"
      },
      "timestamp": {
         "$ref": "#/$defs/TimeStampModel"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "TimeStampModel": {
         "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
         "properties": {
            "sec": {
               "title": "Sec",
               "type": "integer"
            },
            "nsec": {
               "title": "Nsec",
               "type": "integer"
            }
         },
         "required": [
            "sec",
            "nsec"
         ],
         "title": "TimeStampModel",
         "type": "object"
      }
   },
   "required": [
      "item_uuid",
      "max_suction_surface_length",
      "max_suction_surface_width",
      "pose",
      "pose_frame",
      "quality",
      "timestamp",
      "type",
      "uuid"
   ]
}

Fields:
field item_uuid: str [Required]
field max_suction_surface_length: float [Required]
field max_suction_surface_width: float [Required]
field pose: PoseModel [Required]
field pose_frame: str [Required]
field quality: float [Required]
field timestamp: TimeStampModel [Required]
field type: str [Required]
field uuid: str [Required]
pydantic model voraus_roboception_app.models.GrippersModel

Bases: BaseModel

Result of a get grippers service request of the GripperDB module.

Show JSON schema
{
   "title": "GrippersModel",
   "description": "Result of a get grippers service request of the GripperDB module.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "flange_radius": {
         "title": "Flange Radius",
         "type": "number"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "tcp_pose_parent": {
         "$ref": "#/$defs/PoseModel"
      },
      "tcp_parent_id": {
         "title": "Tcp Parent Id",
         "type": "string"
      },
      "elements": {
         "items": {
            "$ref": "#/$defs/ElementsModel"
         },
         "title": "Elements",
         "type": "array"
      },
      "tcp_pose_flange": {
         "$ref": "#/$defs/PoseModel"
      }
   },
   "$defs": {
      "CylinderModel": {
         "description": "Description model of a Cylinder.",
         "properties": {
            "radius": {
               "title": "Radius",
               "type": "number"
            },
            "height": {
               "title": "Height",
               "type": "number"
            }
         },
         "required": [
            "radius",
            "height"
         ],
         "title": "CylinderModel",
         "type": "object"
      },
      "ElementsModel": {
         "description": "Part of the GrippersModel.",
         "properties": {
            "parent_id": {
               "title": "Parent Id",
               "type": "string"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "pose": {
               "$ref": "#/$defs/PoseModel"
            },
            "type": {
               "title": "Type",
               "type": "string"
            },
            "box": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "cylinder": {
               "$ref": "#/$defs/CylinderModel"
            }
         },
         "required": [
            "parent_id",
            "id",
            "pose",
            "type",
            "box",
            "cylinder"
         ],
         "title": "ElementsModel",
         "type": "object"
      },
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      }
   },
   "required": [
      "id",
      "flange_radius",
      "type",
      "tcp_pose_parent",
      "tcp_parent_id",
      "elements",
      "tcp_pose_flange"
   ]
}

Fields:
field elements: List[ElementsModel] [Required]
field flange_radius: float [Required]
field id: str [Required]
field tcp_parent_id: str [Required]
field tcp_pose_flange: PoseModel [Required]
field tcp_pose_parent: PoseModel [Required]
field type: str [Required]
pydantic model voraus_roboception_app.models.LoadCarrierCompartmentModel

Bases: BaseModel

Region of interest area inside a load carrier the further detection will be reduced to.

Not supported yet.

Show JSON schema
{
   "title": "LoadCarrierCompartmentModel",
   "description": "Region of interest area inside a load carrier the further detection will be reduced to.\n\nNot supported yet.",
   "type": "object",
   "properties": {
      "box": {
         "$ref": "#/$defs/PosePositionModel"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      }
   },
   "required": [
      "box",
      "pose"
   ]
}

Fields:
field box: PosePositionModel [Required]
field pose: PoseModel [Required]
pydantic model voraus_roboception_app.models.LoadCarrierModel

Bases: BaseModel

Load carrier definition.

Pydantic model is incomplete, some of the parameters depend on each other, but this hierarchy is not implemented yet.

Show JSON schema
{
   "title": "LoadCarrierModel",
   "description": "Load carrier definition.\n\nPydantic model is incomplete, some of the parameters depend on each other, but this hierarchy is not implemented\nyet.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "type": "string"
      },
      "outer_dimensions": {
         "$ref": "#/$defs/PosePositionModel"
      },
      "inner_dimensions": {
         "$ref": "#/$defs/PosePositionModel"
      },
      "rim_thickness": {
         "anyOf": [
            {
               "$ref": "#/$defs/Position2DModel"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "rim_step_height": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Rim Step Height"
      },
      "rim_ledge": {
         "anyOf": [
            {
               "$ref": "#/$defs/Position2DModel"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "height_open_side": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Height Open Side"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "overfilled": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Overfilled"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "Position2DModel": {
         "description": "2D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y"
         ],
         "title": "Position2DModel",
         "type": "object"
      }
   },
   "required": [
      "id",
      "type",
      "outer_dimensions",
      "inner_dimensions",
      "pose_frame",
      "pose"
   ]
}

Fields:
field height_open_side: Optional[float] = None
field id: str [Required]
field inner_dimensions: PosePositionModel [Required]
field outer_dimensions: PosePositionModel [Required]
field overfilled: Optional[bool] = None
field pose: PoseModel [Required]
field pose_frame: str [Required]
field rim_ledge: Optional[Position2DModel] = None
field rim_step_height: Optional[float] = None
field rim_thickness: Optional[Position2DModel] = None
field type: str [Required]
pydantic model voraus_roboception_app.models.MatchModel

Bases: BaseModel

A match of a cad_match.

Show JSON schema
{
   "title": "MatchModel",
   "description": "A match of a cad_match.",
   "type": "object",
   "properties": {
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "grasp_uuids": {
         "items": {
            "type": "string"
         },
         "title": "Grasp Uuids",
         "type": "array"
      },
      "timestamp": {
         "$ref": "#/$defs/TimeStampModel"
      },
      "template_id": {
         "title": "Template Id",
         "type": "string"
      },
      "score": {
         "title": "Score",
         "type": "number"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "TimeStampModel": {
         "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
         "properties": {
            "sec": {
               "title": "Sec",
               "type": "integer"
            },
            "nsec": {
               "title": "Nsec",
               "type": "integer"
            }
         },
         "required": [
            "sec",
            "nsec"
         ],
         "title": "TimeStampModel",
         "type": "object"
      }
   },
   "required": [
      "uuid",
      "grasp_uuids",
      "timestamp",
      "template_id",
      "score",
      "pose_frame",
      "pose"
   ]
}

Fields:
field grasp_uuids: List[str] [Required]
field pose: PoseModel [Required]
field pose_frame: str [Required]
field score: float [Required]
field template_id: str [Required]
field timestamp: TimeStampModel [Required]
field uuid: str [Required]
pydantic model voraus_roboception_app.models.ObjectToDetectModel

Bases: BaseModel

Object to detect for the SilhouetteMatch module.

Show JSON schema
{
   "title": "ObjectToDetectModel",
   "description": "Object to detect for the SilhouetteMatch module.",
   "type": "object",
   "properties": {
      "object_id": {
         "title": "Object Id",
         "type": "string"
      },
      "region_of_interest_2d_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Region Of Interest 2D Id"
      }
   },
   "required": [
      "object_id",
      "region_of_interest_2d_id"
   ]
}

Fields:
field object_id: str [Required]
field region_of_interest_2d_id: Optional[str] [Required]
pydantic model voraus_roboception_app.models.PoseModel

Bases: BaseModel

Pose definition using quaternion for rotation representation.

Show JSON schema
{
   "title": "PoseModel",
   "description": "Pose definition using quaternion for rotation representation.",
   "type": "object",
   "properties": {
      "position": {
         "$ref": "#/$defs/PosePositionModel"
      },
      "orientation": {
         "$ref": "#/$defs/PoseOrientationModel"
      }
   },
   "$defs": {
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      }
   },
   "required": [
      "position",
      "orientation"
   ]
}

Fields:
field orientation: PoseOrientationModel [Required]
field position: PosePositionModel [Required]
pydantic model voraus_roboception_app.models.PoseOrientationModel

Bases: BaseModel

Orientation as quaternion.

Show JSON schema
{
   "title": "PoseOrientationModel",
   "description": "Orientation as quaternion.",
   "type": "object",
   "properties": {
      "x": {
         "title": "X",
         "type": "number"
      },
      "y": {
         "title": "Y",
         "type": "number"
      },
      "z": {
         "title": "Z",
         "type": "number"
      },
      "w": {
         "title": "W",
         "type": "number"
      }
   },
   "required": [
      "x",
      "y",
      "z",
      "w"
   ]
}

Fields:
field w: float [Required]
field x: float [Required]
field y: float [Required]
field z: float [Required]
pydantic model voraus_roboception_app.models.PosePositionModel

Bases: BaseModel

3D cartesian position.

Show JSON schema
{
   "title": "PosePositionModel",
   "description": "3D cartesian position.",
   "type": "object",
   "properties": {
      "x": {
         "title": "X",
         "type": "number"
      },
      "y": {
         "title": "Y",
         "type": "number"
      },
      "z": {
         "title": "Z",
         "type": "number"
      }
   },
   "required": [
      "x",
      "y",
      "z"
   ]
}

Fields:
field x: float [Required]
field y: float [Required]
field z: float [Required]
pydantic model voraus_roboception_app.models.PosePriorsModel

Bases: BaseModel

Pose Prior definition.

Show JSON schema
{
   "title": "PosePriorsModel",
   "description": "Pose Prior definition.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "template_id": {
         "title": "Template Id",
         "type": "string"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      }
   },
   "required": [
      "id",
      "template_id",
      "pose_frame",
      "pose"
   ]
}

Fields:
field id: str [Required]
field pose: PoseModel [Required]
field pose_frame: str [Required]
field template_id: str [Required]
pydantic model voraus_roboception_app.models.Position2DModel

Bases: BaseModel

2D cartesian position.

Show JSON schema
{
   "title": "Position2DModel",
   "description": "2D cartesian position.",
   "type": "object",
   "properties": {
      "x": {
         "title": "X",
         "type": "number"
      },
      "y": {
         "title": "Y",
         "type": "number"
      }
   },
   "required": [
      "x",
      "y"
   ]
}

Fields:
field x: float [Required]
field y: float [Required]
pydantic model voraus_roboception_app.models.RegionsOfInterest2DModel

Bases: BaseModel

Result of a get 2d regions of interest service request by the RoiDB module.

Show JSON schema
{
   "title": "RegionsOfInterest2DModel",
   "description": "Result of a get 2d regions of interest service request by the RoiDB module.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "offset_x": {
         "title": "Offset X",
         "type": "integer"
      },
      "offset_y": {
         "title": "Offset Y",
         "type": "integer"
      },
      "width": {
         "title": "Width",
         "type": "integer"
      },
      "height": {
         "title": "Height",
         "type": "integer"
      }
   },
   "required": [
      "id",
      "offset_x",
      "offset_y",
      "width",
      "height"
   ]
}

Fields:
field height: int [Required]
field id_value: str [Required] (alias 'id')
field offset_x: int [Required]
field offset_y: int [Required]
field width: int [Required]
pydantic model voraus_roboception_app.models.RegionsOfInterestModel

Bases: BaseModel

Result of a get regions of interest service request by the RoiDB module.

The values of box/sphere are only valid if the designated type was requested by type_value. The values of the non-requested type default to zero.

Show JSON schema
{
   "title": "RegionsOfInterestModel",
   "description": "Result of a get regions of interest service request by the RoiDB module.\n\nThe values of box/sphere are only valid if the designated type was requested by type_value.\nThe values of the non-requested type default to zero.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "type": {
         "enum": [
            "BOX",
            "SPHERE"
         ],
         "title": "Type",
         "type": "string"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "box": {
         "anyOf": [
            {
               "$ref": "#/$defs/PosePositionModel"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "sphere": {
         "anyOf": [
            {
               "$ref": "#/$defs/SphereModel"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "SphereModel": {
         "description": "Used inside the RegionsOfInterestModel.",
         "properties": {
            "radius": {
               "title": "Radius",
               "type": "number"
            }
         },
         "required": [
            "radius"
         ],
         "title": "SphereModel",
         "type": "object"
      }
   },
   "required": [
      "id",
      "type",
      "pose_frame",
      "pose"
   ]
}

Fields:
Validators:
field box: Optional[PosePositionModel] = None
Validated by:
field id_value: str [Required] (alias 'id')
Validated by:
field pose: PoseModel [Required]
Validated by:
field pose_frame: str [Required]
Validated by:
field sphere: Optional[SphereModel] = None
Validated by:
field type_value: Literal['BOX', 'SPHERE'] [Required] (alias 'type')
Validated by:
validator check_empty  »  sphere, box

Validator to check if the provided value is empty.

If the provided value is empty, it returns None. This is used to ensure that optional fields (box and sphere) are set to None if no value is provided, or if the provided value is an empty dict.

Parameters:

value (Any) – The value to check.

Returns:

The original value if not empty, otherwise None.

Return type:

Any

validator check_model  »  all fields

Validator to check the integrity of the model after initialization.

This method ensures that if the type_value is “BOX”, the box field must not be None. Similarly, if the type_value is “SPHERE”, the sphere field must not be None. Raises a ValueError if these conditions are not met.

Raises:
  • ValueError – If type_value is “BOX” and box is None.

  • ValueError – If type_value is “SPHERE” and sphere is None.

Returns:

The validated instance of RegionsOfInterestModel.

Return type:

Self

pydantic model voraus_roboception_app.models.ReturnCodeModel

Bases: BaseModel

A unified return code that is shared along all types of requests.

Different styles of return code and message formats exist in the API. They are all converted to this common model.

Always use the success flag to evaluate whether the request was successful or not. Depending on the request, a positive value might represent a successful or erroneous response.

Show JSON schema
{
   "title": "ReturnCodeModel",
   "description": "A unified return code that is shared along all types of requests.\n\nDifferent styles of return code and message formats exist in the API. They are all converted to this common model.\n\nAlways use the success flag to evaluate whether the request was successful or not.\nDepending on the request, a positive value might represent a successful or erroneous response.",
   "type": "object",
   "properties": {
      "value": {
         "title": "Value",
         "type": "integer"
      },
      "message": {
         "title": "Message",
         "type": "string"
      },
      "success": {
         "title": "Success",
         "type": "boolean"
      }
   },
   "required": [
      "value",
      "message",
      "success"
   ]
}

Fields:
Validators:
field message: str [Required]
Validated by:
field success: bool [Required]
Validated by:
field value: int [Required]
Validated by:
validator autofill_success_flag  »  all fields

Generate a success field if it does not exist yet.

Parameters:

value (Dict[str, Any]) – original dict

Return type:

Dict[str, Any]

Returns:

Modified dict

pydantic model voraus_roboception_app.models.RoboceptionCameraDeviceInfo

Bases: BaseModel

All available data of a roboception camera device, formatted for roboception API.

Show JSON schema
{
   "title": "RoboceptionCameraDeviceInfo",
   "description": "All available data of a roboception camera device, formatted for roboception API.",
   "type": "object",
   "properties": {
      "device": {
         "title": "Device",
         "type": "string"
      },
      "device_serial": {
         "title": "Device Serial",
         "type": "string"
      },
      "device_version": {
         "title": "Device Version",
         "type": "string"
      },
      "device_user_name": {
         "title": "Device User Name",
         "type": "string"
      },
      "device_type": {
         "enum": [
            "rc_visard",
            "rc_viscore",
            "blaze",
            "rc_test"
         ],
         "title": "Device Type",
         "type": "string"
      },
      "model_name": {
         "title": "Model Name",
         "type": "string"
      },
      "matching_devices": {
         "const": "unique",
         "enum": [
            "unique"
         ],
         "title": "Matching Devices",
         "type": "string"
      },
      "ready": {
         "title": "Ready",
         "type": "boolean"
      },
      "device_calibrated": {
         "title": "Device Calibrated",
         "type": "boolean"
      },
      "device_link_speed": {
         "title": "Device Link Speed",
         "type": "number"
      }
   },
   "required": [
      "device",
      "device_serial",
      "device_version",
      "device_user_name",
      "device_type",
      "model_name",
      "matching_devices",
      "ready",
      "device_calibrated",
      "device_link_speed"
   ]
}

Config:
  • extra: str = ignore

Fields:
field camera_model_name: str [Required] (alias 'model_name')
field device_id: str [Required] (alias 'device')
field device_serial: str [Required]
field device_type: Literal['rc_visard', 'rc_viscore', 'blaze', 'rc_test'] [Required]
field device_user_name: str [Required]
field device_version: str [Required]
field is_calibrated: bool [Required] (alias 'device_calibrated')
field matching_devices: Literal['unique'] [Required]
field ready: bool [Required]
pydantic model voraus_roboception_app.models.RoboceptionPipelineConfig

Bases: BaseModel

The pipeline configuration of the roboception controller.

Show JSON schema
{
   "title": "RoboceptionPipelineConfig",
   "description": "The pipeline configuration of the roboception controller.",
   "type": "object",
   "properties": {
      "config": {
         "additionalProperties": {
            "$ref": "#/$defs/DeviceConfiguration"
         },
         "title": "Config",
         "type": "object"
      },
      "pending_changes": {
         "title": "Pending Changes",
         "type": "boolean"
      },
      "max_pipelines": {
         "title": "Max Pipelines",
         "type": "integer"
      }
   },
   "$defs": {
      "DeviceConfiguration": {
         "description": "The basic device configuration of a pipeline.",
         "properties": {
            "type": {
               "enum": [
                  "rc_visard",
                  "rc_viscore",
                  "blaze",
                  "rc_test"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "type"
         ],
         "title": "DeviceConfiguration",
         "type": "object"
      }
   },
   "required": [
      "config",
      "pending_changes",
      "max_pipelines"
   ]
}

Fields:
field config: dict[Annotated[int], DeviceConfiguration] [Required]
field max_pipelines: int [Required]
field pending_changes: bool [Required]
pydantic model voraus_roboception_app.models.ServiceResponse

Bases: BaseModel

Base class of service responses.

Each service response must contain a return code.

Show JSON schema
{
   "title": "ServiceResponse",
   "description": "Base class of service responses.\n\nEach service response must contain a return code.",
   "type": "object",
   "properties": {
      "return_code": {
         "$ref": "#/$defs/ReturnCodeModel"
      }
   },
   "$defs": {
      "ReturnCodeModel": {
         "description": "A unified return code that is shared along all types of requests.\n\nDifferent styles of return code and message formats exist in the API. They are all converted to this common model.\n\nAlways use the success flag to evaluate whether the request was successful or not.\nDepending on the request, a positive value might represent a successful or erroneous response.",
         "properties": {
            "value": {
               "title": "Value",
               "type": "integer"
            },
            "message": {
               "title": "Message",
               "type": "string"
            },
            "success": {
               "title": "Success",
               "type": "boolean"
            }
         },
         "required": [
            "value",
            "message",
            "success"
         ],
         "title": "ReturnCodeModel",
         "type": "object"
      }
   },
   "required": [
      "return_code"
   ]
}

Fields:
Validators:
field return_code: ReturnCodeModel [Required]
Validated by:
has_warning()

Returns true if the ServiceResponse was successful, but has triggered a warning code.

Return type:

bool

Returns:

Whether the ServiceResponse contains a warning.

validator unify_input_data  »  all fields

Convert the calibration type response to a return_code response.

Calibration responses have a “success” key in the top level response, all other service responses use the “return_code” subobject.

Parameters:

value (Dict[str, Any]) – The original dict

Return type:

Dict[str, Any]

Returns:

The modified dict

pydantic model voraus_roboception_app.models.SilhouetteDetectionModel

Bases: BaseModel

An instance for SilhouetteMatch detections.

Show JSON schema
{
   "title": "SilhouetteDetectionModel",
   "description": "An instance for SilhouetteMatch detections.",
   "type": "object",
   "properties": {
      "grasp_uuids": {
         "items": {
            "type": "string"
         },
         "title": "Grasp Uuids",
         "type": "array"
      },
      "object_id": {
         "title": "Object Id",
         "type": "string"
      },
      "pose": {
         "$ref": "#/$defs/PoseModel"
      },
      "pose_frame": {
         "title": "Pose Frame",
         "type": "string"
      },
      "timestamp": {
         "$ref": "#/$defs/TimeStampModel"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      }
   },
   "$defs": {
      "PoseModel": {
         "description": "Pose definition using quaternion for rotation representation.",
         "properties": {
            "position": {
               "$ref": "#/$defs/PosePositionModel"
            },
            "orientation": {
               "$ref": "#/$defs/PoseOrientationModel"
            }
         },
         "required": [
            "position",
            "orientation"
         ],
         "title": "PoseModel",
         "type": "object"
      },
      "PoseOrientationModel": {
         "description": "Orientation as quaternion.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            },
            "w": {
               "title": "W",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z",
            "w"
         ],
         "title": "PoseOrientationModel",
         "type": "object"
      },
      "PosePositionModel": {
         "description": "3D cartesian position.",
         "properties": {
            "x": {
               "title": "X",
               "type": "number"
            },
            "y": {
               "title": "Y",
               "type": "number"
            },
            "z": {
               "title": "Z",
               "type": "number"
            }
         },
         "required": [
            "x",
            "y",
            "z"
         ],
         "title": "PosePositionModel",
         "type": "object"
      },
      "TimeStampModel": {
         "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
         "properties": {
            "sec": {
               "title": "Sec",
               "type": "integer"
            },
            "nsec": {
               "title": "Nsec",
               "type": "integer"
            }
         },
         "required": [
            "sec",
            "nsec"
         ],
         "title": "TimeStampModel",
         "type": "object"
      }
   },
   "required": [
      "grasp_uuids",
      "object_id",
      "pose",
      "pose_frame",
      "timestamp",
      "uuid"
   ]
}

Fields:
field grasp_uuids: List[str] [Required]
field object_id: str [Required]
field pose: PoseModel [Required]
field pose_frame: str [Required]
field timestamp: TimeStampModel [Required]
field uuid: str [Required]
pydantic model voraus_roboception_app.models.SphereModel

Bases: BaseModel

Used inside the RegionsOfInterestModel.

Show JSON schema
{
   "title": "SphereModel",
   "description": "Used inside the RegionsOfInterestModel.",
   "type": "object",
   "properties": {
      "radius": {
         "title": "Radius",
         "type": "number"
      }
   },
   "required": [
      "radius"
   ]
}

Fields:
field radius: float [Required]
pydantic model voraus_roboception_app.models.TimeStampModel

Bases: BaseModel

Timestamps of detections are split in seconds and nanoseconds since epoch.

Show JSON schema
{
   "title": "TimeStampModel",
   "description": "Timestamps of detections are split in seconds and nanoseconds since epoch.",
   "type": "object",
   "properties": {
      "sec": {
         "title": "Sec",
         "type": "integer"
      },
      "nsec": {
         "title": "Nsec",
         "type": "integer"
      }
   },
   "required": [
      "sec",
      "nsec"
   ]
}

Fields:
field nsec: int [Required]
field sec: int [Required]