← Back to packages

Package intrinsic_proto.hardware.opcua_equipment

Service OpcuaEquipmentService

Message Command

Message ControlCommand

Message ControlRequest

Message ControlResponse

Message GetStatusCommand

Message GetStatusRequest

Message GetStatusResponse

Message GpioServiceConfig

Message ListCommandsRequest

Message ListCommandsResponse

Message ListSignalsRequest

Message ListSignalsResponse

Message MatchCommand

Message MatchRequest

Message MatchResponse

Message NodeConfig

Message OpcuaEquipmentConfig

Message OpcuaEquipmentGpioConfig

Message SetJointPositionTarget

Message Signal

Message SignalToNodeConfig

Message SimAction

Message SimCondition

Message SimConditionCase

Message SimConditionCases

Message WaitForJointPosition

Message WriteCommand

Services

service OpcuaEquipmentService intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Checks if the signal values read from the opcua server satisfy the condition specified in the match command.

Returns the values for the signal names specified in the status command.

Returns all the commands (control, match & status) specified in the configuration.

Returns all the human readable signals for the opcua nodes specified in the configuration.

Messages

message Command (Nested in intrinsic_proto.hardware.opcua_equipment.ListCommandsResponse ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Contains the name of the command and its human readable description.

Field Type Description
1 name string
2 description string

message ControlCommand (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Describes a command that writes values to signal names and allows waiting for the confirmation that the action was successful. Every field is optional except for description to allow the user to build complex control flows.

Field Type Description
1 description string

Human readable description of the control command.

3 wait_for_condition optional intrinsic_proto.gpio.v1.WaitForValueRequest

Optional condition to check if the control command was successful. Condition is met when the values for the signals specified here match with the values read from the opcua server.

4 on_success map<string, SignalValue>

Optional command to execute if wait_for_condition is met. This is not executed if wait_for_condition is not specified.

5 on_failure map<string, SignalValue>

Optional command to execute if wait_for_condition is not met. This is not executed if wait_for_condition is not specified.

6 sequential_commands repeated intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig.WriteCommand

Optional sequence of control commands, each of which includes node values to set along with a duration to wait after write. The commands are written in the order specified.

7 on_success_world_updates intrinsic_proto.world.ObjectWorldUpdates

Optional belief world updates to make on completion. This is executed if wait_for_condition is met or unspecified.

8 sim_wait_for_condition optional intrinsic_proto.hardware.opcua_equipment.SimCondition

Optional condition to check if the control command was successful in sim.

message ControlRequest intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 command string

Control command to invoke.

2 user_input map<string, SignalValue>

Contains desired values for signal names corresponding to the sequential commands. It is mandatory to provide these values for signals that don't have default values in the configuration of this control command. Optionally, these can be used to override the default values themselves. If a signal name appears multiple times in the sequential commands, then all the values would be overridden (and not just the first match).

3 timeout optional google.protobuf.Duration

Timeout for the control command's wait_for_condition to be met.

message ControlResponse intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 success bool

Whether the control action was successful or not.

2 failure_message optional string

Optional message containing the reason for failure (if relevant).

3 world_updates optional intrinsic_proto.world.ObjectWorldUpdates

Updates to apply to the world as a result of this control action.

message GetStatusCommand (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Describes a command to read signal names from the opcua server.

Field Type Description
1 description string

Human readable description of the command.

2 signal_names repeated string

Describes which signals to read for each status update.

message GetStatusRequest intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 command string

Status command to invoke.

message GetStatusResponse intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 status map<string, SignalValue>

Contains values read for the signals corresponding to the status command.

message GpioServiceConfig intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
oneof srv
1 config google.protobuf.Any

Config for the GPIO service that would communicate with the backend server (e.g. opcua).

2 connection_info intrinsic_proto.resources.ResourceConnectionInfo

Connection info that describes how to connect to a remote GPIO service instead of starting one.

message ListCommandsRequest intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description

message ListCommandsResponse intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 control_commands repeated intrinsic_proto.hardware.opcua_equipment.ListCommandsResponse.Command

Describes the control, match and status commands.

2 match_commands repeated intrinsic_proto.hardware.opcua_equipment.ListCommandsResponse.Command
3 status_commands repeated intrinsic_proto.hardware.opcua_equipment.ListCommandsResponse.Command

message ListSignalsRequest intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description

message ListSignalsResponse intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 inputs intrinsic_proto.hardware.opcua_equipment.ListSignalsResponse.Signal

Signals corresponding to the opcua input nodes.

2 outputs intrinsic_proto.hardware.opcua_equipment.ListSignalsResponse.Signal

Signals corresponding to the opcua output nodes.

message MatchCommand (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Describes a command that reads values from the opcua server and matches them against with given condition.

Field Type Description
1 description string

Human readable description of the command.

2 condition intrinsic_proto.gpio.v1.WaitForValueRequest

Describes the matching condition for the command. The condition is considered to be met when the values read from the opcua server match the values specified based on the matching criteria like any_of or all_of.

3 sim_condition optional intrinsic_proto.hardware.opcua_equipment.SimCondition

Describes the matching condition for the command in sim.

message MatchRequest intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 command string

Match command to invoke.

2 timeout optional google.protobuf.Duration

Timeout to wait till the match condition is met.

message MatchResponse intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 matched bool

Returns true if the match condition was successful.

message NodeConfig intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Configuration of an opcua node.

Field Type Description
1 variable_name string

Describes the name of the node variable.

message OpcuaEquipmentConfig intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 signal_config intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig.SignalToNodeConfig

Mapping from human readable signal names to opcua node variables.

2 control_commands map<string, ControlCommand>

Mapping from human readable control commands to the command specification.

3 match_commands map<string, MatchCommand>

Mapping from human readable match commands to the command specification.

4 status_commands map<string, GetStatusCommand>

Mapping from human readable status commands to the command specification.

message OpcuaEquipmentGpioConfig intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 gpio_config intrinsic_proto.hardware.opcua_equipment.GpioServiceConfig
2 opcua_equipment_config intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig

message SetJointPositionTarget (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig.WriteCommand.SimAction ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Commands a JointPositionController to move to cmd_pos.

Field Type Description
1 joint_name string
2 joint_index int32
3 cmd_pos double

message Signal (Nested in intrinsic_proto.hardware.opcua_equipment.ListSignalsResponse ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Contains the signals for the equipment.

Field Type Description
1 names repeated string

Describes the human readable name for the signal.

message SignalToNodeConfig (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Describes the mapping from human readable signal names to input & output node variables for the opcua server that are relevant for this equipment.

Field Type Description
1 inputs map<string, NodeConfig>

Node variables that can be written to.

2 outputs map<string, NodeConfig>

Node variables that can be read.

message SimAction (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig.WriteCommand ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Action to take in simulation.

Field Type Description
oneof action
1 set_joint_position_target intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig.WriteCommand.SimAction.SetJointPositionTarget

message SimCondition intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
oneof condition
1 all_of intrinsic_proto.hardware.opcua_equipment.SimCondition.SimConditionCases
2 any_of intrinsic_proto.hardware.opcua_equipment.SimCondition.SimConditionCases

message SimConditionCase intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
oneof condition
1 wait_for_joint_position intrinsic_proto.hardware.opcua_equipment.SimConditionCase.WaitForJointPosition

message SimConditionCases (Nested in intrinsic_proto.hardware.opcua_equipment.SimCondition ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Field Type Description
1 cases repeated intrinsic_proto.hardware.opcua_equipment.SimConditionCase

message WaitForJointPosition (Nested in intrinsic_proto.hardware.opcua_equipment.SimConditionCase ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Waits for the position of the given joint reported by a JointStatePublisher to be within 1e6 of wait_pos.

Field Type Description
1 joint_name string
2 joint_index int32
3 wait_pos double

message WriteCommand (Nested in intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig ) intrinsic/hardware/opcua_equipment/opcua_equipment_service.proto

Describes a command to write values to opcua server. Both signal_values and min_wait_duration are optional and independent, i.e. either can be set.

Field Type Description
1 signal_values map<string, SignalValue>

Mapping from input signal names to their desired values. Desired values can be left empty if they will be provided as part of ControlRequest's user_input field.

2 min_wait_duration optional google.protobuf.Duration

Duration to wait after setting the values (if given). It is allowed to only set the duration and not the values, which has the effect of adding a wait duration without any write.

3 sim_action repeated intrinsic_proto.hardware.opcua_equipment.OpcuaEquipmentConfig.WriteCommand.SimAction