A powerful companion computer, like Ordoid XU4, can help build many interesting and complex applications on drones, such as, those using computer vision, swarms, cloud-connectivity, AI, machine learning, and more. Even for regular applications, like, aerial surveys, mapping, or photography, having a companion computer can greatly simplify application development and deployment. However, we need a reliable/robust/well-planned framework to make this happen, and keep it scalable/flexible for future drone applications.
We have been building FlytOS to address this need. FlytOS is built on ROS (Robot Operating System), and it helps drone developers exploit the power of linux-based companion computers. The APIs for navigation, configuration, setup, computer-vision, communication are available in C++, Python and ROS, making it extremely easy to build/deploy custom applications. Builtin web-server allows developers to host web-based UIs and connect to remote/mobile devices using RESTful APIs and web-socket connections, with authentication and security. Further, a ROS/Gazebo based simulator has been tightly integrated with FlytOS to allow developers test their applications in simulation, before deploying those on real hardware. Several other features, such as, onboard web-based setup/GCS utility, video streaming utilities, are also included in FlytOS.
Overall FlytOS architecture is shown in the image below:
To learn more about FlytOS, please visit: http://flytbase.com/flytos/
We are happy to announce the release of initial version of FlytOS. It has been extensively tested at our lab over last few weeks, and we are now inviting more collaborators, contributors and testers to try it out! It can be used with your own hardware setup (recommended setup: Pixhawk + Odroid; feel free to try it with other combinations and submit your results) or with FlytPOD. It is available for download as two options: a debian package (about 20 MBs), or a complete image (about 2 GBs). The instructions for installation of both the options are available in the documentation.
FlytOS is available for download here: http://flytbase.com/flytos/#download
FlytOS installation instructions are available here: http://docs.flytbase.com/docs/FlytOS/FlytOS_install.html
API documentation is available here: http://docs.flytbase.com/docs/FlytAPI/ListOfAPIs.html
FlytSim documentation is available here: http://docs.flytbase.com/docs/FlytSim/FlytSim.html
Repository for sample onboard and web/mobile applications is here: https://github.com/flytbase/flytsamples
Please do share your feedback and comments. We are looking for more contributors to join us in this effort!
Comments
Hi,
Thanks a lot, I will try it :-)
Felicitation for the fist stable version, keep going
Best regards
Yes, you can use FlytOS on U3. Get the debian for XU4 from here (it works with U3, as well): http://flytbase.com/flytos/
For any technical queries, please use the forums: http://forums.flytbase.com/
Hi, very interesting. I just finish a pixracer quad and I allready have an Odroid U3. Do you think I could test it on the U3. I don't know why not, but prefere be sure and have your return before spend many hours for nothing :-) Thanks a lot
Hello Alain,
It would not take a lot of work to get the basic PoC/Demo working. However, making sure that "everything" works well and that you have a great user experience, is what takes time. It has taken us 3+ months of hard work, working closely with our beta users to get everything working smoothly on the current hardware.
We are now moving into production. Please support us on Indiegogo to make this happen :-)
https://www.indiegogo.com/projects/flytpod-advanced-flight-computer...
Hi Nitin,
Very impressive work! Has someone already tested FlytOS with an Odroid C2 and/or Ubuntu 16.04 / ROS kinetic by any chance? I understand you want to focus on a specific platform and environment for the next few months, I am just curious to know if there would be a lot of work involved to make it compatible.
Hello Patrick,
XU4 might not be the "best" solution for very intensive computer-vision tasks. Nvidia with CUDA should be able to easily outperform it. However, among most of the other low-cost options available (including RPI, RPI3, TI-based SBCs, iMX6-based SBCs), XU4 wins hands down. IMHO, it is by far the most powerful SBC available for under 100 USD.
For most common vision-based applications, XU4 should be adequate. We have already tried building some object-tracking and optic-flow based sample applications using XU4, and they perform well.
The plan is to get the essential parts of the FlytOS framework in place, and build sample application to test its capabilities. The same framework (if built right) can later be deployed on any other advanced h/w. Within 6 months or so, we expect a number of interesting hardware options to become available, esp. from qualcomm and nvidia. We will be able to leverage the power of hardware if we have the right software framework in place by then.
Hello Nitin,
Just like Gerry wrote, we can read about accelerated opendCV using MALI GPU, but I cannot find any complete demonstration of this under LINUX. I am on hold with RPI for now -waiting for the RPI3 to run on 64bit OS with working openGL drivers...might take a while- , and I am looking for the next development platform. You approach is really interesting, and the integration with the Odroid XU4 seems quite interesting.
There is one last question: Can we develop any kind of Hardware accelerated OpenCV .on the XU4 under Linux ? So far, NVIDIA seems to be the only real serious contender with really well documented and supporterd CUDA implementation.
Gerry, officially, Odroid XU4 seems to support OpenCL, but we have not yet tried it out.
BTW, FlytOS is being built, keeping it agnostic to the CC hardware (and drone/autopilot, for that matter). The current focus is on getting the basic framework in place that allows you to share data between onboard/offboard/mobile/cloud apps, integration with ROS and OpenCV, support for large network (swarms) of drones, rich APIs exposing different levels of functionality (right from low-level gain-tuning to high-level object-tracking), SILS, and so on.
As JB mentioned: later, we should be able to get it working on various hardware options (including, those optimised for OpenCL), as required for different applications.
Nitin:
Do you know if the Odroid XU4 can run OpenCL accelerated OpenCV code? I've had varying levels of success with ARM GPU compatibility...
The debian package of FlytOS should work on any Ubuntu/armhf compatible SBC (including, Jetson, RP3). However, we have, so far, done extensive tests on Odroid XU4 at our lab.
To stay focused, it would be better for all of us to use a single h/w platform over next few months. Once the basic features are stable, and we have a good repository of interesting applications, we will start experimenting with other hardware options.
Ordoid XU4 is a great platform, as it is quite powerful, low-cost and easily available. Many developers have already been using it (so they don't need to procure any new hardware to get started with FlytOS).