In the previous blog post, we introduced the computation and communication software architecture of the Autonomous Vehicles Research Studio and showed how it could be applied in a swarm configuration.

Autonomous Vehicles Research Studio Software Architecture


From homogeneous to heterogeneous vehicles with the same control architecture

While the swarm consists of homogeneous vehicles, we designed the research studio’s software architecture to be generic enough for applications involving heterogeneous vehicles as well. In the case of the Autonomous Vehicles Research Studio, the heterogeneous vehicles are represented by the QDrone quadrotor, a holonomic vehicle equipped with Intel Aero compute board and Intel RealSense camera, and the QBot 2 ground robot, a non-holonomic vehicle with Gumstix DuoVero computer and Kinect RGBD sensor.

The same control architecture used for swarms – the functional modules of the Mission Server, the Commander, and the Stabilizer, can be applied to this heterogeneous vehicle mission setup as well. In this scenario, the implementation of the Commander and the Stabilizer will be different for the QBot 2 and the QDrone. However, within the same overall architecture, the Commander and Stabilizer modules will function similarly on both vehicles to carry out the intended multi-vehicle mission.

Autonomous Vehicles Research Studio Software Architecture for Heterogeneous Vehicles Applications


Leader-follower communication

In the video below, you can see a leader-follower scenario where the QBot 2 is the leader, and the QDrone is the follower. In this scenario, we have both centralized communication between the ground station and the vehicles for individual localization information, and direct, vehicle-to-vehicle communication between the vehicles (as illustrated in the modified software architecture diagram above by the red lines, representing communication channels between the vehicles). The leader QBot 2 sends its location coordinate to the follower QDrone directly as trajectory following command. The QDrone then uses the QBot 2 coordinate, together with other parameters, such as the desired following distance, to carry out the trajectory following task. Towards the end of the video, we included a clip from our demo at this year’s International Conference on Unmanned Aircraft Systems (ICUAS’18) with one QBot 2 as the leader and two QDrones as the followers.

With the robust and versatile Stream Communication API functionality in QUARC real-time control software, this architecture can readily be applied to a scenario that includes additional third-party vehicles in an expanded multi-vehicle application.

For more details on the communication and computation framework of the Autonomous Vehicles Research Studio, download our whitepaper “Thinking and Talking in Multi-vehicle Research.”