Package intrinsic_proto.perception
Message
CameraSettingProperties
Message
CameraToRobotCalibrationResultWithMetadata
Message
DescribeCameraResponse
Message
HandEyeCalibrationRequest
Message
HandEyeCalibrationResult
Message
IntrinsicCalibrationRequest
Message
IntrinsicCalibrationResult
Message
ListAvailableCamerasRequest
Message
ListAvailableCamerasResponse
Message
MovingCameraResultPoses
Message
PatternDetectionResult
Message
ReadCameraSettingAccessRequest
Message
ReadCameraSettingAccessResponse
Message
ReadCameraSettingPropertiesRequest
Message
ReadCameraSettingPropertiesResponse
Message
ReadCameraSettingRequest
Message
ReadCameraSettingResponse
Message
StationaryCameraResultPoses
Message
UpdateCameraSettingRequest
Services
service CameraServer intrinsic/perception/service/proto/camera_server.proto
rpc ListAvailableCameras
Request: intrinsic_proto.perception.ListAvailableCamerasRequest
Response:
intrinsic_proto.perception.ListAvailableCamerasResponse
Returns all available cameras connected on the server side. Note: Today, the camera does not return active instances to cameras. If this functionality is required, is could be implemented by adding a 'filter' property to the ListAvailableCamerasRequest.
rpc CreateCamera
Request: intrinsic_proto.perception.CreateCameraRequest
Response:
intrinsic_proto.perception.CreateCameraResponse
Creates a camera with the specified configuration on the server side and returns a handle to it. In case the camera has already been created with the exact same configuration in the past, the function returns a handle to the existing camera. NOTE: If a user tries to create the same camera twice with different parameters, the system will return the previously created camera with the settings that were specified during its creation. The user is free to override any camera parameters.
rpc DescribeCamera
Request: intrinsic_proto.perception.DescribeCameraRequest
Response:
intrinsic_proto.perception.DescribeCameraResponse
Describes the camera and its sensors. Enumerates connected sensors.
rpc Capture
Request: intrinsic_proto.perception.CaptureRequest
Response:
intrinsic_proto.perception.CaptureResponse
Captures image data from the requested sensors of the specified camera.
rpc ReadCameraSettingAccess
Request: intrinsic_proto.perception.ReadCameraSettingAccessRequest
Response:
intrinsic_proto.perception.ReadCameraSettingAccessResponse
Reads and returns the access mode of a specific setting from a camera. The function returns an error if the camera is unknown.
rpc ReadCameraSettingProperties
Request: intrinsic_proto.perception.ReadCameraSettingPropertiesRequest
Response:
intrinsic_proto.perception.ReadCameraSettingPropertiesResponse
Read the properties of the user specified camera and setting. The function returns an error if the camera is unknown or if the setting is not supported. If specific properties of a setting are not supported, they are not added to the result. The function only returns existing properties and triggers no errors for non-existing properties as these are optional to be implemented by the camera vendors.
rpc ReadCameraSetting
Request: intrinsic_proto.perception.ReadCameraSettingRequest
Response:
intrinsic_proto.perception.ReadCameraSettingResponse
Reads and returns the current value of a specific setting from a camera. The function returns an error if the camera is unknown or if the setting is not supported.
rpc UpdateCameraSetting
Request: intrinsic_proto.perception.UpdateCameraSettingRequest
Response:
intrinsic_proto.perception.UpdateCameraSettingResponse
Update the value of a specific camera setting. The function returns an error if the camera is unknown or if the setting is not supported. Note: When updating camera parameters, beware that the modifications will apply to all instances. I.e. it will also affect all other clients who are using the same camera.
Messages
message CameraConfig intrinsic/perception/proto/camera_config.proto
Specification of a single camera. The specification includes the driver to be used, connection parameters, but also intrinsic calibration info and optional per-sensor configuration.
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
optional
string
|
Deprecated. Don't use it any more. We only keep this field for backwards compatibility of our data collections. |
| 2 | identifier |
intrinsic_proto.perception.CameraIdentifier
|
A unique identifier of a specific camera. This identifier determines which underlying driver is used to access a camera. |
| 3 | intrinsic_params |
optional
intrinsic_proto.perception.IntrinsicParams
|
Deprecated. Use sensor_configs of size one with camera_params instead. |
| 4 | distortion_params |
optional
intrinsic_proto.perception.DistortionParams
|
Deprecated. Use sensor_configs of size one with camera_params instead. |
| 5 | camera_settings |
repeated
intrinsic_proto.perception.CameraSetting
|
A list of camera settings. Camera settings are applied in the order in which they are defined. The specification of camera settings is optional. |
| 6 | sensor_configs |
repeated
intrinsic_proto.perception.SensorConfig
|
A list of per-sensor configurations. These include per-sensor calibrations and poses. The specification of sensor configurations is optional. |
message CameraDrivers intrinsic/perception/proto/camera_drivers.proto
This message declares different camera drivers. Each driver references a specific implementation which is used to control and communicate with cameras.
| Field | Type | Description |
|---|
message CameraIdentifier intrinsic/perception/proto/camera_identifier.proto
A unique identifier for a specific, physical camera.
Each driver uses a different underlying implementation and within each driver a specific hardware ID binds the identifier to a single physical camera.
| Field | Type | Description | |
|---|---|---|---|
|
oneof drivers
|
|||
| 2 | genicam |
intrinsic_proto.perception.CameraDrivers.GenICam
|
|
| 5 | photoneo |
intrinsic_proto.perception.CameraDrivers.Photoneo
|
|
| 11 | ros |
intrinsic_proto.perception.CameraDrivers.Ros
|
|
message CameraParams intrinsic/perception/proto/camera_params.proto
This proto contains information about the image size and all internal camera parameters (intrinsic and distortion parameters).
| Field | Type | Description | |
|---|---|---|---|
| 1 | intrinsic_params |
intrinsic_proto.perception.IntrinsicParams
|
The intrinsic camera parameters. If they are not presented, we are dealing with an uncalibrated camera. |
| 2 | distortion_params |
optional
intrinsic_proto.perception.DistortionParams
|
The distortion params of the camera. If they are not present, the camera is either uncalibrated or it provides undistorted images (in all likelihood synthetic one). |
message CameraSetting intrinsic/perception/proto/camera_settings.proto
This message encapsulates camera settings conforming with the GenICam Standard Features Naming Convention (SFNC).
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
The SFNC conforming feature name. |
|
oneof value
|
|||
| 2 | integer_value |
int64
|
GenICam: IInteger - maps to a slider with value, min, max, and increment |
| 3 | float_value |
double
|
GenICam: IFloat - maps to a slider with value, min, and max |
| 4 | bool_value |
bool
|
GenICam: IBoolean - maps to a check box |
| 5 | string_value |
string
|
GenICam: IString - maps to an edit box showing a string |
| 6 | enumeration_value |
string
|
GenICam: IEnumeration - maps to a drop down box |
| 7 | command_value |
google.protobuf.Empty
|
GenICam: ICommand |
message CameraSettingAccess intrinsic/perception/proto/camera_settings.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
The SFNC conforming feature name. |
| 2 | mode |
intrinsic_proto.perception.CameraSettingAccess.Mode
|
message CameraSettingProperties intrinsic/perception/proto/camera_settings.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
The SFNC conforming feature name. |
|
oneof setting_properties
|
|||
| 2 | float_properties |
intrinsic_proto.perception.v1.FloatSettingProperties
|
|
| 3 | integer_properties |
intrinsic_proto.perception.v1.IntegerSettingProperties
|
|
| 4 | enum_properties |
intrinsic_proto.perception.v1.EnumSettingProperties
|
|
message CameraToRobotCalibrationResultWithMetadata intrinsic/perception/proto/camera_to_robot_calibration_with_metadata.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | hand_eye_calibration_result |
intrinsic_proto.perception.HandEyeCalibrationResult
|
The hand eye calibration result. |
| 2 | hand_eye_calibration_request |
intrinsic_proto.perception.HandEyeCalibrationRequest
|
The hand eye calibration request. |
| 3 | camera_name |
string
|
Camera name. |
| 4 | robot_name |
string
|
Robot name. |
| 5 | calibration_object_name |
string
|
The calibration object name. |
message CaptureRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 2 | timeout |
google.protobuf.Duration
|
The timeout which is used for retrieving frames from the underlying driver implementation. If this timeout is implemented by the underlying camera driver, it will not spend more than the specified time when waiting for new frames. The timeout should be greater than the combined exposure and processing time. Processing times can be roughly estimated as a value between 10 - 50 ms. The timeout just serves as an upper limit to prevent blocking calls within the camera driver. In case of intermittent network errors users can try to increase the timeout. The default timeout (if unspecified) of 500 ms works well in common setups. |
| 3 | sensor_ids |
repeated
int64
|
Optional. Request data only for the following sensor ids (i.e. transmit mask). Empty returns all sensor images. |
| 4 | post_processing |
optional
intrinsic_proto.perception.PostProcessing
|
Additional global (applied to all sensor images) post processing options on whether the image should be undistorted, cropped, resized and encoding formats. |
| 7 | capture_result_location |
optional
intrinsic_proto.kvstore.StorageLocation
|
If set the capture result will be stored in the specified key value store location, which will also be returned instead of the capture result itself. |
| 8 | post_processing_by_sensor_id |
map<int64, PostProcessing>
|
Additional post processing options for each sensor. If present, sensor post processing options will override the global post processing options. |
| 9 | context |
optional
intrinsic_proto.data_logger.Context
|
If set, images will be logged using the passed context. It contains e.g. the IDs of skills and plans. |
|
oneof camera_handle_or_config
|
|||
| 1 | camera_handle |
string
|
Handle for the camera to capture from |
| 6 | camera_config |
intrinsic_proto.perception.CameraConfig
|
|
message CaptureResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
|
oneof response
|
|||
| 1 | capture_result |
intrinsic_proto.perception.CaptureResult
|
|
| 2 | capture_result_location |
intrinsic_proto.kvstore.StorageLocation
|
|
message CaptureResult intrinsic/perception/proto/capture_result.proto
This message represents a perception CaptureResult. A container for sensor images and any associated capture metadata.
| Field | Type | Description | |
|---|---|---|---|
| 1 | capture_at |
google.protobuf.Timestamp
|
Timestamp at which the images were captured. Value matches each sensor_image's acquisition_time, and is duplicated for capture result processing convenience. |
| 2 | sensor_images |
repeated
intrinsic_proto.perception.SensorImage
|
Images for each of the captured sensors |
| 3 | capture_duration |
optional
google.protobuf.Duration
|
Duration needed to capture all images excluding post processing like HDR. Not all camera drivers will provide it. |
message CreateCameraRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
|
oneof camera_config_or_identifier
|
|||
| 1 | camera_config |
intrinsic_proto.perception.CameraConfig
|
The configuration of the camera which should be created. |
| 2 | camera_identifier |
intrinsic_proto.perception.CameraIdentifier
|
|
message CreateCameraResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_handle |
string
|
The handle is server specific and an internal identifier for the camera. The handle format is considered to be an implementation detail and will change between different server invocations. |
message CropOptions intrinsic/perception/proto/post_processing.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | origin_x |
int32
|
|
| 2 | origin_y |
int32
|
|
| 3 | dimensions |
intrinsic_proto.perception.Dimensions
|
message DescribeCameraRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_handle |
string
|
message DescribeCameraResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_config |
intrinsic_proto.perception.CameraConfig
|
|
| 2 | sensors |
repeated
intrinsic_proto.perception.SensorInformation
|
message Dimensions intrinsic/perception/proto/dimensions.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | cols |
int32
|
Image resolution along x axis, in pixels. |
| 2 | rows |
int32
|
Image resolution along y axis, in pixels. |
message DistortionParams intrinsic/perception/proto/distortion_params.proto
Distortion model and parameters.
| Field | Type | Description | |
|---|---|---|---|
| 1 | k1 |
double
|
First radial distortion coefficient. |
| 2 | k2 |
double
|
Second radial distortion coefficient. |
| 3 | k3 |
optional
double
|
Third radial distortion coefficient. |
| 4 | p1 |
double
|
First tangetial distortion coefficient. |
| 5 | p2 |
double
|
Second tangetial distortion coefficient. |
| 6 | k4 |
optional
double
|
Fourth radial distortion coefficient. |
| 7 | k5 |
optional
double
|
Fifth radial distortion coefficient. |
| 8 | k6 |
optional
double
|
Sixth radial distortion coefficient. |
| 9 | s1 |
optional
double
|
First thin prism distortion coefficient. |
| 10 | s2 |
optional
double
|
Second thin prism distortion coefficient. |
| 11 | s3 |
optional
double
|
Third thin prism distortion coefficient. |
| 12 | s4 |
optional
double
|
Fourth thin prism distortion coefficient. |
| 13 | tx |
optional
double
|
First tilt distortion coefficient. |
| 14 | ty |
optional
double
|
Second tilt distortion coefficient. |
message GainSetting intrinsic/perception/proto/camera_settings.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | value |
double
|
message GenICam (Nested in intrinsic_proto.perception.CameraDrivers ) intrinsic/perception/proto/camera_drivers.proto
The default driver which is used when communicating with GenICam cameras (Aravis).
| Field | Type | Description | |
|---|---|---|---|
| 1 | device_id |
string
|
message HandEyeCalibrationRequest intrinsic/perception/proto/hand_eye_calibration.proto
Specifies a hand-eye-calibration setup to be solved for the missing, unknown poses.
In general, a hand-eye-calibration setup always corresponds to an alternating cycle of four transformations/poses between four reference frames A,B,C,D. Two of the poses are known (more precisely, various matching pairs are given) and the other two are constant but unknown.
A -?- B "!": known poses (input) ! ! "-?-": unknown poses (output) D -?- C
The hand-eye-calibration computes A_t_B and C_t_D from a sequence of matching pairs ((D_t_A)_1, (B_t_C)_1),...,((D_t_A)_n, (B_t_C)_n) such that, for all i: (A_t_D)_i ~= A_t_B * (B_t_C)_i * C_t_D
| Field | Type | Description | |
|---|---|---|---|
| 1 | type |
intrinsic_proto.perception.HandEyeCalibrationRequest.HandEyeCalibrationType
|
The type of calibration to perform. Depending on this type, the returned HandEyeCalibrationResult will contain a corresponding result type. |
| 2 | input_pose_pairs |
repeated
intrinsic_proto.perception.HandEyeCalibrationRequest.InputPosePair
|
The pairs of input poses to be used for the hand-eye-calibration. These have to cover all six degrees of freedom sufficiently so that the calibration result can be accurate. |
| 3 | algorithm |
intrinsic_proto.perception.HandEyeCalibrationRequest.OptimizationAlgorithm
|
|
| 4 | intrinsic_calibration_result |
optional
intrinsic_proto.perception.IntrinsicCalibrationResult
|
If the intrinsics are specified, then it will be used along with pattern detections (as defined in InputPosePair above) to estimate the new camera to object poses. This is needed in case, we are doing the intrinsics and hand eye calibration as well. The intrinsics will not be saved to the camera config by this skill, but you can use the frontend to save the camera config instead. |
message HandEyeCalibrationResult intrinsic/perception/proto/hand_eye_calibration.proto
| Field | Type | Description | |
|---|---|---|---|
| 3 | translation_root_mean_square_error |
double
|
The errors resulting from the hand-eye-calibration. The lower, the more accurate the calibration result is. |
| 4 | translation_maximum_error |
double
|
|
| 5 | rotation_root_mean_square_error_in_degrees |
double
|
|
| 6 | rotation_maximum_error_in_degrees |
double
|
|
|
oneof result_poses
|
|||
| 1 | stationary_camera_result_poses |
intrinsic_proto.perception.HandEyeCalibrationResult.StationaryCameraResultPoses
|
|
| 2 | moving_camera_result_poses |
intrinsic_proto.perception.HandEyeCalibrationResult.MovingCameraResultPoses
|
|
message ImageBuffer intrinsic/perception/proto/image_buffer.proto
An image buffer, which contains either raw and uncompressed image data or a compressed image.
| Field | Type | Description | |
|---|---|---|---|
| 1 | encoding |
intrinsic_proto.perception.Encoding
|
The image buffer's encoding. |
| 2 | pixel_type |
intrinsic_proto.perception.PixelType
|
Stores the underlying semantic pixel data which is stored in an image. |
| 3 | num_channels |
int32
|
The image's number of channels, i.e. components per pixel. |
| 4 | type |
intrinsic_proto.perception.DataType
|
The underlying data type of the pixels. |
| 5 | dimensions |
optional
intrinsic_proto.perception.Dimensions
|
The width and height (cols and rows) of an image. This parameter is optional and must be specified when images are uncompressed, i.e. when encoding is ENCODING_UNSPECIFIED. |
| 6 | data |
bytes
|
The actual underlying data. |
| 7 | packing_type |
optional
intrinsic_proto.perception.PackingType
|
The packing type of the pixels. If not present, implementations should default to PACKING_TYPE_INTERLEAVED. |
message InputPosePair (Nested in intrinsic_proto.perception.HandEyeCalibrationRequest ) intrinsic/perception/proto/hand_eye_calibration.proto
A pair of input poses corresponding to one possible state of the hand-eye-calibration setup.
| Field | Type | Description | |
|---|---|---|---|
| 2 | base_t_flange |
intrinsic_proto.Pose
|
|
|
oneof result_detection
|
|||
| 1 | camera_t_object |
intrinsic_proto.Pose
|
|
| 3 | pattern_detection |
intrinsic_proto.perception.PatternDetection
|
|
message IntrinsicCalibrationRequest intrinsic/perception/proto/intrinsic_calibration.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | pattern_detections |
repeated
intrinsic_proto.perception.PatternDetection
|
Detections of the calibration plate. |
| 2 | dimensions |
intrinsic_proto.perception.Dimensions
|
Image dimensions. |
message IntrinsicCalibrationResult intrinsic/perception/proto/intrinsic_calibration.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_params |
intrinsic_proto.perception.CameraParams
|
|
| 2 | error |
double
|
Reprojection error in pixels. |
| 3 | error_3d |
optional
double
|
3D error in m. |
message IntrinsicParams intrinsic/perception/proto/intrinsic_params.proto
Internal camera parameters such as focal length and principal point.
| Field | Type | Description | |
|---|---|---|---|
| 1 | focal_length_x |
double
|
Focal length in horizontal direction. Required. The focal length is specified in pixels. |
| 2 | focal_length_y |
double
|
Focal length in vertical direction. Required. The focal length is specified in pixels. |
| 3 | principal_point_x |
double
|
Horizontal location of the principal point in the image plane. Required. The principal point is specified in pixels. |
| 4 | principal_point_y |
double
|
Vertical location of the principal point in the image plane. Required. The principal point is specified in pixels. |
| 5 | dimensions |
intrinsic_proto.perception.Dimensions
|
The dimensions of the image plane. |
message ListAvailableCamerasRequest intrinsic/perception/service/proto/camera_server.proto
In the future, this proto may contain a filter property to specify which cameras should be returned by the function. This would allow us to differentiate between physical cameras connected to the system and cameras which are already instantiated on the server side. In addition one could add filtering options to only list cameras of a specific driver.
| Field | Type | Description |
|---|
message ListAvailableCamerasResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_identifiers |
repeated
intrinsic_proto.perception.CameraIdentifier
|
A list of unique camera identifiers. These can be used to create a CameraConfig which is required during camera creation. |
message MovingCameraResultPoses (Nested in intrinsic_proto.perception.HandEyeCalibrationResult ) intrinsic/perception/proto/hand_eye_calibration.proto
Returned poses if HandEyeCalibrationRequest.type == 'MOVING_CAMERA'.
| Field | Type | Description | |
|---|---|---|---|
| 1 | flange_t_camera |
intrinsic_proto.Pose
|
|
| 2 | base_t_object |
intrinsic_proto.Pose
|
message PatternDetection intrinsic/perception/proto/pattern_detection_result.proto
Contains the results of a pattern detection.
| Field | Type | Description | |
|---|---|---|---|
| 1 | image_points |
repeated
intrinsic_proto.perception.Vector2f
|
The detected 2D image points. |
| 2 | marker_points |
repeated
intrinsic_proto.perception.Vector3f
|
The corresponding 3D model points. |
| 3 | marker_ids |
repeated
int32
|
The corresponding marker id. Optional. Only needed for visualization purposes for Charuco boards. |
message PatternDetectionResult intrinsic/perception/proto/pattern_detection_result.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
string
|
Class id (e.g., "pattern-1234"). |
| 2 | pattern_detection |
repeated
intrinsic_proto.perception.PatternDetection
|
Pattern detection. |
message Photoneo (Nested in intrinsic_proto.perception.CameraDrivers ) intrinsic/perception/proto/camera_drivers.proto
The driver which is used to communicate with the Photoneo.
| Field | Type | Description | |
|---|---|---|---|
| 1 | device_id |
string
|
Note that the driver (PhoXiControl) must be running on the workstation to be able to connect to the Photoneo. |
message PoseEstimate intrinsic/perception/proto/pose_estimation_result.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
string
|
Class id (e.g., "marker-1234"). |
| 2 | camera_t_target |
intrinsic_proto.Pose
|
Pose of the object. |
| 3 | score |
double
|
Between 0..1. Unused in case of ground truth data. |
| 4 | visibility_score |
optional
float
|
Visibility score for the pose. Between 0..1. The visibility score indicates the proportion of the object that is visible, signifying their foreground presence. It helps in prioritizing the selection of parts during, for example, the picking process. It is defined as: Visible pixels / (Visible pixels + Occluded pixels) |
| 5 | unique_id |
optional
uint64
|
Unique ID of this pose estimate, should be unique for a given scene of objects. Useful for debugging purposes. |
message PoseEstimationResult intrinsic/perception/proto/pose_estimation_result.proto
Contains the results of a perception detector.
| Field | Type | Description | |
|---|---|---|---|
| 1 | pose_estimates |
repeated
intrinsic_proto.perception.PoseEstimate
|
|
| 2 | annotated_image |
intrinsic_proto.perception.ImageBuffer
|
Optional: Input image with overlaid pose estimations. This field will be only populated if requested in the run config. |
message PostProcessing intrinsic/perception/proto/post_processing.proto
Post processing options for requested sensor images.
Order of operations: raw image -> undistortion -> cropping -> resizing
| Field | Type | Description | |
|---|---|---|---|
| 1 | image_encoding |
intrinsic_proto.perception.Encoding
|
Specifies how the returned image should be encoded. |
| 2 | skip_undistortion |
bool
|
If true, the returned image will be distorted. If false, the returned image might be undistorted depending whether the camera has undistortion parameters defined. |
| 3 | crop |
optional
intrinsic_proto.perception.CropOptions
|
Optionally crops the image. Note that cropping happens after undistortion but before resizing. |
|
oneof resizing
|
|||
| 4 | resize |
intrinsic_proto.perception.Dimensions
|
Resize dimensions. |
| 5 | resize_width |
int32
|
Resize width. Height is set automatically to aspect ratio. |
| 6 | resize_height |
int32
|
Resize height. Width is set automatically to aspect ratio. |
message ReadCameraSettingAccessRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_handle |
string
|
The identifier of the camera from which setting access is read. |
| 2 | name |
string
|
The setting name. The setting name must be defined by the Standard Feature Naming Conventions (SFNC) which is part of the GenICam standard. |
message ReadCameraSettingAccessResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | access |
intrinsic_proto.perception.CameraSettingAccess
|
The access mode of a specific setting. |
message ReadCameraSettingPropertiesRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_handle |
string
|
The identifier of the camera from which setting properties are read. |
| 2 | name |
string
|
The setting name. The setting name must be defined by the Standard Feature Naming Conventions (SFNC) which is part of the GenICam standard. |
message ReadCameraSettingPropertiesResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | properties |
intrinsic_proto.perception.CameraSettingProperties
|
The properties of a specific setting. For numeric properties (integer and float), these include the valid range of parameters, their increment and their unit. For enumerations the properties contain the values (as strings) which can be set. |
message ReadCameraSettingRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_handle |
string
|
The identifier of the camera from which setting properties are read. |
| 2 | name |
string
|
The setting name. The setting name must be defined by the Standard Feature Naming Conventions (SFNC) which is part of the GenICam standard. |
message ReadCameraSettingResponse intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | setting |
intrinsic_proto.perception.CameraSetting
|
The current values of a specific setting. The following types of settings are supported int64, double, bool, string or an enum value. |
message Ros (Nested in intrinsic_proto.perception.CameraDrivers ) intrinsic/perception/proto/camera_drivers.proto
The default driver which is used when communicating with ROS cameras.
| Field | Type | Description | |
|---|---|---|---|
| 1 | device_id |
string
|
The device_id becomes the ROS namespace of this camera. |
| 2 | driver_type |
string
|
The driver type, used to determine the ROS service prefix. |
message SensorConfig intrinsic/perception/proto/sensor_config.proto
Specification of a single sensor within a camera. This includes intrinsic calibration (including distortion params) and sensor pose relative to the device coordinate system. Minimal specification includes sensor ID only.
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
int64
|
ComponentIDValue or 0 for GenICam, sensor number for other cameras (e.g. IPS PU) |
| 2 | camera_t_sensor |
optional
intrinsic_proto.Pose
|
Transforms the sensor data into the reference coordinate system of the camera. |
| 6 | camera_params |
optional
intrinsic_proto.perception.CameraParams
|
Sensor camera parameters. |
message SensorConfigs intrinsic/perception/proto/sensor_config.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | sensor_configs |
repeated
intrinsic_proto.perception.SensorConfig
|
message SensorImage intrinsic/perception/proto/sensor_image.proto
Contains an image from a single sensor on a multiframe camera.
| Field | Type | Description | |
|---|---|---|---|
| 1 | sensor_config |
intrinsic_proto.perception.SensorConfig
|
Configuration (calibration) for the sensor |
| 2 | acquisition_time |
google.protobuf.Timestamp
|
Timestamp at which the image was captured |
| 3 | buffer |
intrinsic_proto.perception.ImageBuffer
|
Frame data |
message SensorInformation intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
int64
|
SourceIDValue for Genicam, sensor number for other cameras (e.g. IPS PU) |
| 4 | camera_t_sensor |
optional
intrinsic_proto.Pose
|
Transforms the sensor data into the reference coordinate system of the camera. |
| 5 | supported_pixel_types |
repeated
intrinsic_proto.perception.PixelType
|
Supported pixel types |
| 6 | dimensions |
intrinsic_proto.perception.Dimensions
|
Dimensions of sensor output |
| 7 | display_name |
string
|
A human readable display name. |
| 8 | disabled |
bool
|
Is sensor currently disabled |
| 9 | factory_camera_params |
optional
intrinsic_proto.perception.CameraParams
|
Sensor camera parameters from factory |
message StationaryCameraResultPoses (Nested in intrinsic_proto.perception.HandEyeCalibrationResult ) intrinsic/perception/proto/hand_eye_calibration.proto
Returned poses if HandEyeCalibrationRequest.type == 'STATIONARY_CAMERA'.
| Field | Type | Description | |
|---|---|---|---|
| 1 | flange_t_object |
intrinsic_proto.Pose
|
|
| 2 | base_t_camera |
intrinsic_proto.Pose
|
message UpdateCameraSettingRequest intrinsic/perception/service/proto/camera_server.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | camera_handle |
string
|
The identifier of the camera on which settings are updated. |
| 2 | setting |
intrinsic_proto.perception.CameraSetting
|
The settings values which will be used to for a parameter update. |
message UpdateCameraSettingResponse intrinsic/perception/service/proto/camera_server.proto
The response for setting camera parameters. This is currently a mere placeholder for future response values.
| Field | Type | Description |
|---|
message Vector3f intrinsic/perception/proto/vector.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | x |
float
|
|
| 2 | y |
float
|
|
| 3 | z |
float
|
message Vector4f intrinsic/perception/proto/vector.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | x |
float
|
|
| 2 | y |
float
|
|
| 3 | z |
float
|
|
| 4 | w |
float
|
Enums
enum DataType intrinsic/perception/proto/image_buffer.proto
The underlying core component type of a pixel.
| Name | Number | Description |
|---|---|---|
TYPE_UNSPECIFIED |
0 | go/unspecified-enum |
TYPE_8U |
2 | uint8_t |
TYPE_16U |
3 | uint16_t |
TYPE_32U |
4 | uint32_t |
TYPE_8S |
5 | int8_t |
TYPE_16S |
6 | int16_t |
TYPE_32S |
7 | int32_t |
TYPE_32F |
8 | float |
TYPE_64F |
9 | double |
enum Encoding intrinsic/perception/proto/image_buffer.proto
How the image is encoded / compressed. An unspecified encoding corresponds to uncompressed image data.
| Name | Number | Description |
|---|---|---|
ENCODING_UNSPECIFIED |
0 | uncompressed data, go/unspecified-enum |
ENCODING_JPEG |
1 | JPG compression |
ENCODING_PNG |
2 | PNG compression |
ENCODING_WEBP |
3 | WEBP compression |
ENCODING_YUV420P |
4 | YUV420P colorspace |
enum HandEyeCalibrationType intrinsic/perception/proto/hand_eye_calibration.proto
| Name | Number | Description |
|---|---|---|
UNKNOWN |
0 | |
STATIONARY_CAMERA |
1 | The camera is stationary (fixed in world-space/relative to the robot's base). An object is attached (typically a calibration plate) to the robot's flange and was detected in the camera image from varying robot flange positions. Object -?- Flange "!": known poses (input) ! ! "-?-": unknown poses (output) Camera -?- Base |
MOVING_CAMERA |
2 | The camera is attached to the robot's flange. A stationary object (fixed in world-space/relative to the robot' base) was detected in the camera image from varying robot flange positions. Camera -?- Flange "!": known poses (input) ! ! "-?-": unknown poses (output) Object -?- Base |
enum Mode intrinsic/perception/proto/camera_settings.proto
The actual access mode, can be used as bit flags for read and write access.
| Name | Number | Description |
|---|---|---|
UNSUPPORTED |
0 | |
READ |
1 | |
WRITE |
2 | |
READ_WRITE |
3 |
enum OptimizationAlgorithm intrinsic/perception/proto/hand_eye_calibration.proto
| Name | Number | Description |
|---|---|---|
AUTO |
0 | This will default to NONLINEAR. |
SHAH |
1 | NOTYPO Mili Shah (2013): "Solving the robot-world/hand-eye calibration problem using the kronecker product." |
LI |
2 | Aiguo Li, Lin Wang, and Defeng Wu (2010): "Simultaneous robot-world and hand-eye calibration using dual-quaternions and kronecker product." |
NONLINEAR |
3 | Refines the solution from the SHAH algorithm by a Ceres-based non-linear optimization. |
TSAI |
4 | R. Tsai, R. Lenz (1989): "A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration". |
PARK |
5 | F. Park, B. Martin (1994): "Robot Sensor Calibration: Solving AX = XB on the Euclidean Group". |
HORAUD |
6 | R. Horaud, F. Dornaika (1995): "Hand-eye Calibration". |
ANDREFF |
7 | N. Andreff, R. Horaud, B. Espiau (1999): "On-line Hand-Eye Calibration". |
DANIILIDIS |
8 | K. Daniilidis (1999): "Hand-Eye Calibration Using Dual Quaternions". |
enum PackingType intrinsic/perception/proto/image_buffer.proto
The packing type specifies how the pixels are packed, whether interleaved, or planar. For single-channel images, interleaved and planar are identical.
| Name | Number | Description |
|---|---|---|
PACKING_TYPE_UNSPECIFIED |
0 | go/unspecified-enum |
PACKING_TYPE_INTERLEAVED |
1 | Pixel channels are stored interleaved, e.g., rgbrgbrgb… for RGB images. |
PACKING_TYPE_PLANAR |
2 | Pixel channels are stored in separate planes, e.g., rrrr…rrrbbb…bbbggg…ggg |
enum PixelType intrinsic/perception/proto/image_buffer.proto
The pixel type together with the data type fully specifies the concept of a pixel. It makes it possible to differentiate pixels semantically, e.g. mere intensity value (e.g. heat) vs. a depth value (i.e. distance to camera).
| Name | Number | Description |
|---|---|---|
PIXEL_UNSPECIFIED |
0 | go/unspecified-enum |
PIXEL_INTENSITY |
1 | Used for 1- and 3-channel intensity images. |
PIXEL_DEPTH |
2 | Used for depth images. |
PIXEL_POINT |
3 | Used for 3D point clouds. |
PIXEL_NORMAL |
4 | Used for normals. |