← Back to packages

Package intrinsic_proto.icon

Message ADIOSignals

Message ADIOState

Message Acceleration

Message AnalogBlock

Message AnalogInputOutputConfig

Message AnalogSignal

Message CartState

Message CartVec6

Message CartVec6b

Message CartesianLimits

Message CartesianPositionState

Message DigitalInputOutputConfig

Message DigitalSignal

Message DioBlock

Message GenericAdioConfig

Message GenericCartesianLimitsConfig

Message GenericCartesianPositionStateConfig

Message GenericControlModeExporterConfig

Message GenericDynamicsConfig

Message GenericForceTorqueSensorConfig

Message GenericHandGuidingConfig

Message GenericHomingConfig

Message GenericInertialMeasurementUnitConfig

Message GenericJointAccelerationEstimatorConfig

Message GenericJointLimitsConfig

Message GenericJointPositionConfig

Message GenericJointPositionSensorConfig

Message GenericJointTorqueConfig

Message GenericJointTorqueSensorConfig

Message GenericJointVelocityConfig

Message GenericJointVelocityEstimatorConfig

Message GenericLinearGripperConfig

Message GenericManipulatorKinematicsConfig

Message GenericMoveOkConfig

Message GenericPartConfig

Message GenericPayloadConfig

Message GenericPayloadStateConfig

Message GenericProcessWrenchConfig

Message GenericRangeFinderConfig

Message GenericSafetyLimitsConfig

Message GenericSimpleGripperConfig

Message GenericStandaloneForceTorqueSensorConfig

Message GripperState

Message InertialMeasurementUnitState

Message JointState

Message JointStatePV

Message JointStatePVA

Message JointTrajectoryPVA

Message JointVec

Message LinearGripperState

Message PartJointState

Message PartStatus

Message Point

Message RangefinderState

Message RobotStatus

Message Rotation

Message SafetyStatus

Message Signals

Message StreamingOutput

Message StreamingOutputWithMetadata

Message Transform

Message Twist

Message Wrench

Enum ButtonStatus

Enum JointTrajectoryInterpolationType

Enum LoggingMode

Enum ModeOfSafeOperation

Enum PartControlMode

Enum RequestedBehavior

Enum SensedState

Messages

message ADIOSignals intrinsic/icon/proto/io_block.proto

Field Type Description
1 digital_input_blocks map<string, Signals>

The names of all digital input blocks.

2 digital_output_blocks map<string, Signals>

The names of all digital output blocks.

message ADIOState intrinsic/icon/proto/io_block.proto

The state of all analog and digital inputs and outputs managed by this part.

Field Type Description
1 analog_inputs map<string, AnalogBlock>

The state of all analog input blocks as 'name, AnalogBlock' pair.

2 digital_inputs map<string, DioBlock>

The state of all digital input blocks as 'name, DioBlock' pair.

3 digital_outputs map<string, DioBlock>

The state of all digital output blocks as 'name, DioBlock' pair.

4 analog_outputs map<string, AnalogBlock>

The state of all analog output blocks as 'name, AnalogBlock' pair.

message Acceleration intrinsic/icon/proto/cart_space.proto

An acceleration is a 6DOF acceleration specified in m/s^2 (x,y,z) and rad/s^2 (RX,RY,RZ).

Field Type Description
1 x double
2 y double
3 z double
4 rx double
5 ry double
6 rz double

message AnalogBlock intrinsic/icon/proto/io_block.proto

Field Type Description
1 signals map<uint32, AnalogSignal>

The state of an AnalogBlock as 'bit_index, signal' pair.

message AnalogInputOutputConfig (Nested in intrinsic_proto.icon.GenericAdioConfig ) intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 units repeated string

An analog input block has an array of fields, each with an associated unit. This repeated field contains the unit names for each such field, in order.

2 block_size int64

The size of the analog input block (i.e. the number of fields).

3 signal_names repeated string

Optional list of signal names. If provided, its size must match block_size.

message AnalogSignal intrinsic/icon/proto/io_block.proto

Field Type Description
1 unit string
2 value double

message CartState intrinsic/icon/proto/cart_space.proto

Cartesian state. Unused fields are empty.

Field Type Description
1 timepoint_nsec uint64

absolute or relative timestamp.

2 pose repeated double

7 values: x,y,z quaternion qx, qy, qz, qw

3 velocity repeated double

6 values: x,y,z,RX,RY,RZ

4 acceleration repeated double

6 values: x,y,z,RX,RY,RZ

message CartVec6 intrinsic/icon/proto/cart_space.proto

One double per cartesian DOF.

Field Type Description
1 x double
2 y double
3 z double
4 rx double
5 ry double
6 rz double

message CartVec6b intrinsic/icon/proto/cart_space.proto

One bool per cartesian DOF.

Field Type Description
1 x bool
2 y bool
3 z bool
4 rx bool
5 ry bool
6 rz bool

message CartesianLimits intrinsic/icon/proto/cart_space.proto

Cartesian limits.

Field Type Description
1 min_translational_velocity repeated double
2 max_translational_velocity repeated double
3 min_translational_acceleration repeated double
4 max_translational_acceleration repeated double
5 min_translational_jerk repeated double
6 max_translational_jerk repeated double
7 min_translational_position repeated double

units are meters or radians per s, s^2, or s^3.

8 max_translational_position repeated double
9 max_rotational_velocity double
10 max_rotational_acceleration double
11 max_rotational_jerk double

message CartesianPositionState intrinsic/icon/proto/part_status.proto

Field Type Description
1 sensed_pose optional intrinsic_proto.Pose

message DigitalInputOutputConfig (Nested in intrinsic_proto.icon.GenericAdioConfig ) intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 block_size int64

The size of the digital input/output block (i.e. the number of signals).

2 signal_names repeated string

Optional list of signal names. If provided, its size must match block_size.

message DigitalSignal intrinsic/icon/proto/io_block.proto

Field Type Description
1 value bool

message DioBlock intrinsic/icon/proto/io_block.proto

Field Type Description
1 signals map<uint32, DigitalSignal>

The state of a DioBlock as 'bit_index, signal' pair.

message GenericAdioConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
4 digital_input_blocks map<string, DigitalInputOutputConfig>

Map from digital input block name to a DigitalInputOutputConfig proto (see above).

5 digital_output_blocks map<string, DigitalInputOutputConfig>

Map from digital output block name to a DigitalInputOutputConfig proto (see above).

6 analog_input_blocks map<string, AnalogInputOutputConfig>

Map from analog input block name to an AnalogInputConfig proto (see above).

7 analog_output_blocks map<string, AnalogInputOutputConfig>

Map from analog input block name to an AnalogInputConfig proto (see above).

message GenericCartesianLimitsConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 default_cartesian_limits intrinsic_proto.icon.CartesianLimits

message GenericCartesianPositionStateConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericControlModeExporterConfig intrinsic/icon/proto/generic_part_config.proto

Empty, as there is no configuration to be done.

Field Type Description

message GenericDynamicsConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description

message GenericForceTorqueSensorConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description

message GenericHandGuidingConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericHomingConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericInertialMeasurementUnitConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 pose_in_flange_frame intrinsic_proto.Pose

message GenericJointAccelerationEstimatorConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 num_joints int64

message GenericJointLimitsConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 application_limits intrinsic_proto.JointLimits

Joint space application limits for the Part. Actions will fall back to these if a user does not provide custom limits. Custom limits must be smaller than these in every dimension, or ICON will reject them.

2 system_limits intrinsic_proto.JointLimits

Joint space system limits. These are purely informative – ICON clients must respect the application_limits above. ICON may slightly violate application_limits for performance reasons, but never violate system_limits.

message GenericJointPositionConfig intrinsic/icon/proto/generic_part_config.proto

Config values that are relevant for each feature interface.

Field Type Description
1 num_joints int64

message GenericJointPositionSensorConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 num_joints int64

message GenericJointTorqueConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 num_joints int64

message GenericJointTorqueSensorConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 num_joints int64

message GenericJointVelocityConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 num_joints int64

message GenericJointVelocityEstimatorConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 num_joints int64

message GenericLinearGripperConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 min_width_m double
2 max_width_m double
3 min_force_newton optional double
4 max_force_newton optional double
5 min_speed_meters_per_second optional double
6 max_speed_meters_per_second optional double

message GenericManipulatorKinematicsConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 skeleton intrinsic_proto.Skeleton
2 solver_key string

Inverse kinematics solver name/key.

message GenericMoveOkConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericPartConfig intrinsic/icon/proto/generic_part_config.proto

Bundles all FeatureInterface-specific config values into a single message.

Field Type Description
1 joint_position_config optional intrinsic_proto.icon.GenericJointPositionConfig
2 joint_velocity_config optional intrinsic_proto.icon.GenericJointVelocityConfig
3 joint_position_sensor_config optional intrinsic_proto.icon.GenericJointPositionSensorConfig
4 joint_velocity_estimator_config optional intrinsic_proto.icon.GenericJointVelocityEstimatorConfig
5 joint_acceleration_estimator_config optional intrinsic_proto.icon.GenericJointAccelerationEstimatorConfig
6 joint_limits_config optional intrinsic_proto.icon.GenericJointLimitsConfig

The joint_limits_config selected based on the active ModeOfSafeOperation. The safety_limits_config contains all possible limits.

7 cartesian_limits_config optional intrinsic_proto.icon.GenericCartesianLimitsConfig

The cartesian_limits_config selected based on the active ModeOfSafeOperation. The safety_limits_config contains all possible limits.

8 simple_gripper_config optional intrinsic_proto.icon.GenericSimpleGripperConfig
9 adio_config optional intrinsic_proto.icon.GenericAdioConfig
10 range_finder_config optional intrinsic_proto.icon.GenericRangeFinderConfig
11 manipulator_kinematics_config optional intrinsic_proto.icon.GenericManipulatorKinematicsConfig
12 joint_torque_config optional intrinsic_proto.icon.GenericJointTorqueConfig
13 joint_torque_sensor_config optional intrinsic_proto.icon.GenericJointTorqueSensorConfig
14 dynamics_config optional intrinsic_proto.icon.GenericDynamicsConfig
15 force_torque_sensor_config optional intrinsic_proto.icon.GenericForceTorqueSensorConfig
16 linear_gripper_config optional intrinsic_proto.icon.GenericLinearGripperConfig
17 native_hand_guiding_config optional intrinsic_proto.icon.GenericHandGuidingConfig
18 control_mode_exporter_config optional intrinsic_proto.icon.GenericControlModeExporterConfig
19 safety_limits_config optional intrinsic_proto.icon.GenericSafetyLimitsConfig
20 move_ok_config optional intrinsic_proto.icon.GenericMoveOkConfig
21 imu_config optional intrinsic_proto.icon.GenericInertialMeasurementUnitConfig
22 standalone_force_torque_sensor_config optional intrinsic_proto.icon.GenericStandaloneForceTorqueSensorConfig
23 process_wrench_config optional intrinsic_proto.icon.GenericProcessWrenchConfig
24 payload_config optional intrinsic_proto.icon.GenericPayloadConfig
25 payload_state_config optional intrinsic_proto.icon.GenericPayloadStateConfig
26 cartesian_position_state_config optional intrinsic_proto.icon.GenericCartesianPositionStateConfig
27 homing_config optional intrinsic_proto.icon.GenericHomingConfig

message GenericPayloadConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericPayloadStateConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericProcessWrenchConfig intrinsic/icon/proto/generic_part_config.proto

Empty for now.

Field Type Description

message GenericRangeFinderConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description
1 pose_in_tcp_frame intrinsic_proto.Pose

message GenericSafetyLimitsConfig intrinsic/icon/proto/generic_part_config.proto

Config values used to create a GenericConfig adjusting (GenericJointLimitsConfig and GenericCartesianLimitsConfig) for every ModeOfSafeOperation. Needs to contain limits for MODE_OF_SAFE_OPERATION_UNKNOWN as those are used as defaults.

