as2_python_api.mission_interpreter package

Submodules

as2_python_api.mission_interpreter.mission module

Mission message definitions.

class as2_python_api.mission_interpreter.mission.InterpreterState(value)[source]

Bases: IntEnum

Interpreter state.

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
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
class as2_python_api.mission_interpreter.mission.MissionItem(*args: Any, **kwargs: Any)[source]

Bases: BaseModel

Mission Item data model. It represents a behavior call.

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 and Executer.

class as2_python_api.mission_interpreter.mission_interpreter.MissionInterpreter(use_sim_time: bool = False, verbose: bool = False, executor: ~rclpy.executors.Executor = <class 'rclpy.executors.SingleThreadedExecutor'>)[source]

Bases: object

Mission Interpreter and Executer.

append_mission(mid: int, 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

Get current behavior feedback.

property feedback_dict

Get current behavior feedback dictionary.

insert_mission(mid: int, mission: Mission) None[source]

Insert mission in front of the stack.

load_mission(mid: int, mission: Mission) None[source]

Reset Mission Interpreter with other mission.

load_modules(mission: Mission)[source]
property mission: Mission

Mission.

property mission_stack: MissionStack

Mission stack.

modify_current() bool[source]

Modify current item in mission.

next_item(mid: int) bool[source]

Advance to next item in mission.

pause_mission(mid: int) bool[source]

Pause mission.

reset(mid: int, mission: Mission) None[source]

Reset Mission Interpreter with other mission.

resume_mission(mid: int) bool[source]

Resume mission.

shutdown() None[source]

Shutdown properly.

start_mission(mid: int) bool[source]

Start mission in different thread.

property status: InterpreterStatus

Mission status.

stop_mission(mid: int) 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 of behaviors to be executed by the drone.

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

Bases: object

Mission stack.

add(item: 'MissionItem' | list['MissionItem'])[source]

Add item(s) to the end of the stack.

property current: MissionItem

Get current item.

property done: list[MissionItem]

Get done items.

insert(item: 'MissionItem' | list['MissionItem'])[source]

Insert item(s) to the beggining of the stack.

property last_done

Get last done item.

next_item() MissionItem[source]

Get next item in the stack.

property pending: list[MissionItem]

Get pending items.

previous_item() MissionItem[source]

Get previous item in the stack.

as2_python_api.mission_interpreter.ros2_adapter module

Mission interpreter ROS 2 adapter.

class as2_python_api.mission_interpreter.ros2_adapter.Adapter(drone_id: str, timer_freq: float, use_sim_time: bool = False, add_namespace: bool = False, executor: ~rclpy.executors.Executor = <class 'rclpy.executors.SingleThreadedExecutor'>)[source]

Bases: Node

ROS 2 Adapter to mission interpreter.

execute_callback(mid: int, mission: Mission)[source]

Load and start mission.

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

Mission update callback.

start_callback(mid: int)[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