You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

73 lines
1.2 KiB

syntax = "proto3";
package ugv.messages;
import public "config.proto";
option optimize_for = LITE_RUNTIME;
enum UGV_State {
STATE_IDLE = 0;
STATE_AQUIRING = 1;
STATE_DRIVING = 2;
STATE_FINISHED = 3;
STATE_TEST = 4;
STATE_FLIPPING = 5;
STATE_TURNING = 6;
STATE_DRIVE_HEADING = 7;
}
message TargetLocation {
float latitude = 1;
float longitude = 2;
}
message Location {
uint32 fix_quality = 1;
float latitude = 2;
float longitude = 3;
float altitude = 4;
}
message UGV_Status {
UGV_State state = 1;
Location location = 2;
float yaw_angle = 3;
}
message UGV_Message {
oneof ugv_message {
UGV_Status status = 1;
uint32 command_ack = 2;
}
}
enum GroundCommandType {
CMD_DISABLE = 0;
CMD_DRIVE_TO_TARGET = 1;
CMD_TEST = 2;
CMD_DRIVE_HEADING = 3;
CMD_SET_TARGET = 4;
CMD_SET_CONFIG = 5;
}
message DriveHeadingData {
float heading = 1;
float power = 2;
}
message GroundCommand {
uint32 id = 1;
GroundCommandType type = 2;
oneof data {
DriveHeadingData drive_heading = 3;
TargetLocation target_location = 4;
config.Config config = 5;
}
}
message GroundMessage {
oneof ground_message {
GroundCommand command = 1;
}
}