Field Type Description
1 joint_limits_map map<string, GenericJointLimitsConfig>

The key is intrinsic_proto.icon.ModeOfSafeOperation_Name() because proto doesn't support using enum types as keys in maps.

2 cartesian_limits_map map<string, GenericCartesianLimitsConfig>

The key is intrinsic_proto.icon.ModeOfSafeOperation_Name() because proto doesn't support using enum types as keys in maps.

message GenericSimpleGripperConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description

message GenericStandaloneForceTorqueSensorConfig intrinsic/icon/proto/generic_part_config.proto

Field Type Description

message GripperState intrinsic/icon/proto/part_status.proto

Field Type Description
1 sensed_state intrinsic_proto.icon.GripperState.SensedState

message InertialMeasurementUnitState intrinsic/icon/proto/part_status.proto

Field Type Description
1 orientation intrinsic_proto.Quaternion

The sensed orientation.

2 angular_velocity intrinsic_proto.Vector3

The sensed angular velocity.

3 linear_acceleration intrinsic_proto.Vector3

The sensed linear acceleration.

message JointState intrinsic/icon/proto/joint_space.proto

Joint state. Unused fields are empty.

Field Type Description
1 timepoint_nsec uint64

absolute or relative timestamp.

2 position repeated double

Position of each joint.

3 velocity repeated double

Velocity of each joint.

4 acceleration repeated double

Acceleration of each joint.

5 torque repeated double

Torque that a joint is applying

message JointStatePV intrinsic/icon/proto/joint_space.proto

Field Type Description
1 position repeated double

Position of each joint.

2 velocity repeated double

Velocity of each joint.

message JointStatePVA intrinsic/icon/proto/joint_space.proto

Field Type Description
1 position repeated double

Position of each joint.

2 velocity repeated double

Velocity of each joint.

3 acceleration repeated double

Acceleration of each joint.

message JointTrajectoryPVA intrinsic/icon/proto/joint_space.proto

Field Type Description
1 state repeated intrinsic_proto.icon.JointStatePVA
2 time_since_start repeated google.protobuf.Duration
3 joint_dynamic_limits_check_mode intrinsic_proto.DynamicLimitsCheckMode
4 interpolation_type intrinsic_proto.icon.JointTrajectoryInterpolationType
5 cartesian_arc_length_meters repeated double

The Cartesian arc length in meters tracked by the specified joint trajectory. This is optional and can be left empty. If this field is used, it should be the same length as the time_since_start.

message JointVec intrinsic/icon/proto/joint_space.proto

One double per joint

Field Type Description
1 joints repeated double

message LinearGripperState intrinsic/icon/proto/part_status.proto

Field Type Description
1 sensed_width double

message PartJointState intrinsic/icon/proto/part_status.proto

Field Type Description
1 position_sensed optional double
2 velocity_sensed optional double
3 acceleration_sensed optional double
4 torque_sensed optional double
5 position_commanded_last_cycle optional double
6 velocity_commanded_last_cycle optional double
7 acceleration_commanded_last_cycle optional double

message PartStatus intrinsic/icon/proto/part_status.proto

Part-specific status for a part.

Field Type Description
2 timestamp_ns int64

Timestamp, in nanoseconds since the server started, when the status was obtained.

4 joint_states repeated intrinsic_proto.icon.PartJointState

The state of joints associated with this part. Each JointState of a part is not guaranteed to have identical fields. May be empty.

5 gripper_state optional intrinsic_proto.icon.GripperState

The state of the gripper associated with this part.

6 base_t_tip_sensed optional intrinsic_proto.icon.Transform

If the Part has a kinematics model, this is the transformation from the base to the tip frame of the kinematic chain.

7 wrench_at_ft optional intrinsic_proto.icon.Wrench

The wrench as sensed at the force-torque sensor, in the sensor's frame. The returned value is low-pass filtered, tared and payload compensated

8 wrench_at_tip optional intrinsic_proto.icon.Wrench

The sensed wrench (wrench_at_ft) transformed to the robot tip frame.

9 base_twist_tip_sensed optional intrinsic_proto.icon.Twist

The sensed Twist at the robot tip expressed in the base frame of the kinematic chain. WARNING: This value depends on the used kinematics solver and might not be accurate.

10 linear_gripper_state optional intrinsic_proto.icon.LinearGripperState

The state of the linear gripper associated with this part.

11 adio_state optional intrinsic_proto.icon.ADIOState

The state of all analog and digital inputs and outputs for this part.

12 current_control_mode optional intrinsic_proto.icon.PartControlMode

The currently active cyclic control mode of the part.

13 rangefinder_status optional intrinsic_proto.icon.RangefinderState

The rangefinder status.

14 inertial_measurement_unit_status optional intrinsic_proto.icon.InertialMeasurementUnitState
15 wrench_at_ft_uncompensated optional intrinsic_proto.icon.Wrench

The wrench as sensed at the force-torque sensor, in the sensor's frame. The returned value is not compensated for gravity.

16 cartesian_position_state optional intrinsic_proto.icon.CartesianPositionState
17 operational_status intrinsic_proto.icon.v1.OperationalStatus

The operational status of the part.

message Point intrinsic/icon/proto/cart_space.proto

A point in 3D space expressed as a vector with respect to some coordinate frame.

Field Type Description
1 x double
2 y double
3 z double

message RangefinderState intrinsic/icon/proto/part_status.proto

Field Type Description
1 distance double

The sensed rangefinder distance.

message RobotStatus intrinsic/icon/proto/part_status.proto

RobotStatus that is exported to the datalogger.

One PartStatus per part.

Field Type Description
2 status_map map<string, PartStatus>
3 safety_status intrinsic_proto.icon.SafetyStatus
4 wall_clock_timestamp_ns optional int64

Timestamp, in nanoseconds, of the local time on the machine when this status was generated.

This field is optional so we can internally test whether it is being set, but users can expect this field to always be populated.

5 timestamp_ns optional int64

Timestamp, in nanoseconds since the server started, when this status was generated.

This field is optional so we can internally test whether it is being set, but users can expect this field to always be populated.

6 operational_status intrinsic_proto.icon.v1.OperationalStatus

The operational status of the robot's server.

7 speed_override optional double

THe current speed override value.

message Rotation intrinsic/icon/proto/cart_space.proto

A rotation expressed as a quaternion with respect to some coordinate frame.

Field Type Description
1 qx double
2 qy double
3 qz double
4 qw double

message SafetyStatus intrinsic/icon/proto/safety_status.proto

Field Type Description
1 mode_of_safe_operation intrinsic_proto.icon.ModeOfSafeOperation
2 estop_button_status intrinsic_proto.icon.ButtonStatus
3 enable_button_status intrinsic_proto.icon.ButtonStatus
4 requested_behavior intrinsic_proto.icon.RequestedBehavior

message Signals (Nested in intrinsic_proto.icon.ADIOSignals ) intrinsic/icon/proto/io_block.proto

Field Type Description
1 signal_names repeated string

message StreamingOutput intrinsic/icon/proto/streaming_output.proto

This message omits information on the Action that the output belongs to, to reduce the bandwidth required to stream outputs to a client. This information is implicit in the parameters of the corresponding gRPC request.

Field Type Description
1 timestamp_ns int64

Time (in ns, since the server started) when the output was last written to.

3 payload google.protobuf.Any

See the corresponding ActionSignature for the type name and FileDescriptorSet needed to unpack this.

4 wall_clock_timestamp_ns int64

Time (in ns) of the local time on the machine when this output was generated. Note this will be different than then timestamp_ns (they may even tick at different rates in some scenarios!). This time is meant only to be used to correlate the outputs with other logs from the platform.

message StreamingOutputWithMetadata intrinsic/icon/proto/streaming_output.proto

Bundles some additional data with a streaming output.

Field Type Description
1 output intrinsic_proto.icon.StreamingOutput
2 action_type_name string

Information on the action that produced this output.

3 action_instance_id int64

