Conversation
|
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
|
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
f5cefaa to
33189a3
Compare
2eb97f2 to
ff4254a
Compare
51ae6ae to
4ceaaa9
Compare
fe9ca99 to
aa83e4e
Compare
|
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/how-to-integrate-eigen-library-with-px4-firmware/44065/2 |
|
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/adding-an-external-flight-mode-from-the-fcu/44137/1 |
2243d9b to
d525404
Compare
2163b57 to
0533927
Compare
Looks good to me! Feel free to close my PR on your fork. I'll go once more through the structure tomorrow to ensure that there are no weird things with the rest of the mc_ integration. Thanks for all the effort @SindreMHegre ! |
Pedro-Roque
left a comment
There was a problem hiding this comment.
@SindreMHegre some comments remaining.
@MaEtUgR can you give a check to the current state here? This can now be used with RC. My major comment is that there is no attitude control as of now.
|
@Pedro-Roque The reward function gives very little reward for keeping the attitude, and attitude setpoint is not an input to the network, so I don't think it is feasible to add it. It's not meant to replace the classical controllers anyways, so I don't find it to be a big issue |
Yes I agree that we shouldn't add non-tested work packages. I just wonder if the attitude will drift. I'd like to see a future version with this, if possible, though. But not a merge-stopper for me, unless @MaEtUgR thinks otherwise. |
|
@dagar Had time to look at this yet? |
|
@mrpollo @Jaeyoung-Lim anything new happen today? Can this be merged now if @Pedro-Roque and/or @MaEtUgR approves? |
Pedro-Roque
left a comment
There was a problem hiding this comment.
Approved on my side. @MaEtUgR should give final check as maintainer for multicopter :)
Maybe you can try the command make -f tensorflow/lite/micro/tools/make/Makefile run_keyword_benchmarkThe comand will download some dependencies and test. |
|
@Tfly6 thank you for the tip, I use the command: |
|
@SindreMHegre Your work is nice. I'm testing your code (for paper branch) in PX4 SITL Gazebo. How to change mode to Neural Control, Can you tell me the correct steps? |
|
@Tfly6 Can we take this somewhere else, like mail? |
|
@SindreMHegre OK! I had sent you email, but is your another email 😂 |
hamishwillee
left a comment
There was a problem hiding this comment.
Docs are "good enough".
|
@MaEtUgR @dakejahl What is needed to get this through? My only concern is the changes to files like src/drivers/gnss/septentrio/septentrio.cpp that seem unrelated. |
I think these should be fixed, they should not come from this PR. @SindreMHegre can you remove these changes? Or do you need them? |
|
@hamishwillee @Pedro-Roque I agree that it does not necessarily fit it this PR, but the CI fails without the static casts, because when I include the standard libraries I get an error on ambiguous definitions. So this was the simplest solution I could come up with. But open to other ways to fix it: PX4-Autopilot-public/src/drivers/gps/gps.cpp:452:37: error: call of overloaded 'abs(time_t)' is ambiguous |
|
@Pedro-Roque I think this is the right places for the fix, but I don't know if it is the "right" fix - not a programmer. |
|
The feature is self-contained and the changes to the build system are implemented correctly. I pulled out the GPS changes into a separate PR #25293. Once that PR is merged we can update this branch against main and get it merged. I see no reason to delay. |
|
Thanks @dakejahl ! Let's get this merged once all tests go through cleanly! :) |
|
/en/advanced/neural_networks.md
/en/advanced/nn_module_utilities.md
/en/advanced/tflm.md
|
|
@hamishwillee is the above github-actions message about missing file anchors valid? |
|
@dakejahl, I'm pretty sure he has looked them over before. I have checked at least and can't find any errors in the docs links |
|
Here we go!!! Thanks, everyone, for the team effort. It's great to see this finally come in. I'm eager to see what people create with this. |
|
THanks for your patience @SindreMHegre !!! Very cool. |
Solved Problem
Using neural networks for various tasks on UAVs in research is becoming more and more commonplace. My aim is to provide a module that can be used to replace the MC controller with NN to lower the barrier for using RL and NN on UAVs in general, and give researchers and hobbyist a place to start for NN use.
Solution
Changelog Entry
For release notes:
Alternatives
We could also look into using Eigen or executorch
Test coverage
https://review.px4.io/plot_app?log=52502d02-009e-4d1f-baac-a49dd51cfdef (check neural_control topic)
https://review.px4.io/plot_app?log=43d2ba6c-3d05-4d7f-a31b-490a57b3e647
https://review.px4.io/plot_app?log=d101189d-672e-42a3-9d39-828c675dde57
https://review.px4.io/plot_app?log=eff5ef61-3318-4f74-ad82-bfa42388dbd5
Video and paper on the module. Master thesis coming later
https://www.youtube.com/watch?v=lY1OKz_UOqM&t=1s
https://arxiv.org/abs/2505.00432
Context
Other feature requests: