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.

Comments

  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.

    ReplyDelete
  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

    ReplyDelete
  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

    ReplyDelete
  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

    ReplyDelete
  5. This information is so useful and informative which you have shared here. It is beneficial for beginners to develop their knowledge. It is very gainful information. Thanks for share it. internet phone system

    ReplyDelete
  6. 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

    ReplyDelete
  7. 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

    ReplyDelete
  8. 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

    ReplyDelete
  9. 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

    ReplyDelete
  10.  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

    ReplyDelete

Post a Comment

Popular posts from this blog

Build Snapdragon Flight Drone

Machine Learning -- Neural Network