Package intrinsic_proto.world
Message
AreFootprintsCompatibleRequest
Message
AreFootprintsCompatibleResponse
Message
CollisionCheckingDebugInformation
Message
CommonCameraProperties
Message
ForceTorqueDevicePluginSpec
Message
GetCollisionSettingsRequest
Message
KinematicObjectComponent
Message
NamedJointConfiguration
Message
ObjectOrEntityReference
Message
ObjectReferenceWithEntityFilter
Message
ObjectSpecForSingleEntityObject
Message
ObjectSpecFromSceneObject
Message
RangeFinderDevicePluginSpec
Message
RobotEntityKinematicProperties
Message
ToggleCollisionsRequest
Message
TransformNodeReference
Message
TransformNodeReferenceByName
Message
UpdateCollisionSettingsRequest
Message
UpdateEntityPropertiesRequest
Message
UpdateFrameNameRequest
Message
UpdateFramePropertiesRequest
Message
UpdateKinematicObjectPropertiesRequest
Message
UpdateObjectJointRequest
Message
UpdateObjectJointsRequest
Message
UpdateObjectNameRequest
Message
UpdateObjectPropertiesRequest
Message
UpdateTransformRequest
Message
UpdateTransformResponse
Message
UpdateWorldResourcesRequest
Services
service ObjectWorldService intrinsic/world/proto/object_world_service.proto
Provides access to a managed set of world models.
Each world model is represented by a collection of objects. Each object, in turn, is a collection of entities. The entities in a world model may have different properties, but only a subset are usually valid to denote the type of entity (link, joint, frame, etc).
There is one special object, the root object, which represents the world origin. The root object contains a single root entity, which is the ancestor of all other entities. Each non-root entity has exactly one parent which is the reference for posing that entity. Objects additionally have a "base entity", which establishes a pose hierarchy of objects on top of the pose hierarchy of entities.
Frames are first-class citizens in this API. Although they are also entities in an object, they can be manipulated independently through the RPCs in this service. The consequence is that frames are expected to be dynamic while the other types of entities are expected to be set once at world authoring and not change.
All methods in this service provide mutual exclusion with respect to world operations. In other words, if two clients mutate the same world model, then the operations will be atomic but in an indeterminate order.
World methods.
These methods operate on world as a whole. Worlds are referenced by their string identifier, which is sometimes provided by the user and sometimes auto-generated.
rpc GetWorld
Request: intrinsic_proto.world.GetWorldRequest
Response:
intrinsic_proto.world.WorldMetadata
Returns the metadata about a single world.
rpc CloneWorld
Request: intrinsic_proto.world.CloneWorldRequest
Response:
intrinsic_proto.world.WorldMetadata
Clones a world and creates a new copy.
Once the cloned world is no longer needed, it should be deleted using
DeleteWorld rpc.
Swaps worlds in the service.
Deletes a world from the service.
rpc ListWorlds
Request: intrinsic_proto.world.ListWorldsRequest
Response:
intrinsic_proto.world.ListWorldsResponse
Lists the metadatas of the worlds currently stored in the world service.
rpc GetCollisionSettings
Request: intrinsic_proto.world.GetCollisionSettingsRequest
Response:
intrinsic_proto.world.CollisionSettings
Returns the current collision settings for the given world.
rpc UpdateCollisionSettings
Request: intrinsic_proto.world.UpdateCollisionSettingsRequest
Response:
intrinsic_proto.world.World
Updates the collision settings used for the given world. This will override the previous settings and will not attempt to merge anything.
rpc ToggleCollisions
Request: intrinsic_proto.world.ToggleCollisionsRequest
Response:
intrinsic_proto.world.Objects
Enables or disables collisions between two objects.
rpc GetObject
Request: intrinsic_proto.world.GetObjectRequest
Response:
intrinsic_proto.world.Object
Returns a single object.
rpc ListObjects
Request: intrinsic_proto.world.ListObjectsRequest
Response:
intrinsic_proto.world.ListObjectsResponse
Lists objects in a world.
rpc CreateObject
Request: intrinsic_proto.world.CreateObjectRequest
Response:
intrinsic_proto.world.Object
Creates a new object.
Deletes an object in the world.
rpc UpdateObjectName
Request: intrinsic_proto.world.UpdateObjectNameRequest
Response:
intrinsic_proto.world.Object
Updates the name of an object.
rpc ReparentObject
Request: intrinsic_proto.world.ReparentObjectRequest
Response:
intrinsic_proto.world.Object
Reparents an object to another parent object.
rpc UpdateObjectJoints
Request: intrinsic_proto.world.UpdateObjectJointsRequest
Response:
intrinsic_proto.world.Object
Updates the current joint positions and/or limits of an object with ObjectType==KINEMATIC_OBJECT.
rpc UpdateKinematicObjectProperties
Request: intrinsic_proto.world.UpdateKinematicObjectPropertiesRequest
Response:
intrinsic_proto.world.Object
Updates the properties stored on an object with ObjectType==KINEMATIC_OBJECT.
rpc UpdateObjectProperties
Request: intrinsic_proto.world.UpdateObjectPropertiesRequest
Response:
intrinsic_proto.world.Object
Updates advanced properties of an object.
rpc UpdateEntityProperties
Request: intrinsic_proto.world.UpdateEntityPropertiesRequest
Response:
intrinsic_proto.world.Entity
Updates properties of an entity.
Returns a single frame.
rpc ListFrames
Request: intrinsic_proto.world.ListFramesRequest
Response:
intrinsic_proto.world.ListFramesResponse
Lists frames in a world.
rpc CreateFrame
Request: intrinsic_proto.world.CreateFrameRequest
Response:
intrinsic_proto.world.Frame
Creates a new frame.
Deletes a frame.
rpc UpdateFrameName
Request: intrinsic_proto.world.UpdateFrameNameRequest
Response:
intrinsic_proto.world.Frame
Updates the name of a frame.
rpc ReparentFrame
Request: intrinsic_proto.world.ReparentFrameRequest
Response:
intrinsic_proto.world.Frame
Reparents a frame to another parent object or frame.
rpc UpdateFrameProperties
Request: intrinsic_proto.world.UpdateFramePropertiesRequest
Response:
intrinsic_proto.world.Frame
Updates properties of a frame.
rpc GetTransform
Request: intrinsic_proto.world.GetTransformRequest
Response:
intrinsic_proto.world.GetTransformResponse
Returns a transform between objects or frames.
rpc UpdateTransform
Request: intrinsic_proto.world.UpdateTransformRequest
Response:
intrinsic_proto.world.UpdateTransformResponse
Updates a transform between objects or frames.
rpc UpdateWorldResources
Request: intrinsic_proto.world.UpdateWorldResourcesRequest
Response:
intrinsic_proto.world.UpdateWorldResourcesResponse
Performs a sequence of update operations on various resources in a single world.
The update is atomic. Either all or, in case of an error, none of the given updates will be applied.
rpc AreFootprintsCompatible
Request: intrinsic_proto.world.AreFootprintsCompatibleRequest
Response:
intrinsic_proto.world.AreFootprintsCompatibleResponse
Compares footprints against each other to determine if they are compatible with respect to a given world.
rpc CompareWorlds
Request: intrinsic_proto.world.CompareWorldsRequest
Response:
intrinsic_proto.world.CompareWorldsResponse
Compares two worlds objectwise. Added, modified and removed objects are returned.
rpc SyncObject
Request: intrinsic_proto.world.SyncObjectRequest
Response:
intrinsic_proto.world.SyncObjectResponse
Syncs a object state from one world to another. The complete object with all entities is copied from the from_world to the to_world. If the object exists in the to_world, but not in the from_world, it is removed from the to_world. The synced object will keep the IDs and all parent relationships. It fails if: - The parent does not exist in the destination world. - The ID of this object already is used by another object.
If the object already exists in the destination world, it is overwritten.
Messages
message AreFootprintsCompatibleRequest intrinsic/world/proto/object_world_service.proto
Comparares each footprint in 'left_set' against each footprint in the 'right_set'. Does not compare footprints within the same set.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to be used during the check. |
| 2 | left_set |
repeated
intrinsic_proto.skills.Footprint
|
The first set of footprints to compare against the second set (see 'right_set'). |
| 3 | right_set |
repeated
intrinsic_proto.skills.Footprint
|
The second set of footprints to compare against the first set (see 'left_set'). |
| 4 | return_all_incompatible_pairs |
bool
|
If set, the result will contain all conflicting pairs, not just the first. |
message AreFootprintsCompatibleResponse intrinsic/world/proto/object_world_service.proto
Results of running the compatibility checks for two sets of footprints.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world used during the check. |
| 2 | pairs |
repeated
intrinsic_proto.world.AreFootprintsCompatibleResponse.IncompatiblePair
|
The set of incompatible pairs of footprints. If empty, then all checked pairs of footprints are compatible. |
message Camera (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
Cameras use the following convention: z forward, x right, y down (in the frame of the owning entity).
| Field | Type | Description | |
|---|---|---|---|
| 1 | properties |
intrinsic_proto.world.SensorComponent.CommonCameraProperties
|
|
| 3 | camera_plugin |
intrinsic_proto.world.SensorComponent.CameraPluginSpec
|
If present the CameraPlugin is enabled. |
message CameraPluginSpec (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 2 | camera_identifier_proto |
string
|
|
| 3 | inlined_plugin_xml |
string
|
Inlined plugin xml spec, excluding fields which are commonly edited in the world. |
message Clip (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | near |
double
|
The near clipping plane in meters. |
| 2 | far |
double
|
The far clipping plane in meters. |
message CloneWorldRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to be cloned. |
| 5 | cloned_world_id |
string
|
The desired world id for the new clone. If left empty a new ID will be generated automatically. |
| 6 | allow_overwrite |
bool
|
Whether it is ok to overwrite an existing world with a clone. Ignored if cloned_world_id is empty (the system automatically picks a new yet unused ID). |
| 7 | user_tag |
optional
string
|
Arbitrary user tag. If not set, the user tag of the base world is used. |
message Collision (Nested in intrinsic_proto.world.CollisionCheckingDebugInformation ) intrinsic/world/proto/collision_settings.proto
Represents a margin violation between an object and a collection of other objects. The right side can be a collection of objects because we merge static geometries together to perform collision checking. At that point we don't know which of the static entities is in collision.
| Field | Type | Description | |
|---|---|---|---|
| 1 | left |
intrinsic_proto.world.ObjectOrEntityReference
|
The object or entity that in collision/margin violation. |
| 2 | right |
repeated
intrinsic_proto.world.ObjectOrEntityReference
|
The object(s) or entitie (s) that are in collision/margin violation with the left object. |
| 3 | desired_margin |
double
|
The desired margin that has been violated. That is, the distance between the left object and one of the right objects is smaller than this value. |
message CollisionAction intrinsic/world/proto/collision_action.proto
The representation of what action to enforce when doing collision checking. It is applied to a pair of objects and they can either be excluded from collision checking or have a minimum distance (margin) between them.
| Field | Type | Description | |
|---|---|---|---|
|
oneof action
|
|||
| 3 | is_excluded |
bool
|
If true, the collisions will be ignored. |
| 4 | margin |
intrinsic_proto.world.CollisionMarginPair
|
If provided, the minimum margin will be to ensure that object stay some distance from each other. |
message CollisionCheckingDebugInformation intrinsic/world/proto/collision_settings.proto
Contains debug information related to the collision checking performed for a given configuration.
| Field | Type | Description | |
|---|---|---|---|
| 1 | collisions |
repeated
intrinsic_proto.world.CollisionCheckingDebugInformation.Collision
|
The margin violations that have been discovered. Note that there may be more collisions, since we return early. |
message CollisionMarginPair intrinsic/world/proto/collision_action.proto
We specify a hard margin. You can consider hard margin as the closest we allow two entities to get before we treat it as a collision. If this value is 0 then we use intersection checks, if it is greater than 0 we use proximity/distance checks.
| Field | Type | Description | |
|---|---|---|---|
| 2 | hard_margin |
float
|
The hard margin (in m) is the closest we allow two objects to get before we treat it as a collision. A negative number is considered invalid. Default is 0, meaning that objects are deemed not in collision unless they intersect. |
message CollisionRule (Nested in intrinsic_proto.world.CollisionSettings ) intrinsic/world/proto/collision_settings.proto
Rule defining the minimum_margin (or collision exclusion) between an object(s) and "anything else" or between the object(s) and the "other" provided object(s).
| Field | Type | Description | |
|---|---|---|---|
| 1 | left |
repeated
intrinsic_proto.world.ObjectOrEntityReference
|
The object(s) or entities that the rule applies to. A rule will be created between each object in 'left' and each of the objects in 'right'. |
| 2 | right |
repeated
intrinsic_proto.world.ObjectOrEntityReference
|
Optional. If not provided, the rule applies between each object specified above and "anything else". Otherwise, the rule applies between each object above, and each other object in 'right' here. |
| 5 | collision_action |
intrinsic_proto.world.CollisionAction
|
Action to enforce when doing collision checking, e.g., collision exclusion pairs or minimum margin. This rule will be applied for every pair of objects that has one entry in "left" and one entry in "right". If "right" is empty then it will apply to every pair of "left" and anything else in the world. |
message CollisionSettings intrinsic/world/proto/collision_settings.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | disable_collision_checking |
bool
|
Disables collision checking. |
| 2 | minimum_margin |
optional
double
|
The minimum distance (in m) between any pair of objects beyond which they are no longer considered in collision. The default value is 0, meaning that objects are deemed not in collision unless they intersect. This value has to be >= 0 when specified. If present, this setting just adds an object rule matching "anything" with "anything" with the margin set to minimum_margin. Therefore, this rule will take precedence over all other object rules below with lower priority (i.e. those with higher margin values). |
| 3 | collision_rules |
repeated
intrinsic_proto.world.CollisionSettings.CollisionRule
|
The rules for this collision settings instance. Allows to set rules like minimum margin and exclusion pairs for specific objects in the world. |
| 4 | collision_check_spacing |
optional
double
|
Spacing between collision checks (in the joint space of the robot). Increasing this value will speed up collision checking at the expense of possibly having small collisions on the path (in between the discrete points checked). The meaning of 'unset' may differ between use-cases. We are in the process of updating more callsites to use this parameter, so expect this list to evolve over time: * For skills/code that produce a linear trajectory, collision checking will be performed with a default spacing. Use-cases not listed will likely ignore this parameter in favor of some default behavior. |
message CommonCameraProperties (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | horizontal_fov |
double
|
Horizontal field of view in radians. |
| 2 | image |
intrinsic_proto.world.SensorComponent.Image
|
The image size and pixel format. |
| 3 | clip |
intrinsic_proto.world.SensorComponent.Clip
|
The near and far clip planes. |
| 4 | noise |
intrinsic_proto.world.SensorComponent.Noise
|
The noise model applied to generated images. |
| 5 | intrinsics |
intrinsic_proto.world.SensorComponent.Intrinsics
|
|
| 6 | distortion |
intrinsic_proto.world.SensorComponent.Distortion
|
|
| 7 | visibility_mask |
uint32
|
Visibility mask bits. For simulation use only. |
message CompareWorldsRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | base_world_id |
string
|
The base of the comparison. |
| 2 | changed_world_id |
string
|
The world with changes. |
| 3 | view |
intrinsic_proto.world.ObjectView
|
The view of the objects from both worlds. If view == FULL or BASIC, then returns the objects from both worlds with the appropriate view. |
| 4 | unique_id_mode |
intrinsic_proto.world.CompareWorldsRequest.IdentificationMode
|
message CompareWorldsResponse intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | added |
repeated
intrinsic_proto.world.ObjectReference
|
Objects added to the changed world. |
| 2 | removed |
repeated
intrinsic_proto.world.Object
|
Objects removed from the base world. |
| 3 | modified |
repeated
intrinsic_proto.world.CompareWorldsResponse.ModifiedObject
|
Objects modified in the changed world. |
| 4 | added_frames |
repeated
intrinsic_proto.world.Frame
|
Contains all frames from new objects and added frames to modified objects in the changed world. |
| 5 | removed_frames |
repeated
intrinsic_proto.world.Frame
|
Contains all frames from removed objects from the base world and removed frames from modified objects in the changed world. |
| 6 | modified_frames |
repeated
intrinsic_proto.world.CompareWorldsResponse.ModifiedFrame
|
Contains all modified frames from modified objects in the changed world. |
| 7 | base_world_objects |
repeated
intrinsic_proto.world.Object
|
Contains all objects from the base world if view == FULL. |
| 8 | changed_world_objects |
repeated
intrinsic_proto.world.Object
|
Contains all objects from the changed world if view == FULL. |
message CreateFrameRequest intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 4 | new_frame_name |
string
|
Name of the new frame to be created. Must be unique amongst all frames under the same object. |
| 5 | parent_t_new_frame |
intrinsic_proto.Pose
|
Pose of the frame in the space of the parent object's origin (if 'parent_object' is set) or frame (if 'parent_frame' is set). |
| 6 | designate_as_attachment_frame |
bool
|
If attached to an object we can mark this frame as an attachment frame when creating it. |
|
oneof attach_to
|
|||
| 2 | parent_object |
intrinsic_proto.world.ObjectReference
|
The object under which the frame shall be created. The frame will be attached to the base entity of the object. |
| 3 | parent_frame |
intrinsic_proto.world.FrameReference
|
The frame to which the new frame shall be attached to (instead of being attached directly to an object entity). The new frame will be grouped under the same object as the given frame. |
message CreateObjectRequest intrinsic/world/proto/object_world_updates.proto
Request to create an object. This is currently limited to a very simple use case: The request must specify at least one collision or visual geometry from which an object with ObjectType==PHYSICAL_OBJECT will be created which consists of a single entity and some default physics parameters.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | name |
string
|
Desired name of the created object. An error will be returned if the name is already used in the world. |
| 3 | parent_object |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
The parent object, including an entity filter specifying to which part of the parent object the created object shall be attached to. The entity filter must be set and match exactly one object entity. |
| 4 | parent_object_t_created_object |
intrinsic_proto.Pose
|
Optional pose of the created object in the space of the parent object. If left unset, the default behavior depends on the 'object_spec' case below: - 'clone_from_existing_object': If no pose is given, the new object will be created at the same position as the existing object it is cloned from. - All other cases: Defaults to identity. |
| 7 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, created object. |
| 9 | name_is_global_alias |
bool
|
If the object created will have a name that is a global alias. See Object.name_is_global_alias for more info. |
| 11 | action_for_object_entities |
intrinsic_proto.world.CollisionAction
|
If set, we will append a collision settings rule that applies between the new object entities and all other entities within the world. This is effectively 'new entities vs *'. The new rule will use the given action. |
| 13 | user_data |
map<string, Any>
|
User data to be attached to the object. NOTE: keys that are prefixed with 'FLOWSTATE_' are used internally. Users should avoid storing keys in this format. |
|
oneof object_spec
|
|||
| 5 | create_single_entity_object |
intrinsic_proto.world.ObjectSpecForSingleEntityObject
|
|
| 12 | create_from_scene_object |
intrinsic_proto.world.ObjectSpecFromSceneObject
|
|
message DeleteFrameRequest intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | frame |
intrinsic_proto.world.FrameReference
|
The frame to be deleted. |
| 3 | force |
bool
|
If set to true, any frames that are (directly or indirectly) attached to the deleted frame will also be deleted recursively. Otherwise, the request will only work if the deleted frame has no child frames attached. |
message DeleteObjectRequest intrinsic/world/proto/object_world_updates.proto
Request to delete an object including any frames that are grouped under it.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be deleted. |
| 3 | force |
bool
|
If set to true, any objects that are (directly or indirectly) attached to the deleted object will also be deleted recursively, as well as any frames attached to these objects. If set to false, the request will only work if the deleted object has no child objects. This setting does not affect the frames grouped under the deleted object itself. Those frames will always be deleted regardless of this setting. |
message DeleteWorldRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to remove |
message DepthCamera (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
Cameras use the following convention: z forward, x right, y down (in the frame of the owning entity).
| Field | Type | Description | |
|---|---|---|---|
| 1 | properties |
intrinsic_proto.world.SensorComponent.CommonCameraProperties
|
|
| 3 | camera_plugin |
intrinsic_proto.world.SensorComponent.CameraPluginSpec
|
If present the CameraPlugin is enabled. |
message Distortion (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | k1 |
double
|
1st radial distortion coefficient |
| 2 | k2 |
double
|
2nd radial distortion coefficient |
| 3 | k3 |
double
|
3rd radial distortion coefficient |
| 4 | p1 |
double
|
1st tangential distortion coefficient |
| 5 | p2 |
double
|
2nd tangential distortion coefficient |
message Entity (Nested in intrinsic_proto.world.RobotEntityKinematicProperties ) intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | entity_name |
string
|
|
| 2 | parent_t_entity |
intrinsic_proto.Pose
|
message Entity intrinsic/world/proto/object_world_service.proto
Basic building block for objects. The world consists of a tree of entities and each object consists of one or more entities that are connected to each other. I.e., each object corresponds to a subtree of the world's entities. The root object consists of exactly one entity - the root entity.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world which the entity is part of. |
| 2 | id |
string
|
Id of the entity which is unique among all resources in a world (i.e. frames, objects, entities, ...). Cannot be set by the user. Treat this as an opaque string - there are no guarantees on format, length or human-readability. |
| 3 | object |
intrinsic_proto.world.IdAndName
|
Id and name of the object the entity is part of. |
| 4 | parent_id |
string
|
Id of the parent entity to which this entity is attached. Empty for the root entity. |
| 5 | parent_t_this |
intrinsic_proto.Pose
|
Pose of this entity in the space of the parent entity. Unset for the root entity. |
| 6 | physics_component |
intrinsic_proto.world.PhysicsComponent
|
Physics properties of this entity. Unset if this entity has no physical properties (e.g., if the entity represents a joint or sensor). |
| 7 | name |
string
|
Human-readable name of the entity. Guaranteed to be non-empty and unique among all entities of an object. Allowed characters are letters, numbers, and underscore, with the first character a letter, the last a letter or a number. |
| 8 | geometry_component |
intrinsic_proto.world.GeometryComponent
|
Visual and collision geometry of this entity. Unset if this entity has no associated geometry. |
| 9 | kinematics_component |
intrinsic_proto.world.KinematicsComponent
|
Kinematics properties of this entity. Only set if this entity models the joint of a kinematic object. |
| 11 | sensor_component |
intrinsic_proto.world.SensorComponent
|
Sensor properties of this entity. Only set if this entity models the sensor of an object. |
message EntityReference intrinsic/world/proto/object_world_refs.proto
Identifies an entity within a world.
| Field | Type | Description | |
|---|---|---|---|
|
oneof entity_reference
|
|||
| 1 | id |
string
|
Id of the entity. Can be "eid_root". |
message ForceTorque (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
See: http://sdformat.org/spec?ver=1.7&elem=sensor#sensor_force_torque
| Field | Type | Description | |
|---|---|---|---|
| 1 | frame |
intrinsic_proto.world.SensorComponent.ForceTorque.Frame
|
Frame in which to report the wrench values. |
| 2 | measure_direction |
intrinsic_proto.world.SensorComponent.ForceTorque.MeasureDirection
|
Direction of the wrench measured by the sensor. |
| 3 | force_torque_device_plugin |
intrinsic_proto.world.SensorComponent.ForceTorqueDevicePluginSpec
|
|
| 4 | force_noise |
intrinsic_proto.world.SensorComponent.Noise3D
|
|
| 5 | torque_noise |
intrinsic_proto.world.SensorComponent.Noise3D
|
message ForceTorqueDevicePluginSpec (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | force_noise |
optional
intrinsic_proto.world.SensorComponent.Noise
|
|
| 2 | torque_noise |
optional
intrinsic_proto.world.SensorComponent.Noise
|
|
| 3 | filter_cutoff_freq |
optional
double
|
|
| 4 | max_force_per_axis |
optional
double
|
|
| 5 | max_torque_per_axis |
optional
double
|
message Frame intrinsic/world/proto/object_world_service.proto
A local or global reference frame that represents a pose in the world (e.g., a grasp or drop-off position, a tool frame, ... ).
Each frame is attached to a parent object, and all frames under the same object need to have unique names. The pose of a frame is relative to its parent object unless the parent object is the root object: then the frame is a "global" frame.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world which the frame is part of. |
| 2 | id |
string
|
Id of the frame which is unique among all resources in a world (i.e. frames & objects). Cannot be set by the user. Treat this as an opaque string - there are no guarantees on format, length or human-readability. |
| 3 | name |
string
|
Human-readable name of the frame. Guaranteed to be non-empty and unique among all frames under the same object. Allowed characters are letters, numbers, and underscore, with the first character a letter, the last a letter or a number. |
| 4 | object |
intrinsic_proto.world.IdAndName
|
Id and name of the parent object. Equal to {id: "root" name: "root"} if the frame is a child of the root object. The parent object contains an Entity with the same name as this Frame. |
| 5 | parent_t_this |
intrinsic_proto.Pose
|
Pose of this frame relative to its parent Object's root entity (if 'parent_frame' is empty) or Frame (if 'parent_frame' is set). Note that in the former case ( |
| 6 | parent_frame |
intrinsic_proto.world.IdAndName
|
Optional id and name of the parent frame. If not set, the frame is attached directly to one of the entities of the parent object (see 'object'). Else, if set, the frame is attached to the given parent frame. |
| 7 | child_frames |
repeated
intrinsic_proto.world.IdAndName
|
Child frames which have this frame as their parent frame and which are not attached directly to the parent object. Not sorted in any particular order. |
| 8 | object_full_path |
intrinsic_proto.world.ObjectFullPath
|
The full path from root of the parent object. |
| 9 | is_attachment_frame |
bool
|
If set then this frame is designated as an attachment frame. |
message FrameReference intrinsic/world/proto/object_world_refs.proto
Identifies a frame within a world.
| Field | Type | Description | |
|---|---|---|---|
| 3 | debug_hint |
string
|
Human readable information for debugging Example: "Created from path world.robot.gripper.workpiece.grasp" |
|
oneof frame_reference
|
|||
| 1 | id |
string
|
Id of the frame. |
| 2 | by_name |
intrinsic_proto.world.FrameReferenceByName
|
Unique combination of object name and frame name which identifies a frame. |
message FrameReferenceByName intrinsic/world/proto/object_world_refs.proto
Identifies a frame within a world by a unique combination of the name of the frame itself and the name of its parent object.
| Field | Type | Description | |
|---|---|---|---|
| 1 | object_name |
string
|
Unique name of the frame's parent object. Can be "root". |
| 2 | frame_name |
string
|
Name of the frame (which is unique among all frames under an object). |
message Friction intrinsic/world/proto/physics_component.proto
Friction parameters. This is based on what is supported by Gazebo. Next ID: 7
| Field | Type | Description | |
|---|---|---|---|
| 1 | mu |
double
|
Coefficient of friction in first friction pyramid direction. Unitless. |
| 2 | mu2 |
double
|
Coefficient of friction in second friction pyramid direction. Unitless. |
| 3 | slip1 |
double
|
Force dependent slip in first friction pyramid direction. Unit: m/s/N. |
| 4 | slip2 |
double
|
Force dependent slip in second friction pyramid direction. Unit: m/s/N. |
| 6 | fdir1 |
intrinsic_proto.Point
|
Unit vector specifying first friction pyramid direction in collision-fixed reference frame. |
message Geometry (Nested in intrinsic_proto.world.GeometryComponent ) intrinsic/world/proto/geometry_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 4 | ref_t_shape_aff |
intrinsic_proto.Matrixd
|
A 4x4 affine transform matrix from reference frame to shape |
| 6 | geometry_storage_refs |
intrinsic_proto.geometry.GeometryStorageRefs
|
Geometry storage refs is intended to be an (mostly) opaque container of references to storage objects e.g. CAS URIs. The constituent fields provide no guarantees of uniqueness. |
| 7 | options |
intrinsic_proto.world.GeometryOptions
|
Runtime options for this geometry. |
message GeometryComponent intrinsic/world/proto/geometry_component.proto
Component indicating the owning Entity has geometry (e.g. collision, visual, etc.).
| Field | Type | Description | |
|---|---|---|---|
| 2 | named_geometries |
map<string, GeometrySet>
|
Stores named geometry for this entity. Names starting with "Intrinsic_" may have special semantics. For example, geometries named "Intrinsic_Collision" and "Intrinsic_Visual" indicate the geometry used for collision detection and rendering, respectively. All other names are user-defined. It is expected that a component may contain the same geometry under different names. For example, if an entity is using the same geometry for both visualization and collision, it will be repeated under the aforementioned names. User-defined names may further repeat or distinguish geometries in user-defined ways. |
message GeometryOptions intrinsic/world/proto/geometry_component.proto
Runtime options for a Geometry.
| Field | Type | Description | |
|---|---|---|---|
| 1 | fill_inside_for_distance_queries |
optional
bool
|
If set, the octree will be filled on the inside when constructing the octree for distance queries. |
message GeometrySet (Nested in intrinsic_proto.world.GeometryComponent ) intrinsic/world/proto/geometry_component.proto
Used for the value type in proto map below.
| Field | Type | Description | |
|---|---|---|---|
| 1 | geometries |
repeated
intrinsic_proto.world.GeometryComponent.Geometry
|
Deprecated. We are in the process of migrating from this field to the named_geometries field below. On deserialization, if both geometries and named_geometries are populated, the named_geometries field will be used. On serialization, both fields will be populated such that readers of this field can still access the geometric data. Note: Do not modify this field from a GeometryComponent received from the ObjectWorldService and reuse it in another request. If you need to modify in place, consider modifying named_geometries instead. |
| 2 | named_geometries |
map<string, TransformedGeometry>
|
Map of human readable names to geometries. |
message GetCollisionSettingsRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to get the collision settings for |
message GetFrameRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
| 2 | frame |
intrinsic_proto.world.FrameReference
|
The frame to be queried. |
message GetObjectRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
| 3 | view |
intrinsic_proto.world.ObjectView
|
Requested object view. |
|
oneof object_query
|
|||
| 2 | object |
intrinsic_proto.world.ObjectReference
|
Direct reference to the object to be queried. |
| 4 | resource_handle_name |
string
|
Equipment that is associated with the object to be queried. |
| 5 | object_full_path |
intrinsic_proto.world.ObjectFullPath
|
The full path from root to the object to be queried. |
message GetTransformRequest intrinsic/world/proto/object_world_service.proto
Request to return a transform 'a_t_b' between two nodes 'node_a' and 'node_b' in the transform tree (a node can be a frame or an object). If 'node_a' or 'node_b' reference an object, the returned transform is with respect to the origin of the referenced object.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
| 2 | node_a |
intrinsic_proto.world.TransformNodeReference
|
First transform node. |
| 3 | node_b |
intrinsic_proto.world.TransformNodeReference
|
Second transform node. |
| 4 | node_a_filter |
intrinsic_proto.world.ObjectEntityFilter
|
Optional node_a filter to further specify the entity within the node. |
| 5 | node_b_filter |
intrinsic_proto.world.ObjectEntityFilter
|
Optional node_b filter to further specify the entity within the node. |
message GetTransformResponse intrinsic/world/proto/object_world_service.proto
Response with the requested transform 'a_t_b' between two nodes 'node_a' and 'node_b' in the transform tree.
| Field | Type | Description | |
|---|---|---|---|
| 1 | a_t_b |
intrinsic_proto.Pose
|
The transform between the two requested nodes 'node_a' and 'node_b'. |
message GetWorldRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
message IdAndName intrinsic/world/proto/object_world_service.proto
A reference to a world resource that includes both its resource id as well as a name (e.g., object name or frame name).
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
string
|
Id of the world resource. Non-human readable and unique within a world. |
| 2 | name |
string
|
Name of the world resource. Human readable. Might require additional context to uniquely identify a resource (e.g., the name of a frame is only unique in the context of a specific object). |
message IkSolver (Nested in intrinsic_proto.world.KinematicObjectComponent ) intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | kinematic_solver_key |
string
|
String identifier of the kinematic solver. |
| 2 | base_entity_id |
string
|
ID of the Entity that this solver uses as its base. |
| 3 | tip_entity_id |
string
|
ID of the Entity that this solver uses as its tip (i.e. the frame we want to run IK for). |
message Image (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | width |
int64
|
|
| 2 | height |
int64
|
|
| 3 | format |
intrinsic_proto.world.SensorComponent.Image.Format
|
The pixel format. |
message IncompatiblePair (Nested in intrinsic_proto.world.AreFootprintsCompatibleResponse ) intrinsic/world/proto/object_world_service.proto
Contains the index of the incompatible pair of footprints as found in the original request.
| Field | Type | Description | |
|---|---|---|---|
| 1 | left_index |
uint32
|
|
| 2 | right_index |
uint32
|
|
| 3 | reason |
google.rpc.Status
|
The reported error for this incompatibility. |
message Intrinsics (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | fx |
double
|
X focal length (in pixels) |
| 2 | fy |
double
|
Y focal length (in pixels) |
| 3 | cx |
double
|
X principal point (in pixels) |
| 4 | cy |
double
|
Y principal point (in pixels) |
message KinematicObjectComponent intrinsic/world/proto/object_world_service.proto
Details for objects with ObjectType==KINEMATIC_OBJECT.
| Field | Type | Description | |
|---|---|---|---|
| 1 | joint_positions |
repeated
double
|
Joint positions in radians (for revolute joints) or meters (for prismatic joints). |
| 3 | iso_flange_frames |
repeated
intrinsic_proto.world.IdAndName
|
Ids and names of frames which mark flanges according to the ISO 9787 standard. Not every kinematic object has flange frames, but one flange frame for every "robot arm" contained in the kinematic object can be expected. |
| 4 | named_joint_configurations |
repeated
intrinsic_proto.world.NamedJointConfiguration
|
Named joint configurations associated with this kinematic object. |
| 5 | joint_entity_ids |
repeated
string
|
Ids of the enties (see 'Object.entities') modelling the individual joints of the kinematic object. These entities are guaranteed to have a 'KinematicsComponent' (see 'Entity.kinematics_component'). The order of this field matches the joint order of 'joint_positions' and 'joint_limits'. |
| 6 | cartesian_limits |
optional
intrinsic_proto.icon.CartesianLimits
|
If set these will be the updated limits used by this kinematic object. |
| 7 | control_frequency_hz |
optional
double
|
Unused. |
| 8 | joint_system_limits |
intrinsic_proto.JointLimits
|
Joint system limits. Note that the field JointLimits.max_effort is not supported and will always be filled with zeroes. |
| 9 | joint_application_limits |
intrinsic_proto.JointLimits
|
Joint application limits. Note that the field JointLimits.max_effort is not supported and will always be filled with zeroes. Application limits may not be more liberal than system limits. |
| 10 | mounted_payload |
optional
intrinsic_proto.world.RobotPayload
|
The payload mounted to the robot. Empty if no payload is defined. |
| 11 | ik_solvers |
repeated
intrinsic_proto.world.KinematicObjectComponent.IkSolver
|
A list of IK solvers for this Object. In many cases, this has one entry. For example, a robot usually has one solver that can handle the kinematic chain from its base to its tip. In other cases this can hold multiple entries, for example one solver for each finger of a multi-finger gripper. In rare cases this can be empty, when there is no chain that the World knows how to solve inside the Object. |
| 12 | are_kinematics_updated |
optional
bool
|
If set true then it indicates that the kinematics of this object have been updated. |
message KinematicsComponent intrinsic/world/proto/kinematics_component.proto
Component indicating the owning Entity represents a DoF.
| Field | Type | Description | |
|---|---|---|---|
| 1 | motion_type |
intrinsic_proto.world.KinematicsComponent.MotionType
|
|
| 3 | raw_value |
optional
double
|
GetDof() and SetDof()-style functions operate on this value. |
| 10 | parent_t_inboard |
intrinsic_proto.Pose
|
Pose of the inboard coordinate frame in the parent object's space. |
| 11 | axis |
intrinsic_proto.Vector3
|
Axis of this joint in its local space (relative to its inboard coordinate frame). If not set, +z is used by default. |
message Lidar (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
See: http://sdformat.org/spec?ver=1.7&elem=sensor#sensor_lidar
| Field | Type | Description | |
|---|---|---|---|
| 1 | horizontal |
intrinsic_proto.world.SensorComponent.Scan
|
|
| 2 | vertical |
intrinsic_proto.world.SensorComponent.Scan
|
|
| 3 | range |
intrinsic_proto.world.SensorComponent.Range
|
|
| 4 | noise |
intrinsic_proto.world.SensorComponent.Noise
|
|
| 5 | range_finder_device_plugin |
intrinsic_proto.world.SensorComponent.RangeFinderDevicePluginSpec
|
message ListFramesRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be queried. If unset, frames for all objects in the world will be returned. |
message ListFramesResponse intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | frames |
repeated
intrinsic_proto.world.Frame
|
The requested frames. |
message ListObjectsRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be queried. |
| 2 | query_objects |
repeated
intrinsic_proto.world.ObjectReference
|
If not empty, only returns the objects that are in the given list. |
| 3 | view |
intrinsic_proto.world.ObjectView
|
Requested object view. |
message ListObjectsResponse intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | objects |
repeated
intrinsic_proto.world.Object
|
The requested objects. |
message ListWorldsResponse intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_metadatas |
repeated
intrinsic_proto.world.WorldMetadata
|
The requested worlds. |
message ModifiedFrame (Nested in intrinsic_proto.world.CompareWorldsResponse ) intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | frame |
intrinsic_proto.world.Frame
|
The frame modified |
| 2 | modification |
string
|
A human-readable string describing the modification |
message ModifiedObject (Nested in intrinsic_proto.world.CompareWorldsResponse ) intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | object |
intrinsic_proto.world.ObjectReference
|
The object modified |
| 2 | modification |
string
|
A human-readable string describing the modification |
message NamedJointConfiguration intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | name |
string
|
Name for this joint configuration which is unique under the parent kinematic object. |
| 2 | joint_positions |
repeated
double
|
Joint positions in radians (for revolute joints) or meters (for prismatic joints). |
message Noise (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | type |
intrinsic_proto.world.SensorComponent.Noise.Type
|
The type of noise. |
| 2 | mean |
double
|
The mean of the noise model distribution. |
| 3 | stddev |
double
|
The standard deviation of the noise model distribution. |
| 4 | bias_mean |
double
|
See http://sdformat.org/spec?ver=1.12&elem=sensor#x_noise for details about these variables. |
| 5 | bias_stddev |
double
|
|
| 6 | dynamic_bias_stddev |
double
|
|
| 7 | dynamic_bias_correlation_time |
double
|
|
| 8 | precision |
double
|
message Noise3D (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | x |
intrinsic_proto.world.SensorComponent.Noise
|
|
| 2 | y |
intrinsic_proto.world.SensorComponent.Noise
|
|
| 3 | z |
intrinsic_proto.world.SensorComponent.Noise
|
message Object intrinsic/world/proto/object_world_service.proto
High-level world container. An Object is part of exactly one world, has exactly one parent object, can have multiple child objects and can have multiple entities. Entities that are frames (i.e. have no other semantic information) are surfaced as first-class elements in the rest of the object world APIs.
Each world contains one special object - the root object (ObjectType==ROOT) - which is always present and has no parent.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world which the object is part of. |
| 2 | id |
string
|
Id of the object which is unique among all resources in a world (i.e. frames & objects). Equal to "root" for the root object. Cannot be set by the user. Treat this as an opaque string - other than for the root object there are no guarantees on format, length or human-readability. |
| 3 | name |
string
|
Human-readable name of the object. Guaranteed to be non-empty and unique among all objects and frames under the same parent object. If name_is_global_alias is true, guaranteed to be unique globally. Equal to "root" for the root object. Allowed characters are letters, numbers, and underscore, with the first character a letter, the last a letter or a number. |
| 4 | type |
intrinsic_proto.world.ObjectType
|
The type of the object. |
| 5 | parent |
intrinsic_proto.world.IdAndName
|
Id and name of the parent object. Empty if ObjectType==ROOT. |
| 6 | children |
repeated
intrinsic_proto.world.IdAndName
|
Ids and names of child objects. Empty if the object has no child objects. |
| 7 | frames |
repeated
intrinsic_proto.world.Frame
|
All child frames under this object, including ones that are attached
indirectly to this object via another child frame. Frames are derived from
Entities. The Entity a Frame is derived from has the same If ObjectView==BASIC, included Frame instances will only be partically populated (if ObjectView==BASIC, Frame.parent_t_this is not populated). |
| 8 | object_component |
intrinsic_proto.world.ObjectComponent
|
Only fully populated if ObjectView==FULL and ObjectType!=ROOT. It will only contain the pose if ObjectView==BASIC |
| 9 | kinematic_object_component |
intrinsic_proto.world.KinematicObjectComponent
|
Only present if ObjectView==FULL and ObjectType==KINEMATIC_OBJECT. |
| 10 | entities |
map<string, Entity>
|
The entities which make up the internal structure of the object, by Id. Only filled if ObjectView==FULL. |
| 11 | root_entity_id |
string
|
Id of the root entity of this object. If ObjectView==FULL, then this is a valid key into 'entities', else this will be empty |
| 12 | name_is_global_alias |
bool
|
If true, name is a globally unique name and can be used in an ObjectReferenceByName and for ObjectReference.by_name. |
| 13 | object_full_path |
intrinsic_proto.world.ObjectFullPath
|
The full path of this object from root. |
| 14 | parent_entity |
intrinsic_proto.world.EntityReference
|
The entity within the parent that this object is parented to. |
message ObjectComponent intrinsic/world/proto/object_world_service.proto
Details common to all objects.
| Field | Type | Description | |
|---|---|---|---|
| 2 | parent_t_this |
intrinsic_proto.Pose
|
Transform between the parent object and this frame. |
| 5 | simulation_component |
intrinsic_proto.world.SimulationComponent
|
Properties for how this object should be treated in simulation. Will not be set if there are no special properties to be considered in simulation. |
| 7 | gripper_component |
intrinsic_proto.world.GripperComponent
|
Configuration properties for this object if it is a gripper. Will not be set if the object is not a gripper resource. |
| 9 | user_data |
map<string, Any>
|
User data associated with this object.
Special keys for the user data:
- |
message ObjectEntityFilter intrinsic/world/proto/object_world_refs.proto
Selects one or more entities of an object, which are the parts of an object.
Not all objects have more than one object entity, so for a those objects all of the provided options will behave identically and select the one and only existing entity.
| Field | Type | Description | |
|---|---|---|---|
| 1 | include_base_entity |
bool
|
If true, include the base entity of an object. Has no effect if 'include_all_entities' is also set. |
| 2 | include_final_entity |
bool
|
If true, include the final entity of an object. Has no effect if 'include_all_entities' is also set. Using this on an object that does not have a unique final entity will result in an error. |
| 3 | include_all_entities |
bool
|
If true, include all entities of an object. |
| 4 | entity_references |
repeated
intrinsic_proto.world.EntityReference
|
An entity to include from the object. |
| 5 | entity_names |
repeated
string
|
An entity to include from the object based on its name |
message ObjectFullPath intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | object_names |
repeated
string
|
The list of object names from the root object(excluding root) to the addressed object(including addressed object). An empty list indicates the root object. |
message ObjectOrEntityReference intrinsic/world/proto/collision_settings.proto
Wrapper around using an Object or an Entity reference with the Collision rule below.
| Field | Type | Description | |
|---|---|---|---|
|
oneof type
|
|||
| 1 | object |
intrinsic_proto.world.ObjectReference
|
|
| 2 | entity |
intrinsic_proto.world.EntityReference
|
|
| 3 | object_with_filter |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
|
message ObjectReference intrinsic/world/proto/object_world_refs.proto
Identifies an object within a world.
| Field | Type | Description | |
|---|---|---|---|
| 3 | debug_hint |
string
|
Human readable information for debugging Example: "Created from path world.robot.gripper.workpiece" |
|
oneof object_reference
|
|||
| 1 | id |
string
|
Id of the object. Can be "root". Generally not stable for objects other than "root", strongly prefer by_name. |
| 2 | by_name |
intrinsic_proto.world.ObjectReferenceByName
|
Unique name of the object. |
message ObjectReferenceByName intrinsic/world/proto/object_world_refs.proto
Identifies an object within a world by means of its unique name.
| Field | Type | Description | |
|---|---|---|---|
| 1 | object_name |
string
|
Unique name of the object. Can be "root". |
message ObjectReferenceWithEntityFilter intrinsic/world/proto/object_world_refs.proto
References one or more object entities of a specific object.
| Field | Type | Description | |
|---|---|---|---|
| 1 | reference |
intrinsic_proto.world.ObjectReference
|
Reference to the object. |
| 2 | entity_filter |
intrinsic_proto.world.ObjectEntityFilter
|
The entity filter to be applied to the object. |
message ObjectSpecForSingleEntityObject intrinsic/world/proto/object_world_updates.proto
Specifies the properties for a simple single-entity object.
| Field | Type | Description | |
|---|---|---|---|
| 3 | geometry_component |
intrinsic_proto.world.GeometryComponent
|
The geometry component associated with the object's entity. |
| 4 | entity_local_name |
string
|
message ObjectSpecFromSceneObject intrinsic/world/proto/object_world_updates.proto
Specifies to create an object by instantiating a SceneObject.
| Field | Type | Description | |
|---|---|---|---|
| 1 | scene_object |
intrinsic_proto.scene_object.v1.SceneObject
|
SceneObject to be used to create the object. |
| 2 | user_data |
map<string, string>
|
Additional user data to be attached to the object. NOTE: keys that are prefixed with 'FLOWSTATE_' are used internally. Users should avoid storing keys in this format. |
message ObjectWorldUpdate intrinsic/world/proto/object_world_updates.proto
A single update to an object world resource such as a frame or object.
message ObjectWorldUpdates intrinsic/world/proto/object_world_updates.proto
A sequence of ObjectWorldUpdate's that can, e.g., be included in a batch-update operation (see UpdateWorldResources()) or be stored somewhere.
| Field | Type | Description | |
|---|---|---|---|
| 1 | updates |
repeated
intrinsic_proto.world.ObjectWorldUpdate
|
message Objects intrinsic/world/proto/object_world_service.proto
A sequence of multiple objects.
| Field | Type | Description | |
|---|---|---|---|
| 1 | objects |
repeated
intrinsic_proto.world.Object
|
The objects. |
message PhysicsComponent intrinsic/world/proto/physics_component.proto
Component indicating the owning Entity has physics properties releveant to our modeling. Next tag: 11
| Field | Type | Description | |
|---|---|---|---|
| 1 | mass_kg |
double
|
Mass of the owning Entity in kilograms. |
| 5 | friction |
intrinsic_proto.world.Friction
|
Surface friction parameters. |
| 6 | torsional |
intrinsic_proto.world.Torsional
|
Torsional friction parameters. |
| 7 | contact_kp |
double
|
Dynamically "stiffness"-equivalent coefficient for contact joints. |
| 8 | contact_kd |
double
|
Dynamically "damping"-equivalent coefficient for contact joints. |
| 9 | this_t_center_of_mass |
intrinsic_proto.Pose
|
Pose of the center of mass in the owning Entity's space. |
| 10 | inertia |
intrinsic_proto.Matrixd
|
Inertia matrix. |
message Range (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | min_distance |
double
|
The minimum distance for each lidar ray. |
| 2 | max_distance |
double
|
The maximum distance for each lidar ray. |
| 3 | resolution |
double
|
Linear resolution of each lidar ray. |
message RangeFinderDevicePluginSpec (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
Empty
| Field | Type | Description |
|---|
message ReparentFrameRequest intrinsic/world/proto/object_world_updates.proto
Request to reparent a frame and all of its child frames to a new parent object or frame. The global pose (="root_t_this") of the reparented frames remains unaffected.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | frame |
intrinsic_proto.world.FrameReference
|
The frame to be reparented. |
|
oneof attach_to
|
|||
| 3 | parent_object |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
The object under which the frame shall be grouped and a entity filter specifying to which part of the object the frame shall be attached to. The entity filter must match exactly one object entity. |
| 4 | parent_frame |
intrinsic_proto.world.FrameReference
|
The parent frame to which the frame shall be attached to (instead of being attached directly to an object entity). The frame will be grouped under the same object as the given parent frame. |
message ReparentObjectRequest intrinsic/world/proto/object_world_updates.proto
Request to reparent an object to a new parent object. The global pose of the reparented object (="root_t_object") will remain unaffected while the relative pose of the object to its parent object (="parent_t_this") will usually change.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be reparented (needs to have ObjectType!=ROOT). |
| 3 | new_parent |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
DEPRECATED: use parent_object instead. |
| 4 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, reparented object. |
|
oneof attach_to
|
|||
| 5 | parent_object |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
The object under which the frame shall be parented, including a entity filter specifying to which part of the parent object the child object shall be attached to. The entity filter must be set and match exactly one object entity |
| 6 | parent_frame |
intrinsic_proto.world.FrameReference
|
The frame to which the object shall be attached to. The new object will be parented under the same object as the given frame. |
message RobotEntityKinematicProperties intrinsic/world/proto/object_world_updates.proto
Specifies kinematic properties of an object with an object with type
ObjectType==KINEMATIC_OBJECT. Specifically, each entry in entities
specifies the local name of either a joint or link entity and that entity's
transformation with respect to its parent.
| Field | Type | Description | |
|---|---|---|---|
| 1 | entities |
repeated
intrinsic_proto.world.RobotEntityKinematicProperties.Entity
|
message RobotKinematicsUpdate intrinsic/world/proto/object_world_updates.proto
Specifies changes to the kinematics related properties of an object with type
ObjectType==KINEMATIC_OBJECT. Specifically, one can change the relations
between entities with robot_entity_updates as well as specify a new
ik_solver_key to be used.
| Field | Type | Description | |
|---|---|---|---|
| 1 | robot_entity_updates |
optional
intrinsic_proto.world.RobotEntityKinematicProperties
|
Updates to be made to entities that belong to the kinematic object. |
| 2 | ik_solver_key |
string
|
Replaces the existing solver key for all solvable frames. |
message RobotPayload intrinsic/world/proto/robot_payload.proto
Payload of a robot.
| Field | Type | Description | |
|---|---|---|---|
| 1 | mass_kg |
double
|
Mass of the robot payload. Unit is kg. |
| 2 | tip_t_cog |
intrinsic_proto.Pose
|
Center of gravity of the robot payload relative to the robot flange/tip frame. |
| 3 | inertia |
intrinsic_proto.Matrixd
|
3x3 symmetric inertia matrix of the robot payload expressed about the link center of mass. Unit is kg*m^2. |
message Scan (Nested in intrinsic_proto.world.SensorComponent ) intrinsic/world/proto/sensor_component.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | samples |
uint32
|
The number of simulated lidar rays to generate per complete laser sweep cycle. |
| 2 | resolution |
double
|
This number is multiplied by samples to determine the number of range data points returned. If resolution is less than one, range data is interpolated. If resolution is greater than one, range data is averaged. |
| 3 | min_angle |
double
|
|
| 4 | max_angle |
double
|
message SensorComponent intrinsic/world/proto/sensor_component.proto
Component indicating the owning Entity is a sensor (e.g. camera).
Next tag: 11
| Field | Type | Description | |
|---|---|---|---|
|
oneof type_oneof
|
|||
| 4 | camera |
intrinsic_proto.world.SensorComponent.Camera
|
|
| 5 | depth_camera |
intrinsic_proto.world.SensorComponent.DepthCamera
|
|
| 6 | force_torque |
intrinsic_proto.world.SensorComponent.ForceTorque
|
|
| 9 | lidar |
intrinsic_proto.world.SensorComponent.Lidar
|
|
message SimulationComponent intrinsic/world/proto/simulation_component.proto
Component indicating how the owning Entity (or the object/collection represented by the owning entity) should be treated in simulation.
| Field | Type | Description | |
|---|---|---|---|
| 1 | is_static |
bool
|
If true, the entity or object is immovable (not affected by physics during simulation.). |
message SwapWorldRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to swap. |
| 2 | target_world_id |
string
|
The id of the world with which to swap. |
message SyncObjectRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | from_world_id |
string
|
World the object is located in. |
| 2 | to_world_id |
string
|
World the object should be synced to. |
|
oneof resource_type
|
|||
| 3 | object |
intrinsic_proto.world.ObjectReference
|
The object to sync. |
| 4 | frame |
intrinsic_proto.world.FrameReference
|
The frame to sync. |
message ToggleCollisionsRequest intrinsic/world/proto/object_world_updates.proto
Request to enable or disable collisions between two objects.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | toggle_mode |
intrinsic_proto.world.ToggleMode
|
Whether to enable or disable collisions. If collisions are already enabled/ disabled (as desired) the operation will be a no-op and will succeed. |
| 3 | object_a |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
The first object, including a entity filter specifying for which entities collisions should be enabled/disabled. The entity filter must be set and should match at least one object entity. |
| 5 | object_b |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
The second object, including a entity filter specifying for which entities collisions should be enabled/disabled. The entity filter must be set and should match at least one object entity. |
| 8 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned objects with changed collision properties. |
message Torsional intrinsic/world/proto/physics_component.proto
Torsional friction parameters. This is based on what is supported by classic Gazebo. Next ID: 6
| Field | Type | Description | |
|---|---|---|---|
| 1 | coefficient |
double
|
Torsional friction coefficient, unitless. |
| 2 | use_patch_radius |
bool
|
|
| 3 | patch_radius |
double
|
Radius of contact patch surface. Used when "use_patch_radius" is true. |
| 4 | surface_radius |
double
|
Surface radius on the point of contact. Used when "use_patch_radius" is false. |
| 5 | ode_slip |
double
|
Force dependent slip for torsional friction. Physics engines other than ODE might ignore it. |
message TransformNodeReference intrinsic/world/proto/object_world_refs.proto
Identifies a node in the transform tree of the world which can either be an
object or a frame. Options are:
- The root object (= the world origin)
Example to reference the root object:
id: "root"
- A child frame of the root object (= a global frame)
Example to a global frame "pregrasp" which is child of root:
by_name {
frame {
object_name: "root"
frame_name: "pregrasp"
}
}
- A non-root object (= the origin/base of a robot, camera, workpiece, ...)
Example to access an object "connector" which is child of root:
by_name {
object {
object_name: "camera"
}
}
- A child frame of a non-root object (= a local frame)
Example to a frame "tool_frame" which is child of the object "gripper":
by_name {
frame {
object_name: "gripper"
frame_name: "tool_frame"
}
}
| Field | Type | Description | |
|---|---|---|---|
| 3 | debug_hint |
string
|
Human readable information for debugging Example: "Created from path world.robot.gripper.workpiece" |
|
oneof transform_node_reference
|
|||
| 1 | id |
string
|
Id of the object or frame from the shared id-namespace. Can be "root". IDs other than root are generally not long-term stable, prefer to reference by name. |
| 2 | by_name |
intrinsic_proto.world.TransformNodeReferenceByName
|
Combination of name(s) that uniquely identifies an object or a frame. |
message TransformNodeReferenceByName intrinsic/world/proto/object_world_refs.proto
Identifies a node in the transform tree of the world by a combination of name(s) that uniquely identifies an object or a frame. Example for an object:
object {
object_name: "gripper"
}
Example for a frame "tool_frame" that belongs to an object "gripper":
frame {
object_name: "gripper"
frame_name: "tool_frame"
}
| Field | Type | Description | |
|---|---|---|---|
|
oneof transform_node_reference_by_name
|
|||
| 1 | object |
intrinsic_proto.world.ObjectReferenceByName
|
Unique name of an object. |
| 2 | frame |
intrinsic_proto.world.FrameReferenceByName
|
Unique combination of object name and frame name which identifies a frame. |
message UpdateCollisionSettingsRequest intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to update |
|
oneof type
|
|||
| 2 | collision_settings |
intrinsic_proto.world.CollisionSettings
|
The collision settings to use with the given world. Overrides any previous settings that were used with the world. |
message UpdateEntityPropertiesRequest intrinsic/world/proto/object_world_updates.proto
Request to update advanced properties of an entity such as its optional components.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | entity |
intrinsic_proto.world.ObjectReferenceWithEntityFilter
|
The entity to be updated. |
| 3 | physics_component |
intrinsic_proto.world.PhysicsComponent
|
If set, updates the object's physics component to the given one. It is an error to set this if the associated entity does not already have a physics component. |
| 4 | geometry_component |
intrinsic_proto.world.GeometryComponent
|
If set, updates the object's geometry component to the given one. It is an error to set this if the associated entity does not already have a geometry component. |
| 5 | collision_action |
intrinsic_proto.world.CollisionAction
|
DEPRECATED. Use 'UpdateCollisionSettingsRequest' instead |
message UpdateFrameNameRequest intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | frame |
intrinsic_proto.world.FrameReference
|
The frame to be updated. |
| 3 | name |
string
|
The new name for the frame. Must be unique within all frames under the parent object. For allowed characters see Frame.name. |
message UpdateFramePropertiesRequest intrinsic/world/proto/object_world_updates.proto
Request to update advanced properties of a frame such as its attachment frame designation. Next tag: 4
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | frame |
intrinsic_proto.world.FrameReference
|
The frame to be updated. |
| 3 | is_attachment_frame |
google.protobuf.BoolValue
|
If present, will set the value of the attachment frame designation for this frame. |
message UpdateKinematicObjectPropertiesRequest intrinsic/world/proto/object_world_updates.proto
Request to update the properties for an object with ObjectType==KINEMATIC_OBJECT.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be updated. Must have ObjectType==KINEMATIC_OBJECT. |
| 3 | named_joint_configurations_to_remove |
repeated
string
|
Names of joint configurations that should be removed. An error will be returned if no existing, matching joint configuration can be found. |
| 4 | named_joint_configurations_to_set |
repeated
intrinsic_proto.world.NamedJointConfiguration
|
Named joint configurations that should be updated. Existing named configurations with equal names will be overridden. For non-existing names new configurations will be added. |
| 5 | cartesian_limits |
intrinsic_proto.icon.CartesianLimits
|
If set these will be the updated limits to use. |
| 7 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, updated kinematic object. |
| 8 | mounted_payload |
optional
intrinsic_proto.world.RobotPayload
|
The payload attached to the robot flange. |
| 9 | robot_kinematics_update |
optional
intrinsic_proto.world.RobotKinematicsUpdate
|
All updates to be made to the robot chain. |
message UpdateObjectJointRequest intrinsic/world/proto/object_world_updates.proto
Request to update a single joint of an object.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be updated. Must have ObjectType==KINEMATIC_OBJECT. |
| 3 | joint_position |
optional
double
|
New joint positions in degrees (for revolute joints) or meters (for prismatic joints) that should be applied. |
| 6 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, updated kinematic object. |
| 7 | joint_name |
string
|
The name of the joint to be updated. |
message UpdateObjectJointsRequest intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be updated. Must have ObjectType==KINEMATIC_OBJECT. |
| 3 | joint_positions |
repeated
double
|
If non-empty, new joint positions in degrees (for revolute joints) or meters (for prismatic joints) that should be applied. At least one of 'joint_positions' and 'joint_limits' must be set. |
| 4 | joint_application_limits |
intrinsic_proto.JointLimitsUpdate
|
If set, new joint application limits that should be applied. At least one of 'joint_positions', 'joint_application_limits', 'joint_system_limits' must be set. |
| 5 | joint_system_limits |
intrinsic_proto.JointLimitsUpdate
|
If set, new joint system limits that should be applied. At least one of 'joint_positions', 'joint_application_limits', 'joint_system_limits' must be set. |
| 6 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, updated kinematic object. |
| 7 | joint_names |
repeated
string
|
If non empty, the joint names will be used to generate the correct ordering for the 'joint_position', 'joint_application_limits' and 'joint_system_limits' fields. |
message UpdateObjectNameRequest intrinsic/world/proto/object_world_updates.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be updated. |
| 3 | name |
string
|
The new name for the object. For allowed characters see Object.name. |
| 4 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, updated object. |
| 5 | name_is_global_alias |
bool
|
If set to true, the new object name will be enforced to be unique among all other objects which have 'name_is_global_alias' enabled and can be used in an ObjectReferenceByName or in ObjectReference.by_name. If set to false, the new object name will still be enforced to be unique within its parent object's namespace among sibling frames and objects. |
message UpdateObjectPropertiesRequest intrinsic/world/proto/object_world_updates.proto
Request to update advanced properties of an object such as its optional components.
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | object |
intrinsic_proto.world.ObjectReference
|
The object to be updated. |
| 3 | simulation_component |
intrinsic_proto.world.SimulationComponent
|
If set, updates the object's simulation component to the given one. Creates a new simulation component if none exists or otherwise overrides the existing simulation component. |
| 5 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, updated object. |
| 10 | user_data |
intrinsic_proto.world.UpdateUserData
|
If set, updates the object's user data using the specified policy. |
message UpdateTransformRequest intrinsic/world/proto/object_world_updates.proto
Request to update the transform 'a_t_b' between 'node_a' and 'node_b' in the transform tree (a node can be a frame or an object). If 'node_a' or 'node_b' reference an object, the returned transform is with respect to the origin (root entity) of the referenced object.
If 'node_a' and 'node_b' are not neighbors in the transform tree (i.e. 'node_a' is not a child of 'node_b' and 'node_b' is not a child of 'node_a'), then only the pose between the given node 'node_to_update' and its parent is updated so that the overall transform 'a_t_b' matches the desired one. Note, the 'node_to_update' must be an ancestor of either 'node_a' or 'node_b', but not both.
'node_a' and 'node_b' may be further refined within the object to include entities that are neither the root entity nor a frame. In this case, if 'node_to_update' is unset, then the child node between 'node_a' and 'node_b' must either be the root entity of an object or a frame. Next ID: 10
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
Id of the world to be updated. |
| 2 | node_a |
intrinsic_proto.world.TransformNodeReference
|
First transform node. |
| 3 | node_b |
intrinsic_proto.world.TransformNodeReference
|
Second transform node. |
| 4 | node_to_update |
intrinsic_proto.world.TransformNodeReference
|
Transform node whose pose (between itself and its parent) shall be updated. May be unset if 'node_a' and 'node_b' are neighbors in the transform tree, then the pose of the child node will be updated. Must not be set to an ancestor of both 'node_a' and 'node_b'. |
| 5 | a_t_b |
intrinsic_proto.Pose
|
The desired transform between the two nodes 'node_a' and 'node_b' or their respective entity based on the given filters. |
| 6 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned, updated object in case the update node is an object (see 'node_to_update'). |
| 7 | node_a_filter |
intrinsic_proto.world.ObjectEntityFilter
|
Optional node_a filter to further specify the entity within the node. |
| 8 | node_b_filter |
intrinsic_proto.world.ObjectEntityFilter
|
Optional node_b filter to further specify the entity within the node. |
message UpdateTransformResponse intrinsic/world/proto/object_world_service.proto
Response after updating a transform.
| Field | Type | Description | |
|---|---|---|---|
|
oneof updated_node
|
|||
| 1 | object |
intrinsic_proto.world.Object
|
If set, populated according to the requested object view. |
| 2 | frame |
intrinsic_proto.world.Frame
|
If set, always fully populated. |
message UpdateUserData intrinsic/world/proto/user_data.proto
Description of how to update the object's user data.
| Field | Type | Description | |
|---|---|---|---|
| 1 | user_data |
map<string, Any>
|
|
| 2 | policy |
intrinsic_proto.world.UpdateUserData.UpdateUserDataPolicy
|
message UpdateWorldResourcesRequest intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_updates |
intrinsic_proto.world.ObjectWorldUpdates
|
A sequence of world updates which will be applied in the given order. All updates must not have any world_id set. Each update must be relative to the world state that has to be expected after all previous updates in the sequence have been applied. E.g. { updates: { update_object_name: { object: { by_name: { object_name:"first_name" } } new_name: "second_name" } } updates: { update_object_name: { object: { by_name: { object_name:"second_name" } } # not "first_name" new_name: "third_name" } } } |
| 2 | view |
intrinsic_proto.world.ObjectView
|
Requested object view for the returned objects. |
| 3 | world_id |
string
|
Id of the world to be updated. |
message UpdateWorldResourcesResponse intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | objects |
repeated
intrinsic_proto.world.Object
|
All objects in the world, including the updated ones. |
| 2 | collision_settings |
intrinsic_proto.world.CollisionSettings
|
The set of collision rules in use with the world. |
message World intrinsic/world/proto/object_world_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_metadata |
intrinsic_proto.world.WorldMetadata
|
World-level metadata. |
| 2 | objects |
repeated
intrinsic_proto.world.Object
|
All world objects (which contain the frames in the world). Always populated according to ObjectView==FULL. |
| 3 | collision_settings |
intrinsic_proto.world.CollisionSettings
|
The set of collision rules in use with this world. |
message WorldMetadata intrinsic/world/proto/object_world_service.proto
General information about a world managed by the world service.
| Field | Type | Description | |
|---|---|---|---|
| 1 | id |
string
|
Unique id of the world. |
| 6 | world_structure_hash |
string
|
A hash representing the current structure portion of the world data. This hash will change when there are structural changes to the world, but may not change when state is updated. State in this case could mean pose values for parent_t_this or dof values for joints. |
| 7 | last_update |
google.protobuf.Timestamp
|
The timestamp of the most recent update to this world. |
| 8 | user_tag |
optional
string
|
Arbitrary user tag. |
Enums
enum Format intrinsic/world/proto/sensor_component.proto
| Name | Number | Description |
|---|---|---|
FORMAT_UNSPECIFIED |
0 | |
FORMAT_R8G8B8 |
1 | |
FORMAT_L8 |
2 | |
FORMAT_B8G8R8 |
3 | |
FORMAT_BAYER_RGGB8 |
4 | Formats below use https://en.wikipedia.org/wiki/Bayer_filter |
FORMAT_BAYER_BGGR8 |
5 | |
FORMAT_BAYER_GBRG8 |
6 | |
FORMAT_BAYER_GRBG8 |
7 |
enum Frame intrinsic/world/proto/sensor_component.proto
| Name | Number | Description |
|---|---|---|
FRAME_UNSPECIFIED |
0 | |
FRAME_CHILD |
1 | |
FRAME_PARENT |
2 | |
FRAME_SENSOR |
3 |
enum IdentificationMode intrinsic/world/proto/object_world_service.proto
| Name | Number | Description |
|---|---|---|
IDENTIFICATION_MODE_UNSPECIFIED |
0 | Default is BY_ID. |
BY_ID |
1 | Use ids as the unique identifier for objects, frames and entities. This is useful for comparing worlds branched by updates. |
BY_NAME |
2 | Use names as the unique identifier for objects, frames and entities. This is useful for comparing worlds composed from different composition processes. |
enum MeasureDirection intrinsic/world/proto/sensor_component.proto
| Name | Number | Description |
|---|---|---|
MEASURE_DIRECTION_UNSPECIFIED |
0 | |
MEASURE_DIRECTION_CHILD_TO_PARENT |
1 | |
MEASURE_DIRECTION_PARENT_TO_CHILD |
2 |
enum MotionType intrinsic/world/proto/kinematics_component.proto
Type of joint.
| Name | Number | Description |
|---|---|---|
MOTION_TYPE_UNDEFINED |
0 | |
MOTION_TYPE_REVOLUTE |
1 | 1 DoF, rotates about the axis. |
MOTION_TYPE_PRISMATIC |
2 | 1 DoF, translates along the axis. |
MOTION_TYPE_FIXED |
3 | 0 DoF, inboard and outboard transforms are always equal. |
enum ObjectType intrinsic/world/proto/object_world_service.proto
Type of an object. Indicates which components will be present when querying an object.
| Name | Number | Description |
|---|---|---|
OBJECT_TYPE_UNSPECIFIED |
0 | |
ROOT |
1 | Type of the root object which is present in every world. |
PHYSICAL_OBJECT |
2 | Type of non-virtual objects such as a robot, camera, workpiece, fixture etc. |
KINEMATIC_OBJECT |
3 | Subtype for physical objects that have moveable joints (prismatic or revolute). This includes not only robots but also, e.g., finger grippers or fixtures with moveable clamps. |
enum ObjectView intrinsic/world/proto/object_world_updates.proto
Indicates at which level-of-detail to return objects when querying them. See the documentation of 'Object' and its child messages to find out which parts are included at which view-level of detail.
| Name | Number | Description |
|---|---|---|
OBJECT_VIEW_UNSPECIFIED |
0 | Defaults to the BASIC view. |
BASIC |
1 | Contains enough of an object to understand its place within the hierarchical structure of a world (object id/name, parent id/name, ids/names of child objects and child frames). E.g., listing all objects in a world with the BASIC view makes it possible to print a text- or UI-based tree view of the objects and frames in the world. |
FULL |
2 | Contains all available details of an object including its relative pose, geometry, physical parameters and other metadata. |
enum ToggleMode intrinsic/world/proto/object_world_updates.proto
Mode for requests that allows to enable or disable something.
| Name | Number | Description |
|---|---|---|
TOGGLE_MODE_UNSPECIFIED |
0 | Leaving ToggleMode unspecified will result in an error. |
TOGGLE_MODE_ENABLE |
1 | |
TOGGLE_MODE_DISABLE |
2 |
enum Type intrinsic/world/proto/sensor_component.proto
| Name | Number | Description |
|---|---|---|
TYPE_UNSPECIFIED |
0 | |
TYPE_GAUSSIAN |
1 | |
TYPE_GAUSSIAN_QUANTIZED |
2 |
enum UpdateUserDataPolicy intrinsic/world/proto/user_data.proto
| Name | Number | Description |
|---|---|---|
POLICY_UNSPECIFIED |
0 | Same as POLICY_INSERT. |
POLICY_INSERT |
1 | Insert key/value pair(s) into the user data if none of the provided keys already exist. Return an error if any of the provided key exists. The Object is not modified in this case. |
POLICY_INSERT_OR_UPDATE |
2 | Similar to POLICY_INSERT but if a key already exists, its value will be updated instead of returning an error. |
POLICY_REMOVE |
3 | Remove key/value pair(s) for matching keys. Values provided in the user_data field are ignored. If no key matches, the object is not modified. |
POLICY_CLEAR_AND_REPLACE |
4 | Clear all existing user data and replace it with the new key/value user data. Can be called even if no existing user data is present. |
POLICY_CLEAR_ALL |
5 | Clear all existing user data. Can be called even if no existing user data is present. |