← Back to packages

Package intrinsic_proto.perception

Service CameraServer

Message CameraConfig

Message CameraDrivers

Message CameraIdentifier

Message CameraParams

Message CameraSetting

Message CameraSettingAccess

Message CameraSettingProperties

Message CameraToRobotCalibrationResultWithMetadata

Message CaptureRequest

Message CaptureResponse

Message CaptureResult

Message CreateCameraRequest

Message CreateCameraResponse

Message CropOptions

Message DescribeCameraRequest

Message DescribeCameraResponse

Message Dimensions

Message DistortionParams

Message GainSetting

Message GenICam

Message HandEyeCalibrationRequest

Message HandEyeCalibrationResult

Message ImageBuffer

Message InputPosePair

Message IntrinsicCalibrationRequest

Message IntrinsicCalibrationResult

Message IntrinsicParams

Message ListAvailableCamerasRequest

Message ListAvailableCamerasResponse

Message MovingCameraResultPoses

Message PatternDetection

Message PatternDetectionResult

Message Photoneo

Message PoseEstimate

Message PoseEstimationResult

Message PostProcessing

Message ReadCameraSettingAccessRequest

Message ReadCameraSettingAccessResponse

Message ReadCameraSettingPropertiesRequest

Message ReadCameraSettingPropertiesResponse

Message ReadCameraSettingRequest

Message ReadCameraSettingResponse

Message SensorConfig

Message SensorConfigs

Message SensorImage

Message SensorInformation

Message StationaryCameraResultPoses

Message UpdateCameraSettingRequest

Message UpdateCameraSettingResponse

Message Vector2f

Message Vector3f

Message Vector4f

Enum DataType

Enum Encoding

Enum HandEyeCalibrationType

Enum Mode

Enum OptimizationAlgorithm

Enum PackingType

Enum PixelType

Services

service CameraServer intrinsic/perception/service/proto/camera_server.proto

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.

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.

Describes the camera and its sensors. Enumerates connected sensors.

Captures image data from the requested sensors of the specified camera.

Reads and returns the access mode of a specific setting from a camera. The function returns an error if the camera is unknown.

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.

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.

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

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.

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 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

Sixt radial 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 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 Vector2f intrinsic/perception/proto/vector.proto

Field Type Description
1 x float
2 y float

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.