Get desktop application:
View/edit binary Protocol Buffers messages
/////////////////////////////////// top-level rpc messages /////////////////////////////////// // For CreateAgent rpc ////
serialized configuration dictionary (UTF-8 encoding of a YAML string (yaml.safe_load permitted; JSON-compatible)
Initialize a planner
// For CreatePlanner rpc ////
serialized configuration dictionary (UTF-8 encoding of a YAML string (yaml.safe_load permitted; JSON-compatible)
True if overwrite existing planner
Get agent status
// For GetAgentCreationStatus rpc ////
Get current belief about where the object is over the search region
// For GetObjectBeliefs rpc ////
scope: global or local
Get current belief about the robot state
// For GetRobotBelief rpc ////
receives messages from server
// For ListenServer rpc ////
Calls the planner to return an action for execution
// For PlanAction rpc ////
debug flag
server-generated id used to identify an action associated with a plan request
Process observation such as object detection or language, update agent belief
// For ProcessObservation rpc ////
Pose of the robot when receiving the observation.
Signals new objects are found
If left out, then the observation is only about the robot itself.
the action that the observation is associated with (e.g. received after action completion)
Set this to true if by the time this observation request is sent, the action has finished.
return the pomdp model's fov corresponding to the object detection Note that for different detectors (for different objects), there may be different fovs
debug flag
set if 'return_fov' is True. This is a serialized JSON string of the format: {'objid' -> {'visible_volume': [ [x,y,z,r] ... ], 'obstacles_hit': [ [x,y,z,r] ... ] }} Note that the x,y,z,r should all be in world frame
reset
// For Reset rpc ////
More fine-grained rpcs for specific functionality Update search region by interpreting sensor data such as point cloud.
// For UpdateSearchRegion rpc //// Note: for hierarchical search, the global search agent may need to spawn local search agents, whose creation requires search region information through the robot's observations (e.g. point cloud). When that happens, the client should receive a message from the Communicate stream that requests this and that contains the robot id for the local search agent, and the client should send over an UpdateSearchRegionRequest
Whether the search region is 3D. DEPRECATED
robot pose in the world frame
a box in 2D, represented in the xyxy format
Used in:
a box in 3D that may be rotated in space.
Used in:
Object detection in 3D or 2D: each detection is a box with a label and confidence.
Used in:
declares some objects to be found. The objects that are declared found can be determined based on the robot's current field of view, or its updated belief.
Used in:
the robot that performs this action
Used in: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
information to be attached.
histogram representation of of probability distribution Assumes that 'values' and 'probs' have the same length.
Used in:
This is a generic action type, used to support other actions such as environment interaction.
Used in:
the robot that performs this action
identifies the action type
number of key-value pairs
parameter names for this action
parameter values for this action
Language input as observation
Used in:
the receiver of this observation
type of language. E.g. 'spatial'
Used in:
Used in:
in degrees
Used in:
the robot that performs this action
The pose of the viewpoint
The relative motion with respect to current viewpoint
name of the action
Used in:
local or global scope
Used in:
the receiver of this observation
List of object ids that are (just) found
Used in: ,
Occupancy grid: a 2D representation of the whole or a region of the search environment as a set of grid locations, each could be either free, occupied or unknown
Used in:
the receiver of this observation
Used in:
free, occupied, or unknown
Point cloud: a 3D representation of the whole or a region of the search environment as a set of points. Each point has a x, y, z location.
Used in:
the receiver of this observation
Used in:
/////// Geometry related ///////////////
Used in: ,
typically degrees
Used in: , ,
Used in: ,
Used in:
robot pose (exact or a distribution; see RobotPose message definition)
objects found
local or global scope
topo map, if the robot has one. Note that both local or global searcher may have a topo map
The POMDP agent allows the robot to have uncertainty over its pose. It expects a localization module on the system will output estimates about the robot pose, with uncertainty represented by a covariance matrix. The robot pose determines where the robot receives observation. By default, it should be the pose of the camera or some other sensor through which sensor data for object detection is received.
Used in: , ,
This is a row-major covariance matrix. For 2D pose, the variables are [x y yaw] For 3D pose, the variables are [x y z thx thy thz] (the last three are rotations about the respective axes]
Used to indicate whether a message pertains to local search or global search.
Used in: , , ,
/////////////////////////////////// Auxiliary messages ///////////////////////////////////
Used in:
Used in:
/////// Generic communication ///////////////
Used in: , , , , , , , ,
Used in:
Used in:
Used in:
Used in: , ,
Used in: , , , , ,
Voxel in 3D with optional resolution useful for octree representation. Designed to represents a voxel in the world frame.
res means the number of unit grid cells along one major axis. Note that the length here is in the world frame (not in pomdp frame), therefore, this could be any floating number.
/////// Probability distribution /////////////// particle representation of probability distribution of random variable X. A possible value of X is x.
Used in: