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

Move to either c++ or python, away from dual/hybrid model #94

Open
fnoop opened this issue Jul 11, 2018 · 3 comments
Open

Move to either c++ or python, away from dual/hybrid model #94

fnoop opened this issue Jul 11, 2018 · 3 comments

Comments

@fnoop
Copy link
Member

fnoop commented Jul 11, 2018

vision_landing is currently a python wrapper/supervisor that talks to dronecode, and calls c++ code for the visual processing.
This works, but turns out to be overly complex to coordinate the two halves, and dronecode is very slow/inefficient.
As we want to get vision_landing running on much slower platforms -ie. raspberry - migrate to:

  • single code, either python or (probably) c++
  • away from dronecode, to either direct mavlink or mavros connector
@kripper
Copy link

kripper commented Mar 16, 2023

C++ is faster, but having a Python wrapper for the high level mavlink communication is not a problem, as long as the IPC (currently using stdout queues) is well designed and abstracted (like a C++ module for Python).

Please note that stdout and stderr lines may arrive in wrong order.

Also see: chobitsfan/apriltag_plnd#1

@fnoop
Copy link
Member Author

fnoop commented Mar 16, 2023

C++ is faster
If python is fast enough for the job, it's a much more friendly language to code a project like this in, for others who want to experiment/contribute. My personal opinion is c++ should only be used where necessary for uses outside of the main flight controller code, because the number of people who can safely write not-to-buggy-code in c++ is much lower.

@kripper
Copy link

kripper commented Mar 16, 2023

Agree.

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

No branches or pull requests

2 participants