Skip to content

Mission Planning

mission_planning

Classes:

CameraAction

List of available camera actions.

CAMERA_ACTION_START_RECORDING class-attribute instance-attribute

CAMERA_ACTION_START_RECORDING = 5

Start recording

CAMERA_ACTION_STOP_RECORDING class-attribute instance-attribute

CAMERA_ACTION_STOP_RECORDING = 6

Stop recording

CAMERA_ACTION_STOP_TAKING_PHOTOS class-attribute instance-attribute

CAMERA_ACTION_STOP_TAKING_PHOTOS = 4

Stop taking photos

CAMERA_ACTION_TAKE_PHOTO class-attribute instance-attribute

CAMERA_ACTION_TAKE_PHOTO = 1

Take one photo

CAMERA_ACTION_TAKE_PHOTOS_DISTANCE class-attribute instance-attribute

CAMERA_ACTION_TAKE_PHOTOS_DISTANCE = 3

Take a photo every x meter

CAMERA_ACTION_TAKE_PHOTOS_TIME class-attribute instance-attribute

CAMERA_ACTION_TAKE_PHOTOS_TIME = 2

Take a photo every x second

CAMERA_ACTION_UNSPECIFIED class-attribute instance-attribute

CAMERA_ACTION_UNSPECIFIED = 0

Unspecified command

CameraCommand

CameraCommands are used to control the camera from a mission.

action_param class-attribute instance-attribute

action_param: float = Field(FLOAT, number=2)

camera_action class-attribute instance-attribute

camera_action: "CameraAction" = Field(
    ENUM, number=1, enum="CameraAction"
)

ControlModeCommand

A ControlModeCommand is used to set vertical and horizontal control mode during a mission.

control_mode_horizontal class-attribute instance-attribute

control_mode_horizontal: "ControlModeHorizontal" = Field(
    ENUM, number=6, enum="ControlModeHorizontal"
)

control_mode_vertical class-attribute instance-attribute

control_mode_vertical: "ControlModeVertical" = Field(
    ENUM, number=5, enum="ControlModeVertical"
)

ControlModeHorizontal

CONTROL_MODE_HORIZONTAL_AUTO_HEADING class-attribute instance-attribute

CONTROL_MODE_HORIZONTAL_AUTO_HEADING = 2

Auto heading control mode

CONTROL_MODE_HORIZONTAL_MANUAL class-attribute instance-attribute

CONTROL_MODE_HORIZONTAL_MANUAL = 1

Manual control mode

CONTROL_MODE_HORIZONTAL_STATION_KEEPING class-attribute instance-attribute

CONTROL_MODE_HORIZONTAL_STATION_KEEPING = 3

Station keeping control mode

CONTROL_MODE_HORIZONTAL_UNSPECIFIED class-attribute instance-attribute

CONTROL_MODE_HORIZONTAL_UNSPECIFIED = 0

Unspecified

ControlModeVertical

CONTROL_MODE_VERTICAL_AUTO_ALTITUDE class-attribute instance-attribute

CONTROL_MODE_VERTICAL_AUTO_ALTITUDE = 3

Auto altitude control mode

CONTROL_MODE_VERTICAL_AUTO_DEPTH class-attribute instance-attribute

CONTROL_MODE_VERTICAL_AUTO_DEPTH = 2

Auto depth control mode

CONTROL_MODE_VERTICAL_MANUAL class-attribute instance-attribute

CONTROL_MODE_VERTICAL_MANUAL = 1

Manual control mode

CONTROL_MODE_VERTICAL_UNSPECIFIED class-attribute instance-attribute

CONTROL_MODE_VERTICAL_UNSPECIFIED = 0

Unspecified

DepthSetPoint

Depth set point is used to describe a depth set-point relative to the surface or the seabed.

depth class-attribute instance-attribute

depth: float = Field(FLOAT, number=1)

depth_zero_reference class-attribute instance-attribute

depth_zero_reference: "DepthZeroReference" = Field(
    ENUM, number=3, enum="DepthZeroReference"
)

speed_to_depth class-attribute instance-attribute

speed_to_depth: float = Field(FLOAT, number=2)

DepthSetPointCommand

A DepthSetPointCommand is used to go to a desired depth or altitude.

depth_set_point class-attribute instance-attribute

depth_set_point: "DepthSetPoint" = Field(
    MESSAGE, number=1, message="DepthSetPoint"
)

DepthZeroReference

Depth zero reference from surface for depth, and seabed for altitude.

DEPTH_ZERO_REFERENCE_SEABED class-attribute instance-attribute

