NAVIO2 Suited For Fully Autonomous Drone Research Without GPS?

Hi,

We are a team of researchers who would like to develop a fully autonomous drone that bases its navigation choices solely on sonar, image processing, and maybe LIDAR. We have just discovered NAVIO2, and were curious if anyone of you would have some insights on how suited NAVIO2 with a Pi3 would be for this kind of project.

  1. How many Sonar Sensors can I connect to NAVIO2?
  2. How much of the Pi3 resources are occupied by normal flight control functions?
  3. Has NAVIO2 ever been used for programming acrobatic flight?
  4. Are there research papers based on NAVIO2?
  5. What are known limitations/issues with NAVIO2 in combination with PI3?

Thank you,
Research Team

Are you planning ROS or APM/ArduPilot?

We were planing on using APM.

I’m doing a land based rover setup with ROS instead of APM. I have been looking into image processing and LIDAR for sensors past just RTK GNSS.

I’ve only been looking into single plane LIDAR, or w/e its called, and some ppl have reported that full 3D LIDAR is a bit much to process on the PI in any real time fashion. Of course this greatly depends on your application and timing requirements.

The other really good thing about going with Navio2 is you’ll get the preemptive kernel already done. https://docs.emlid.com/navio/Downloads/Real-time-Linux-RPi2/ At least you get some sense of real time processing.

Thank you for your quick response.

I personally have no experience with ROS? Would ROS facilitate the process of developing an autonomous quadrotor?

Is NAVIO prepared to work with other languages than C++ and ROS?

I cannot speak on @emlid behalf but one of the issues with ROS is you aren’t guaranteed timing requirements. For my application, land based, everything is working and I’m basically idling the Pi. YMMV if you decide to do a drone setup.

I’ve seen a lot of ppl recommend this, http://wiki.ros.org/mavros to let APM handle all the flight stuff and a companion computer to do any heavy lifting. You might be able to do both on the Pi but again, depends on your application.

As far as other languages they also have Python bindings for I think all the sensors on the Navio2. GitHub - emlid/Navio2: C++ and Python sensor examples for developers

I have a few ROS bindings for the Navio2 if you are interested. The examples emlid has provided makes it very easy to write ROS nodes for.

1 Like