message Transform intrinsic/icon/proto/cart_space.proto

Transform.

A transform is a concrete representation of the pose of one frame with respect to another frame. It is represented as a translation and a rotation.

For example the transform a_pose_b describes the pose of frame b with respect to frame a. The translation is the position of the origin of b's coordinate system expressed in a's coordinate system. The rotation is the orientation of b expressed in a's coordinate system.

A point Pb expressed in b's coordinate system can be premultiplied by the transform Pa = a_pose_b * Pb to get the same point Pa expressed in a's coordinate system.

A transform is represented here as a translation and a rotation. This can be converted to other representations (e.g. a 4x4 homogeneous matrix).

Field Type Description
1 pos intrinsic_proto.icon.Point

required

2 rot intrinsic_proto.icon.Rotation

required

message Twist intrinsic/icon/proto/cart_space.proto

A twist is a 6DOF velocity specified in m/s (x,y,z) and rad/s (RX,RY,RZ).

Field Type Description
1 x double
2 y double
3 z double
4 rx double
5 ry double
6 rz double

message Wrench intrinsic/icon/proto/cart_space.proto

x,y,z force and rx, ry, rz torque. Unless otherwise noted, the wrench represents the force and torque that the robot is exerting on the world, expressed in some cartesian frame. The frame used to express the wrench should be documented for each use of Wrench (it is often either the control_frame or the TIP frame of the part).

Field Type Description
1 x double
2 y double
3 z double
4 rx double
5 ry double
6 rz double

Enums

enum ButtonStatus intrinsic/icon/proto/safety_status.proto

Name Number Description
BUTTON_STATUS_UNKNOWN 0
BUTTON_STATUS_NOT_AVAILABLE 1

The button is physically not available in this setup.

BUTTON_STATUS_ENGAGED 2
BUTTON_STATUS_DISENGAGED 3

enum JointTrajectoryInterpolationType intrinsic/icon/proto/joint_space.proto

Name Number Description
INTERPOLATION_TYPE_UNSPECIFIED 0
INTERPOLATION_TYPE_CUBIC_POLYNOMIAL 1
INTERPOLATION_TYPE_QUINTIC_POLYNOMIAL 2

enum LoggingMode intrinsic/icon/proto/logging_mode.proto

Name Number Description
LOGGING_MODE_UNSPECIFIED 0
LOGGING_MODE_FULL_RATE 1

Log at every cycle.

LOGGING_MODE_THROTTLED 2

Log at a throttled rate.

enum ModeOfSafeOperation intrinsic/icon/proto/safety_status.proto

Name Number Description
MODE_OF_SAFE_OPERATION_UNKNOWN 0
MODE_OF_SAFE_OPERATION_AUTOMATIC 1
MODE_OF_SAFE_OPERATION_TEACHING_1 2
MODE_OF_SAFE_OPERATION_TEACHING_2 3
MODE_OF_SAFE_OPERATION_CONFIGURATION 4
MODE_OF_SAFE_OPERATION_UPDATING 5

enum PartControlMode intrinsic/icon/proto/part_status.proto

Name Number Description
CONTROL_MODE_UNKNOWN 0
CONTROL_MODE_CYCLIC_POSITION 1
CONTROL_MODE_CYCLIC_VELOCITY 2
CONTROL_MODE_CYCLIC_TORQUE 3
CONTROL_MODE_HAND_GUIDING 4

enum RequestedBehavior intrinsic/icon/proto/safety_status.proto

Name Number Description
REQUESTED_BEHAVIOR_UNKNOWN 0
REQUESTED_BEHAVIOR_NORMAL_OPERATION 1
REQUESTED_BEHAVIOR_SAFE_STOP_1_TIME_MONITORED 2
REQUESTED_BEHAVIOR_SAFE_STOP_2_TIME_MONITORED 3
REQUESTED_BEHAVIOR_SAFE_STOP_0 4

enum SensedState intrinsic/icon/proto/part_status.proto

Name Number Description
SENSED_STATE_UNKNOWN 0
SENSED_STATE_FREE 1
SENSED_STATE_HOLDING 2