Drone VR Software Architecture

Finally we're at the point in our opus VR drone project that we need to look at the software. If you're following along, I have the Hardware drone built, using Snapdragon flight. To review, we have knowledge of how to create a project in Android Studio that can target Snapdragon Flight for deployment. We know how to utilize the Daydream controller to build an arm model. We also know how to setup a VR project in Android Studio. Finally, we know how to communicate with the Snapdragon flight controller. So, if we put it all together, we only need to figure out how to program the controller aspect of the Flight.

Thankfully there's rich support available for Flight that allows us to have full C-API control over both the ESC and the controller board. It is provided through the navigator api library.

Now let's talk about the overall design. I envision four main modules:

  • VR Controller App
    1. interfaces with the user
    2. gets positional updates and issues commands
    3. delivers status messages.
  • Phone 2d App
    1. Used for diagnosis, easy classical control and informational display when VR not available.
    2. gives ability to get realtime updates and settings from a third party
  • Phone service
    1. used to handle communication between apps and drone.
    2. survives app pause/resume.
    3. handles network connection with drone.
  • Drone Software
    1. used to handle communication between network and drone.
    2. handles state information about the drone.
    3. handles AI to self control the drone when connection is lost or about to be lost.
    4. accepts commands from network and translates commands to drone actions
Another way to look at it is this simplistic graph:

Over the next few blog posts, I will dedicate one post per main module and deep dive in places that deserve further investigation.


  1. You have shared such a great post. Thanks for such useful post for sharing. Keep sharing such types of posts in future. If you are looking for Tool Crib Software, then you can visit attooltrax.

  2. Thank you for taking the time to post this blog. I am pleased with your work after reading this post. This is very useful for us. Keep sharing such blogs.Cloud Based Software System Online

  3. good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. I hope you post again soon. Big thanks for the useful info. Mikrotik Logs Monitoring Software

  4. I really want to thank the author for such a nice blog that helped me to understand why it is important. thanks for sharing.Android developer tools for getting started

  5. I generally check this kind of article and I found your article which is related to my interest. Genuinely it is good and instructive information. Thankful to you for sharing an article like this. it company in indore

  6. You are really awesome as the post you have shared here is really interesting and informative also. Thanks for posting it. Keep it up. Software Development Company In Miami FL

  7. The information which you have shared here . It is a really useful and informative article. I want to encourage you to ultimately continue your great work. Thank you. Professional Devops Services

  8. When we find issues related to this type of subject that's not easy to find but some people like you make it easy for us. Thanks for giving us precious time. online business management software

  9.  I read this article, it is really informative. Your way of writing and expressing your thoughts is very impressive. Thank you for such an informative article.  Form Design Software For Small Business

  10. I will prefer this blog because it has much more informative stuff. Visit C-UAS for more related information and knowledge.

  11. I am glad that I came here and discovered lots of valuable data from your article about ohio web design. It is a beneficial and convenient article for us to increase knowledge. Thanks for sharing an article like this.

  12. Very informative article, which you have shared here about the Business. After reading your article I got very much information and it is very useful for us. I am thankful to you for sharing this article here.Accounting Firm For Small Business in Morrisvillesite.

  13. Writing a blog post is really important for me. thanks for sharing amazing tips. If you want to get best aviation administration software so you can visit on our website.

  14. I would like to say this is a well-informed article as we have seen here about miami website design company. Your way of writing is very impressive and also it is a beneficial article for us. Thanks for sharing an article like this.

  15. Great idea man thanks for keeping it up all the time. I am very happy to see your standard about Architectural Rendering Firms. Really I appreciate you continuing your work.


Post a Comment

Popular posts from this blog

Soldering new connectors for the drone

Practical Project 1: Magic Mirror Software

Profiling a NDK app from a CI server