Skip to content
Snippets Groups Projects
Select Git revision
  • 07c78e833ea376903239468ecc39188dd1ce20c0
  • noetic/main default
2 results

connector.proto

Blame
  • 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
    }