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 rectangle:
Position2DModel
[Required]
-
field timestamp:
TimeStampModel
[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" ] }
-
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:
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" ] }
-
field pre_grasp_offset:
PosePositionModel
[Required]
-
field pre_grasp_offset:
- 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:
- 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" ] }
- 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 pose:
PoseModel
[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 pose:
PoseModel
[Required]
-
field timestamp:
TimeStampModel
[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 pose:
PoseModel
[Required]
-
field timestamp:
TimeStampModel
[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 pose:
PoseModel
[Required]
-
field timestamp:
TimeStampModel
[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 tcp_pose_flange:
PoseModel
[Required]
-
field tcp_pose_parent:
PoseModel
[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 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:
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 pose:
PoseModel
[Required]
-
field timestamp:
TimeStampModel
[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" ] }
- 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" ] }
- 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" ] }
- 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" ] }
-
field pose:
PoseModel
[Required]
-
field pose:
- 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" ] }
- 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" ] }
- 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:
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 » 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:
autofill_success_flag
»all fields
- 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:
- 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]
- 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:
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:
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 pose:
PoseModel
[Required]
-
field timestamp:
TimeStampModel
[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:
- 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: