Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions protobuf_definitions/message_formats.proto
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,7 @@ enum NotificationType {
NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED = 32; // DVL thermal protection mode detected.
NOTIFICATION_TYPE_VIDEO_PARTITION_NOT_MOUNTED = 33; // Video partition not mounted.
NOTIFICATION_TYPE_DVL_PROTOCOL_UNSUPPORTED = 34; // DVL firmware speaks a protocol version Blunux does not support.
NOTIFICATION_TYPE_INSTRUCTION_STARTED = 35; // A mission instruction started; the value names it.
}

// List of available notification levels.
Expand Down
75 changes: 75 additions & 0 deletions protobuf_definitions/mission_planning.proto
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ message Instruction {
GoToSeabedCommand go_to_seabed_command = 12; // Go to seabed.
GoToHomeCommand go_to_home_command = 13; // Go to home position.
SurveyCommand survey_command = 14; // Execute a survey pattern over a polygon area.
MultibeamRecordCommand multibeam_record_command = 15; // Start or stop multibeam recording.
MultibeamDriverCommand multibeam_driver_command = 16; // Start or stop the multibeam driver.
SetMultibeamConfigCommand set_multibeam_config_command = 17; // Change the multibeam configuration.
SetLightsCommand set_lights_command = 18; // Set the main or guest port lights.
SetLaserCommand set_laser_command = 19; // Set the laser.
SetTiltStabilizationCommand set_tilt_stabilization_command = 20; // Enable or disable tilt stabilization.
SetCvModelCommand set_cv_model_command = 21; // Start or stop a computer vision model.
AnnotationCommand annotation_command = 22; // Record an annotation in the dive log.
}
}

Expand Down Expand Up @@ -78,6 +86,7 @@ enum ControlModeHorizontal {
CONTROL_MODE_HORIZONTAL_MANUAL = 1; // Manual control mode.
CONTROL_MODE_HORIZONTAL_AUTO_HEADING = 2; // Auto heading control mode.
CONTROL_MODE_HORIZONTAL_STATION_KEEPING = 3; // Station keeping control mode.
CONTROL_MODE_HORIZONTAL_WEATHER_VANING = 4; // Weather vaning control mode (station keeping into the current).
}

// A ControlModeCommand is used to set vertical and horizontal control mode during a mission.
Expand Down Expand Up @@ -115,6 +124,8 @@ message WaitForCommand {
message CameraCommand {
CameraAction camera_action = 1; // Camera command.
float action_param = 2; // Used for taking photos based on a time or distance interval.
Camera camera = 3; // Which camera the action applies to. The main camera when unspecified.
StorageLocation storage_location = 4; // Where to store the photos or the recording. Internal when unspecified.
}

// GoToSurfaceCommand is used to go to the surface.
Expand All @@ -132,6 +143,62 @@ message GoToHomeCommand {
float desired_speed = 1; // Desired speed to home (m/s).
}

// MultibeamRecordCommand starts or stops recording of the multibeam sonar.
message MultibeamRecordCommand {
bool enable = 1; // True to start recording, false to stop.
StorageLocation storage_location = 2; // Where to store the recording. Internal when unspecified.
}

// MultibeamDriverCommand starts or stops the multibeam sonar driver.
//
// The instruction completes when the driver reports the requested state, so a following
// MultibeamRecordCommand or TiltMultibeamCommand finds the sonar ready.
message MultibeamDriverCommand {
bool activate = 1; // True to start the driver, false to stop it.
MultibeamConfig config = 2; // Configuration to start with. When left out, the last known configuration is used.
}

// SetMultibeamConfigCommand changes the configuration of a running multibeam sonar.
message SetMultibeamConfigCommand {
MultibeamConfig config = 1; // The configuration to apply.
}

// Which lights a SetLightsCommand applies to.
enum LightTarget {
LIGHT_TARGET_UNSPECIFIED = 0; // Unspecified, treated as the main lights.
LIGHT_TARGET_MAIN = 1; // The drone's own lights.
LIGHT_TARGET_GUESTPORT = 2; // Lights connected to a guest port.
}

// SetLightsCommand sets the intensity of the lights.
message SetLightsCommand {
float intensity = 1; // Light intensity (0..1).
LightTarget target = 2; // Which lights to set.
}

// SetLaserCommand sets the laser connected to a guest port.
message SetLaserCommand {
Laser laser = 1; // Laser intensity and modulation.
}

// SetTiltStabilizationCommand enables or disables camera tilt stabilization.
message SetTiltStabilizationCommand {
bool enabled = 1; // True to stabilize the camera tilt.
}

// SetCvModelCommand starts or stops a computer vision model on the drone.
//
// The instruction completes when the model reports the requested state.
message SetCvModelCommand {
string package_id = 1; // The model package to start or stop, as listed in CvModelInfo.
bool running = 2; // True to start the model, false to stop it.
}

// AnnotationCommand records an annotation in the dive log, as AnnotationCtrl does.
message AnnotationCommand {
Annotation annotation = 1; // The annotation to record. The drone sets the timestamp and the source.
}

// A SurveyCommand defines a survey (lawn-mower) pattern over a polygon area.
// The planner generates waypoints from the polygon + parameters and stores them
// in the waypoints field. The drone executes these pre-computed waypoints directly
Expand Down Expand Up @@ -206,6 +273,14 @@ enum InstructionType {
INSTRUCTION_TYPE_GO_TO_SEABED = 11; // Go to the seabed.
INSTRUCTION_TYPE_GO_TO_HOME = 12; // Returning to home.
INSTRUCTION_TYPE_SURVEY = 13; // Execute a survey pattern over a polygon area.
INSTRUCTION_TYPE_MULTIBEAM_RECORD = 14; // Start or stop multibeam recording.
INSTRUCTION_TYPE_MULTIBEAM_DRIVER = 15; // Start or stop the multibeam driver.
INSTRUCTION_TYPE_SET_MULTIBEAM_CONFIG = 16; // Change the multibeam configuration.
INSTRUCTION_TYPE_SET_LIGHTS = 17; // Set the lights.
INSTRUCTION_TYPE_SET_LASER = 18; // Set the laser.
INSTRUCTION_TYPE_SET_TILT_STABILIZATION = 19; // Enable or disable tilt stabilization.
INSTRUCTION_TYPE_SET_CV_MODEL = 20; // Start or stop a computer vision model.
INSTRUCTION_TYPE_ANNOTATION = 21; // Record an annotation.
}

// Reference for the auto pilot when a mission is active.
Expand Down
Loading