During my first week at Quanser I was introduced to our QCar and QDrone as driving and flying computers, respectively. I could visualize this easily with the QCar, by connecting it to a monitor, plugging in a keyboard and mouse and using it with a full graphical Ubuntu desktop interface without any learning curve. I struggled with this idea for the QDrone though, as I had no experience using the pure terminal based Yocto Linux interface, which made things complicated for me. However, with the recent QDrone 2 in development, and a dedicated Ubuntu desktop interface, I was able to finally visualize it as a flying computer. To get started all I needed was the ability to plug in a monitor, keyboard and mouse!
Robots and QDrone 2
This got me thinking about the line between computers and robots and what actually makes a good robotic system. I think this boils down to having an operating system with a flavor of Linux which is standard for robotic systems. Next is the inclusion of multiple sensors to interact with the environment. Finally it should be flexible enough to adapt to a variety of applications. From this perspective, our first QDrone checked all of these boxes on being a good robotic system: a Linux operating system, a flexible platform and a full suit of sensors. However, at least for me, the pure terminal interface made it harder to interact with. This is where Quanser’s QDrone 2 takes the already great QDrone and improves upon it!
Let’s talk first about the brain/computer in the drone. Having access to a full Ubuntu desktop experience and a completely open architecture makes it an easy-to-use product for new students and experienced researchers alike. The QDrone 2 runs on an NVIDIA Xavier NX, containing a 6 core CPU as well as a GPU with over 350 CUDA cores and 48 Tensor cores. This powerful computer allows researches to use TensorRT for machine learning applications that run directly on the drone using the dedicated CUDA cores.
QDrone 2 has multiple sensors to support a variety of different research applications. The inclusion of two IMUs support researching the stability of a system and extend to fault detection by having a secondary IMU for redundancy. For computer based applications the QDrone 2, just like the QCar, utilizes an Intel RealSense for RGB and depth images; as well, it has cameras on both sides and the back to allow for 360-degree vision of the environment. 360-degree vision along with a downward facing camera increases the quality of vision based applications such as object recognition and mapping, to flying using markers or known features in the environment. A time of flight height sensor and an optical flow measurement allow you to control the QDrone 2’s height and estimate planar pose rates based on features on the ground.
Finally, let’s talk about the flexibility of the system. Since it runs using Ubuntu, we can rapidly deploy popular and relevant tools that exist today for robotic platforms on the QDrone 2. Our system, as most Linux based robotic platforms, supports Python, ROS, and C++. The real-time performance of the QDrone 2 is made possible by, QUARC, which is Quanser’s real time software. By having MATLAB/Simulink support, code can be compiled and ran directly on the QDrone 2 while you monitor its’ performance from another computer without any difficulties. Do not worry about getting started with the QDrone 2 either! We provide full examples in MATLAB/Simulink for autonomous flying which you can easily modify depending on your space and research needs.
Here is a perfect example of all these ideas in action! First shown in our webinar What makes QDrone 2 the ideal aerial research platform? .
Using our fully customizable Simulink code we provide with our products, we have QDrone 2 hovering in space while we use Python to access our cameras and TensorRT to do object recognition in the space around it. Check it out!
The flexibility of QDrone 2 allows you to expand your research interests.
The original QDrone boasted impact resistance, was great for flight stability research, resource optimization and path planning. QDrone 2 has further expanded on that. The upgraded computer and sensors suite now allow you to do even more complex research. For example, industry 4.0 research could include machine inspections using RGB images, as well as multivehicle networking and ground to aerial vehicle collaboration.
Although I’ve talked about the benefits of QDrone 2, you might also be wondering about its size. With an approximate 60 cm diagonal, it is larger than your typical hobby drone. This size is what allows it to have such a powerful computer inside. Imagine the difference in capabilities between a small RC toy like the one in the video and a QDrone 2, fully equipped for research.
This does not mean small drones are bad, they are great for swarm localization research. However, smaller drones tend to not have computing power and require an external computer or joystick to use them. With its larger size, QDrone 2 is able to do all the computation directly on board. Its computational power opens the door for more complex research applications outside path planning and heterogeneous swarms. Its larger size allows it to carry around payloads of up to 300 grams for different applications. This could range from mounting extra sensors using its programmable IO to using it to research payload transfer and delivery. As mentioned, this is not just another drone that can fly, it is a flying computer. If you had a flying computer, what would you do with it?