DEPTH_ZERO_REFERENCE_SEABED = 2

DEPTH_ZERO_REFERENCE_SURFACE class-attribute instance-attribute

DEPTH_ZERO_REFERENCE_SURFACE = 1

DEPTH_ZERO_REFERENCE_UNSPECIFIED class-attribute instance-attribute

DEPTH_ZERO_REFERENCE_UNSPECIFIED = 0

GoToHomeCommand

GoToHomeCommand is used to go to the home position.

desired_speed class-attribute instance-attribute

desired_speed: float = Field(FLOAT, number=1)

GoToSeabedCommand

GoToSeabedCommand is used to go to the seabed.

desired_speed class-attribute instance-attribute

desired_speed: float = Field(FLOAT, number=1)

GoToSurfaceCommand

GoToSurfaceCommand is used to go to the surface.

desired_speed class-attribute instance-attribute

desired_speed: float = Field(FLOAT, number=1)

Instruction

A mission consists of one or multiple instructions. One instruction can be of different types.

This message has oneof_ fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.

.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields

auto_continue class-attribute instance-attribute

auto_continue: bool = Field(BOOL, number=3)

camera_command class-attribute instance-attribute

camera_command: "CameraCommand" = Field(
    MESSAGE,
    number=6,
    oneof="command",
    message="CameraCommand",
)

control_mode_command class-attribute instance-attribute

control_mode_command: "ControlModeCommand" = Field(
    MESSAGE,
    number=7,
    oneof="command",
    message="ControlModeCommand",
)

depth_set_point_command class-attribute instance-attribute

depth_set_point_command: "DepthSetPointCommand" = Field(
    MESSAGE,
    number=5,
    oneof="command",
    message="DepthSetPointCommand",
)

go_to_home_command class-attribute instance-attribute

go_to_home_command: "GoToHomeCommand" = Field(
    MESSAGE,
    number=13,
    oneof="command",
    message="GoToHomeCommand",
)

go_to_seabed_command class-attribute instance-attribute

go_to_seabed_command: "GoToSeabedCommand" = Field(
    MESSAGE,
    number=12,
    oneof="command",
    message="GoToSeabedCommand",
)

go_to_surface_command class-attribute instance-attribute

go_to_surface_command: "GoToSurfaceCommand" = Field(
    MESSAGE,
    number=11,
    oneof="command",
    message="GoToSurfaceCommand",
)

group_id class-attribute instance-attribute

group_id: int = Field(UINT32, number=2)

id class-attribute instance-attribute

id: int = Field(UINT32, number=1)

tilt_main_camera_command class-attribute instance-attribute

tilt_main_camera_command: "TiltMainCameraCommand" = Field(
    MESSAGE,
    number=8,
    oneof="command",
    message="TiltMainCameraCommand",
)

tilt_multibeam_command class-attribute instance-attribute

tilt_multibeam_command: "TiltMultibeamCommand" = Field(
    MESSAGE,
    number=9,
    oneof="command",
    message="TiltMultibeamCommand",
)

wait_for_command class-attribute instance-attribute

wait_for_command: "WaitForCommand" = Field(
    MESSAGE,
    number=10,
    oneof="command",
    message="WaitForCommand",
)

waypoint_command class-attribute instance-attribute

waypoint_command: "WaypointCommand" = Field(
    MESSAGE,
    number=4,
    oneof="command",
    message="WaypointCommand",
)

InstructionType

List of available instruction types.

INSTRUCTION_TYPE_GO_TO_DEPTH_SET_POINT class-attribute instance-attribute

INSTRUCTION_TYPE_GO_TO_DEPTH_SET_POINT = 4

Go to depth set point

INSTRUCTION_TYPE_GO_TO_HOME class-attribute instance-attribute

INSTRUCTION_TYPE_GO_TO_HOME = 12

Returning to home

INSTRUCTION_TYPE_GO_TO_SEABED class-attribute instance-attribute

INSTRUCTION_TYPE_GO_TO_SEABED = 11

Go to the seabed

INSTRUCTION_TYPE_GO_TO_SURFACE class-attribute instance-attribute

INSTRUCTION_TYPE_GO_TO_SURFACE = 10

Go to the surface

INSTRUCTION_TYPE_GO_TO_WAYPOINT class-attribute instance-attribute

INSTRUCTION_TYPE_GO_TO_WAYPOINT = 2

Go to waypoint

INSTRUCTION_TYPE_GO_TO_WAYPOINT_WITH_DEPTH_SET_POINT class-attribute instance-attribute

INSTRUCTION_TYPE_GO_TO_WAYPOINT_WITH_DEPTH_SET_POINT = 3

Go to waypoint with depth set point

INSTRUCTION_TYPE_NONE class-attribute instance-attribute

INSTRUCTION_TYPE_NONE = 1

None

INSTRUCTION_TYPE_SET_CAMERA_ACTION class-attribute instance-attribute

INSTRUCTION_TYPE_SET_CAMERA_ACTION = 5

Command used to take photo repeatedly or start, stop recording

INSTRUCTION_TYPE_SET_CONTROL_MODE class-attribute instance-attribute

INSTRUCTION_TYPE_SET_CONTROL_MODE = 6

Sets a new control mode

INSTRUCTION_TYPE_SET_TILT_MAIN_CAMERA class-attribute instance-attribute

INSTRUCTION_TYPE_SET_TILT_MAIN_CAMERA = 7

Sets a new angle for the tilt servo

INSTRUCTION_TYPE_SET_TILT_SERVO class-attribute instance-attribute

INSTRUCTION_TYPE_SET_TILT_SERVO = 8

Sets a new angle for the tilt servo

INSTRUCTION_TYPE_UNSPECIFIED class-attribute instance-attribute

INSTRUCTION_TYPE_UNSPECIFIED = 0

Unspecified

INSTRUCTION_TYPE_WAIT_FOR_SEC class-attribute instance-attribute

INSTRUCTION_TYPE_WAIT_FOR_SEC = 9

Waiting for requested time in seconds

Mission

A list of waypoints describes a mission that the auto pilot can execute.

default_circle_of_acceptance class-attribute instance-attribute

default_circle_of_acceptance: float = Field(FLOAT, number=9)

default_heave_speed class-attribute instance-attribute

default_heave_speed: float = Field(FLOAT, number=8)

default_surge_speed class-attribute instance-attribute

default_surge_speed: float = Field(FLOAT, number=7)

id class-attribute instance-attribute

id: int = Field(UINT32, number=1)

instructions class-attribute instance-attribute

instructions: MutableSequence["Instruction"] = (
    RepeatedField(MESSAGE, number=3, message="Instruction")
)

name class-attribute instance-attribute

name: str = Field(STRING, number=2)

path_segments class-attribute instance-attribute

path_segments: MutableSequence["PathSegment"] = (
    RepeatedField(MESSAGE, number=4, message="PathSegment")
)

total_distance class-attribute instance-attribute

total_distance: int = Field(UINT32, number=5)

total_duration_time class-attribute instance-attribute

total_duration_time: int = Field(UINT32, number=6)

MissionState

List of mission supervisor states.

MISSION_STATE_ABORTED class-attribute instance-attribute

MISSION_STATE_ABORTED = 6

Mission is aborted by the mission supervisor

MISSION_STATE_COMPLETED class-attribute instance-attribute

MISSION_STATE_COMPLETED = 5

Mission is completed

MISSION_STATE_FAILED_TO_LOAD_MISSION class-attribute instance-attribute

MISSION_STATE_FAILED_TO_LOAD_MISSION = 7

Mission has failed to load

MISSION_STATE_FAILED_TO_START_MISSION class-attribute instance-attribute

MISSION_STATE_FAILED_TO_START_MISSION = 8

Mission has failed to start

MISSION_STATE_INACTIVE class-attribute instance-attribute

MISSION_STATE_INACTIVE = 1

Mission supervisor is inactive

MISSION_STATE_PAUSED class-attribute instance-attribute

MISSION_STATE_PAUSED = 4

Mission is paused

MISSION_STATE_READY class-attribute instance-attribute

MISSION_STATE_READY = 2

Ready to start mission

MISSION_STATE_RUNNING class-attribute instance-attribute

MISSION_STATE_RUNNING = 3

Mission is running

MISSION_STATE_UNSPECIFIED class-attribute instance-attribute

MISSION_STATE_UNSPECIFIED = 0

Unspecified

MissionStatus

Mission Status is used for showing the status of the mission.

completed_instruction_ids class-attribute instance-attribute

completed_instruction_ids: MutableSequence[int] = (
    RepeatedField(UINT32, number=5)
)

completed_path_segment_ids class-attribute instance-attribute

completed_path_segment_ids: MutableSequence[int] = (
    RepeatedField(UINT32, number=7)
)

distance_to_complete class-attribute instance-attribute

distance_to_complete: int = Field(UINT32, number=4)

estimated_time_to_complete class-attribute instance-attribute

estimated_time_to_complete: int = Field(UINT32, number=3)

id class-attribute instance-attribute

id: int = Field(UINT32, number=9)

state class-attribute instance-attribute

state: "MissionState" = Field(
    ENUM, number=1, enum="MissionState"
)

time_elapsed class-attribute instance-attribute

time_elapsed: int = Field(UINT32, number=2)

total_number_of_instructions class-attribute instance-attribute

total_number_of_instructions: int = Field(UINT32, number=6)

total_number_of_path_segments class-attribute instance-attribute

total_number_of_path_segments: int = Field(UINT32, number=8)

PathSegment

Path segment used to describe segments of a mission as a line between to waypoints.

course_to_target class-attribute instance-attribute

course_to_target: float = Field(FLOAT, number=3)

depth_speed class-attribute instance-attribute

depth_speed: float = Field(FLOAT, number=4)

duration_time class-attribute instance-attribute

duration_time: float = Field(FLOAT, number=9)

from_wp_id class-attribute instance-attribute

from_wp_id: int = Field(UINT32, number=7)

horizontal_length class-attribute instance-attribute

horizontal_length: float = Field(FLOAT, number=5)

id class-attribute instance-attribute

id: int = Field(UINT32, number=1)

speed_to_target class-attribute instance-attribute

speed_to_target: float = Field(FLOAT, number=2)

to_wp_id class-attribute instance-attribute

to_wp_id: int = Field(UINT32, number=8)

vertical_length class-attribute instance-attribute

vertical_length: float = Field(FLOAT, number=6)

ReferenceAutoPilot

Reference for the auto pilot when a mission is active.

active_instruction_id class-attribute instance-attribute

active_instruction_id: int = Field(UINT32, number=2)

active_path_segment_id class-attribute instance-attribute

active_path_segment_id: int = Field(UINT32, number=3)

circle_of_acceptance class-attribute instance-attribute

circle_of_acceptance: float = Field(FLOAT, number=7)

course_to_target class-attribute instance-attribute

course_to_target: float = Field(FLOAT, number=4)

depth_set_point class-attribute instance-attribute

depth_set_point: float = Field(FLOAT, number=8)

depth_zero_reference class-attribute instance-attribute

depth_zero_reference: "DepthZeroReference" = Field(
    ENUM, number=11, enum="DepthZeroReference"
)

heave_velocity class-attribute instance-attribute

heave_velocity: float = Field(FLOAT, number=9)

horizontal_distance_to_target class-attribute instance-attribute

horizontal_distance_to_target: float = Field(
    FLOAT, number=6
)

instruction_type class-attribute instance-attribute

instruction_type: "InstructionType" = Field(
    ENUM, number=1, enum="InstructionType"
)

speed_over_ground class-attribute instance-attribute

speed_over_ground: float = Field(FLOAT, number=5)

time_to_complete class-attribute instance-attribute

time_to_complete: float = Field(FLOAT, number=12)

vertical_distance_to_target class-attribute instance-attribute

vertical_distance_to_target: float = Field(FLOAT, number=10)

TiltMainCameraCommand

The TiltMainCameraCommand can set the desired camera tilt angle.

tilt_angle class-attribute instance-attribute

tilt_angle: TiltAngle = Field(
    MESSAGE, number=1, message=TiltAngle
)

TiltMultibeamCommand

The TiltMultibeamCommand is used to set the tilt angle of the servo.

multibeam_servo class-attribute instance-attribute

multibeam_servo: MultibeamServo = Field(
    MESSAGE, number=1, message=MultibeamServo
)

WaitForCommand

WaitForCommand is used to wait during a mission.

wait_for_seconds class-attribute instance-attribute

wait_for_seconds: float = Field(FLOAT, number=1)

Waypoint

Waypoints used to describe a path for the auto pilot.

circle_of_acceptance class-attribute instance-attribute

circle_of_acceptance: float = Field(FLOAT, number=4)

depth_set_point class-attribute instance-attribute

depth_set_point: "DepthSetPoint" = Field(
    MESSAGE, number=6, message="DepthSetPoint"
)

global_position class-attribute instance-attribute

global_position: LatLongPosition = Field(
    MESSAGE, number=3, message=LatLongPosition
)

id class-attribute instance-attribute

id: int = Field(UINT32, number=1)

name class-attribute instance-attribute

name: str = Field(STRING, number=2)

speed_to_target class-attribute instance-attribute

speed_to_target: float = Field(FLOAT, number=5)

WaypointCommand

A WaypointCommand will request the drone to drive to a point automatically.

waypoint class-attribute instance-attribute

waypoint: "Waypoint" = Field(
    MESSAGE, number=1, message="Waypoint"
)