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:
BaseModelResult 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 rectangle:
Position2DModel[Required]
-
field timestamp:
TimeStampModel[Required]
- pydantic model voraus_roboception_app.models.BoxPickItemModel
Bases:
BaseModelThe 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" ] }-
field rectangle:
BoxRectangleModel[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 dimensionx_max (
float) – Maximum x dimensiony_min (
float) – Minimal y dimensiony_max (
float) – Maximum y dimension
- Return type:
- Returns:
The constructed BoxPickItemModel
-
field rectangle:
- pydantic model voraus_roboception_app.models.BoxRectangleModel
Bases:
BaseModelDefinition 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:
BaseModelDefinition 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" ] }-
field pre_grasp_offset:
PosePositionModel[Required]
-
field pre_grasp_offset:
- pydantic model voraus_roboception_app.models.CylinderModel
Bases:
BaseModelDescription 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:
- pydantic model voraus_roboception_app.models.DeviceConfiguration
Bases:
BaseModelThe basic device configuration of a pipeline.
Show JSON schema
{ "title": "DeviceConfiguration", "description": "The basic device configuration of a pipeline.", "type": "object", "properties": { "type": { "$ref": "#/$defs/DeviceType" } }, "$defs": { "DeviceType": { "description": "Enum class for the available device types of Roboception.\n\nArgs:\n str: Ensures that the enumeration members are also of type `str`.\n Enum: Provides the functionality of enumerations", "enum": [ "rc_visard", "rc_viscore", "blaze", "rc_test", "rc_cube" ], "title": "DeviceType", "type": "string" } }, "required": [ "type" ] }-
field type:
DeviceType[Required]
-
field type:
- class voraus_roboception_app.models.DeviceType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
str,EnumEnum class for the available device types of Roboception.
- Parameters:
str – Ensures that the enumeration members are also of type str.
Enum – Provides the functionality of enumerations
- pydantic model voraus_roboception_app.models.ElementsModel
Bases:
BaseModelPart 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 pose:
PoseModel[Required]
- pydantic model voraus_roboception_app.models.GraspModel
Bases:
BaseModelA 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 pose:
PoseModel[Required]
-
field timestamp:
TimeStampModel[Required]
- pydantic model voraus_roboception_app.models.GraspModelSilhouetteMatch
Bases:
BaseModelA 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 pose:
PoseModel[Required]
-
field timestamp:
TimeStampModel[Required]
- pydantic model voraus_roboception_app.models.GraspPickModel
Bases:
BaseModelA 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 pose:
PoseModel[Required]
-
field timestamp:
TimeStampModel[Required]
- pydantic model voraus_roboception_app.models.GrippersModel
Bases:
BaseModelResult 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 tcp_pose_flange:
PoseModel[Required]
-
field tcp_pose_parent:
PoseModel[Required]
- pydantic model voraus_roboception_app.models.LoadCarrierCompartmentModel
Bases:
BaseModelRegion 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:
BaseModelLoad 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 inner_dimensions:
PosePositionModel[Required]
-
field outer_dimensions:
PosePositionModel[Required]
-
field pose:
PoseModel[Required]
-
field rim_ledge:
Optional[Position2DModel] = None
-
field rim_thickness:
Optional[Position2DModel] = None
- pydantic model voraus_roboception_app.models.MatchModel
Bases:
BaseModelA 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 pose:
PoseModel[Required]
-
field timestamp:
TimeStampModel[Required]
- pydantic model voraus_roboception_app.models.ObjectToDetectModel
Bases:
BaseModelObject 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" ] }
- pydantic model voraus_roboception_app.models.PoseModel
Bases:
BaseModelPose 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:
BaseModelOrientation 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" ] }
- pydantic model voraus_roboception_app.models.PosePositionModel
Bases:
BaseModel3D 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" ] }
- pydantic model voraus_roboception_app.models.PosePriorsModel
Bases:
BaseModelPose 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" ] }-
field pose:
PoseModel[Required]
-
field pose:
- pydantic model voraus_roboception_app.models.Position2DModel
Bases:
BaseModel2D 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" ] }
- pydantic model voraus_roboception_app.models.RegionsOfInterest2DModel
Bases:
BaseModelResult 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" ] }
- pydantic model voraus_roboception_app.models.RegionsOfInterestModel
Bases:
BaseModelResult 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:
check_model»all fields
-
field box:
Optional[PosePositionModel] = None - Validated by:
-
field pose:
PoseModel[Required] - Validated by:
-
field sphere:
Optional[SphereModel] = None - Validated by:
- validator check_empty » box, sphere
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:
BaseModelA 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:
autofill_success_flag»all fields
- pydantic model voraus_roboception_app.models.RoboceptionCameraDeviceInfo
Bases:
BaseModelAll 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": { "$ref": "#/$defs/DeviceType" }, "model_name": { "title": "Model Name", "type": "string" }, "matching_devices": { "const": "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" } }, "$defs": { "DeviceType": { "description": "Enum class for the available device types of Roboception.\n\nArgs:\n str: Ensures that the enumeration members are also of type `str`.\n Enum: Provides the functionality of enumerations", "enum": [ "rc_visard", "rc_viscore", "blaze", "rc_test", "rc_cube" ], "title": "DeviceType", "type": "string" } }, "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 device_type:
DeviceType[Required]
- pydantic model voraus_roboception_app.models.RoboceptionDeviceSystemInfo
Bases:
BaseModelAn abstract of important information found when requesting the system information of the device.
Show JSON schema
{ "title": "RoboceptionDeviceSystemInfo", "description": "An abstract of important information found when requesting the system information of the device.", "type": "object", "properties": { "hostname": { "title": "Hostname", "type": "string" }, "serial": { "title": "Serial", "type": "string" }, "ready": { "title": "Ready", "type": "boolean" }, "model_name": { "title": "Model Name", "type": "string" }, "pipelines": { "$ref": "#/$defs/RoboceptionPipelines" }, "firmware": { "$ref": "#/$defs/RoboceptionFirmwareModel" }, "link_speed": { "title": "Link Speed", "type": "integer" } }, "$defs": { "DeviceConfiguration": { "description": "The basic device configuration of a pipeline.", "properties": { "type": { "$ref": "#/$defs/DeviceType" } }, "required": [ "type" ], "title": "DeviceConfiguration", "type": "object" }, "DeviceType": { "description": "Enum class for the available device types of Roboception.\n\nArgs:\n str: Ensures that the enumeration members are also of type `str`.\n Enum: Provides the functionality of enumerations", "enum": [ "rc_visard", "rc_viscore", "blaze", "rc_test", "rc_cube" ], "title": "DeviceType", "type": "string" }, "RoboceptionFirmwareModel": { "description": "Contains all information about the current firmware settings.", "properties": { "active_image": { "$ref": "#/$defs/RoboceptionSoftwareImageModel" }, "inactive_image": { "$ref": "#/$defs/RoboceptionSoftwareImageModel" }, "next_boot_image": { "title": "Next Boot Image", "type": "string" }, "fallback_booted": { "title": "Fallback Booted", "type": "boolean" } }, "required": [ "active_image", "inactive_image", "next_boot_image", "fallback_booted" ], "title": "RoboceptionFirmwareModel", "type": "object" }, "RoboceptionPipelines": { "description": "The pipeline configuration of the roboception controller.", "properties": { "config": { "$ref": "#/$defs/RootModel_Dict_Annotated_int__Ge__Le___DeviceConfiguration__" }, "pending_changes": { "title": "Pending Changes", "type": "boolean" }, "max_pipelines": { "title": "Max Pipelines", "type": "integer" } }, "required": [ "config", "pending_changes", "max_pipelines" ], "title": "RoboceptionPipelines", "type": "object" }, "RoboceptionSoftwareImageModel": { "description": "Contains the image version as a string.", "properties": { "image_version": { "title": "Image Version", "type": "string" } }, "required": [ "image_version" ], "title": "RoboceptionSoftwareImageModel", "type": "object" }, "RootModel_Dict_Annotated_int__Ge__Le___DeviceConfiguration__": { "additionalProperties": { "$ref": "#/$defs/DeviceConfiguration" }, "title": "RootModel[Dict[Annotated[int, Ge, Le], DeviceConfiguration]]", "type": "object" } }, "required": [ "hostname", "serial", "ready", "model_name", "pipelines", "firmware", "link_speed" ] }- Fields:
-
field firmware:
RoboceptionFirmwareModel[Required]
-
field pipelines:
RoboceptionPipelines[Required]
- pydantic model voraus_roboception_app.models.RoboceptionFirmwareModel
Bases:
BaseModelContains all information about the current firmware settings.
Show JSON schema
{ "title": "RoboceptionFirmwareModel", "description": "Contains all information about the current firmware settings.", "type": "object", "properties": { "active_image": { "$ref": "#/$defs/RoboceptionSoftwareImageModel" }, "inactive_image": { "$ref": "#/$defs/RoboceptionSoftwareImageModel" }, "next_boot_image": { "title": "Next Boot Image", "type": "string" }, "fallback_booted": { "title": "Fallback Booted", "type": "boolean" } }, "$defs": { "RoboceptionSoftwareImageModel": { "description": "Contains the image version as a string.", "properties": { "image_version": { "title": "Image Version", "type": "string" } }, "required": [ "image_version" ], "title": "RoboceptionSoftwareImageModel", "type": "object" } }, "required": [ "active_image", "inactive_image", "next_boot_image", "fallback_booted" ] }- Fields:
-
field active_image:
RoboceptionSoftwareImageModel[Required]
-
field inactive_image:
RoboceptionSoftwareImageModel[Required]
- pydantic model voraus_roboception_app.models.RoboceptionPipelines
Bases:
BaseModelThe pipeline configuration of the roboception controller.
Show JSON schema
{ "title": "RoboceptionPipelines", "description": "The pipeline configuration of the roboception controller.", "type": "object", "properties": { "config": { "$ref": "#/$defs/RootModel_Dict_Annotated_int__Ge__Le___DeviceConfiguration__" }, "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": { "$ref": "#/$defs/DeviceType" } }, "required": [ "type" ], "title": "DeviceConfiguration", "type": "object" }, "DeviceType": { "description": "Enum class for the available device types of Roboception.\n\nArgs:\n str: Ensures that the enumeration members are also of type `str`.\n Enum: Provides the functionality of enumerations", "enum": [ "rc_visard", "rc_viscore", "blaze", "rc_test", "rc_cube" ], "title": "DeviceType", "type": "string" }, "RootModel_Dict_Annotated_int__Ge__Le___DeviceConfiguration__": { "additionalProperties": { "$ref": "#/$defs/DeviceConfiguration" }, "title": "RootModel[Dict[Annotated[int, Ge, Le], DeviceConfiguration]]", "type": "object" } }, "required": [ "config", "pending_changes", "max_pipelines" ] }- Fields:
- pydantic model voraus_roboception_app.models.RoboceptionSoftwareImageModel
Bases:
BaseModelContains the image version as a string.
Show JSON schema
{ "title": "RoboceptionSoftwareImageModel", "description": "Contains the image version as a string.", "type": "object", "properties": { "image_version": { "title": "Image Version", "type": "string" } }, "required": [ "image_version" ] }- Fields:
- pydantic model voraus_roboception_app.models.ServiceResponse
Bases:
BaseModelBase 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:
unify_input_data»all fields
-
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:
BaseModelAn 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 pose:
PoseModel[Required]
-
field timestamp:
TimeStampModel[Required]
- pydantic model voraus_roboception_app.models.SphereModel
Bases:
BaseModelUsed inside the RegionsOfInterestModel.
Show JSON schema
{ "title": "SphereModel", "description": "Used inside the RegionsOfInterestModel.", "type": "object", "properties": { "radius": { "title": "Radius", "type": "number" } }, "required": [ "radius" ] }- Fields:
- pydantic model voraus_roboception_app.models.TimeStampModel
Bases:
BaseModelTimestamps 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: