as2_python_api.mission_interpreter package

Submodules

as2_python_api.mission_interpreter.mission module

mission.py

class as2_python_api.mission_interpreter.mission.InterpreterStatus(*args: Any, **kwargs: Any)[source]

Bases: BaseModel

Mission status

current_item: MissionItem = None
done_items: int = 0
feedback_current: Any = None
pending_items: int = 0
state: str = 'IDLE'
property total_items: int

Total amount of items in mission, done + current + pending

class as2_python_api.mission_interpreter.mission.Mission(*args: Any, **kwargs: Any)[source]

Bases: BaseModel

Mission data model

plan: List[MissionItem] = []
property stack: MissionStack

Return mission stack

Raises:

exc – if behavior arg doesn’t exist

Return type:

MissionStack

target: str
verbose: bool = False
class as2_python_api.mission_interpreter.mission.MissionItem(*args: Any, **kwargs: Any)[source]

Bases: BaseModel

Mission Item data model

args: dict
property args_extended: list

Check if module exist and return full list of arguments, default

behavior: str
method: str = '__call__'

as2_python_api.mission_interpreter.mission_interpreter module

mission_interpreter.py

class as2_python_api.mission_interpreter.mission_interpreter.MissionInterpreter(mission: Mission | None = None, use_sim_time: bool = False)[source]

Bases: object

Mission Interpreter and Executer

append_mission(mission: Mission) None[source]

Insert mission at the end of the stack

property drone: DroneInterfaceBase

Build a DroneInterface based on the mission requirements

property feedback

Current behavior feedback

property feedback_dict

Current behavior feedback dictionary

insert_mission(mission: Mission) None[source]

Insert mission in front of the stack

property mission_stack: MissionStack

Mission stack

modify_current() bool[source]

Modify current item in mission

next_item() bool[source]

Advance to next item in mission

pause_mission() bool[source]

Pause mission

perform_mission() None[source]

Perform a mission

reset(mission: Mission) None[source]

Reset Mission Interpreter with other mission

resume_mission() bool[source]

Resume mission

shutdown() None[source]

Shutdown properly

start_mission() bool[source]

Start mission in different thread

property status: InterpreterStatus

Mission status

stop_mission() bool[source]

Stop mission

as2_python_api.mission_interpreter.mission_interpreter.test()[source]

a doctest in a docstring

>>> test()
test called with height=1.0, speed=2.0 and wait=True
test called with height=98.0, speed=99.0 and wait=True

as2_python_api.mission_interpreter.mission_stack module

mission_stack.py

class as2_python_api.mission_interpreter.mission_stack.MissionStack(mission_stack: list | None = None)[source]

Bases: object

Mission stack

add(item)[source]
property current: MissionItem
property done: list
property last_done
next() MissionItem[source]
property pending: list
previous()[source]

as2_python_api.mission_interpreter.ros2_adapter module

ros2_adapter.py

class as2_python_api.mission_interpreter.ros2_adapter.Adapter(drone_id: str, use_sim_time: bool = False, add_namespace: bool = False)[source]

Bases: Node

ROS 2 Adapter to mission interpreter

STATUS_FREQ = 0.5
abort_callback()[source]

Abort mission on interpreter

execute_callback(mission: Mission)[source]

Load and start mission

mission_update_callback(msg: as2_msgs.msg.MissionUpdate)[source]

New mission update

start_callback()[source]

Start mission on interpreter

status_timer_callback()[source]

Publish new mission status

as2_python_api.mission_interpreter.ros2_adapter.main()[source]

Run node

Module contents