Arquivos protos

Os arquivos protos carregam as definições de contrato entre os projetos. Caso exista necessidade de implementar a integração com o VSS-SDK em uma linguagem que não estenda C, é possível recriar as interfaces utilizando esses protocolos. Existem exemplos de utilização prontos em VSS-Samples.

State

package vss_state;

message Pose{
    required float x = 1;
    required float y = 2;
    optional float yaw = 3;
}

message Ball_State{
    required Pose pose = 1;
    optional Pose v_pose = 2;
}

message Robot_State{
    required Pose pose = 1;
    optional Pose v_pose = 2;
}

message Global_State{
    repeated Ball_State balls = 1;
    repeated Robot_State robots_yellow = 2;
    repeated Robot_State robots_blue = 3;
}

Command

package vss_command;

message Robot_Command{
    required float left_vel = 1;
    required float right_vel = 2;
}

message Global_Commands{
    repeated Robot_Command robot_commands = 1;
}

Debug

package vss_debug;

message Pose{
    required float x = 1;
    required float y = 2;
    optional float yaw = 3;
}

message Path{
    repeated Pose poses = 1;
}

message Global_Debug{
    repeated Pose step_poses = 1;
    repeated Pose final_poses = 2;
    repeated Path paths = 3;
}

Control

package vss_control;

message Pose{
    required float x = 1;
    required float y = 2;
    optional float yaw = 3;
}

message User_Control{
    optional bool paused = 1;
    optional Pose new_ball_pose = 2;
    repeated Pose new_robots_blue_pose = 3;
    repeated Pose new_robots_yellow_pose = 4;
}