Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interrupting an existing flight mode by a custom flight mode executor #28

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bastianhjaeger
Copy link

@bkueng
I consider this a bad example and not to merge this into the repo, but rather a base of conversation.

While looking at the interface lib, I thought about a possibility to run a flight mode executor, which triggers another flight mode, e.g. mission. Now consider an sensor based event to tell PX4 to switch from mission mode to the owned flight mode.

This example is doing this (timer based).

Question:
Was this use case considered and is there yet a better solution to it?
(Maybe some way to inherit all mission flight mode functionally and add some stuff on top?)

Usage:

colcon build --packages-select example_mode_with_interrupting_executor_cpp
. install/setup.bash
ros2 run example_mode_with_interrupting_executor_cpp example_mode_with_interrupting_executor_cpp

Create a small mission on AMC and upload it.

Then start the flight mode.

@bkueng
Copy link
Collaborator

bkueng commented Feb 15, 2024

Was this use case considered and is there yet a better solution to it?
(Maybe some way to inherit all mission flight mode functionally and add some stuff on top?)

Yes I expect there to be mode executors with more complex mode switching logic. You're generally free to do what you want here.
I think the main part that's still missing is mission execution (e.g. planning & executing a trajectory from a mode) and GCS integration (allowing a user to configure a mode what it should do, which requires the GCS to know its capabilities & providing visual feedback - this is a big topic).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants