Select Git revision
connector.proto
connector.proto 2.10 KiB
// connector.proto
// this file contains the messages that are exchanged between the ROS connector and other systems
syntax = "proto3";
option java_package = "de.tudresden.inf.st.ceti";
option java_multiple_files = true;
message Object {
// Position is object-center related
message Position {
float x = 1; // in m
float y = 2; // in m
float z = 3; // height in m
}
// 3D description of the object
message Size {
float length = 1; // in m
float width = 2; // in m
float height = 3; // in m
}
message Orientation {
float x = 1; // normalized quaternion
float y = 2;
float z = 3;
float w = 4;
}
message Color {
float r = 1; // 0..1
float g = 2; // 0..1
float b = 3; // 0..1
}
enum Type {
UNKNOWN = 0;
BOX = 1;
BIN = 2;
ARM = 3;
DROP_OFF_LOCATION = 4;
}
string id = 1;
Type type = 2;
Position pos = 3;
Size size = 4;
Orientation orientation = 5;
Color color = 6;
}
// the scene is stored within the ROS side and sent to the CGV framework
message Scene {
repeated Object objects = 1;
}
// the selection is done by the CGV framework and sent to ROS
message Selection {
string id = 1; // the id corresponds to an id of an Object in a Scene
}
// vvv from rs vvv.
// Merged message to contain both pick and place in one
message PickPlace {
string idRobot = 1; // the id corresponds to and id of the robot Object that should execute this operation
string idPick = 2; // the id corresponds to an id of the Object in a Scene to be picked
string idPlace = 3; // the id corresponds to an id of the Object in a Scene where the picked object shall be placed
}
// Reachability of objects, as reported by MoveIt
message Reachability {
message ObjectReachability {
string idObject = 1; // the id of the object to reach
bool reachable = 2; // whether the object can be reached
}
string idRobot = 1; // the id of the robot arm
repeated ObjectReachability objects = 2; // all objects reachable
}