I recently ran a survey to determine how and where companion computers were being used by the ArduPilot community.
This was done as part of research into a successor to my Pi-Connect board, but the results are also of interest to the community. The results are presented below.
I would caution that I did not get as many responses as I had anticipated (53 respondents). So the results presented below should not be taken as precise numbers. Instead, they should be interpreted as general trends.
For each question, I have generated a graph and given a few observations.
The Results
Most ArduPilot users do use (or plan to) companion computers. I would point out that this being a “companion computer survey”, many people who do not use them may have elected not to complete the survey.
----------------------------
There is a generally equal split between hobbyist, commercial and R&D work; but with a slight bias towards hobbyists. Respondents could select multiple answers here if they wanted.
----------------------------
No clear winner here. This shows how varied and flexible companion computer usage is. Respondents could select multiple answers here if they wanted.
----------------------------
It is very clear here that the Raspberry Pi and Nvidia Jetson are by far the popular companion computers. Respondents could select multiple answers here if they wanted.
----------------------------
Over a third of users are creating their own software using libraries such as pymavlink, dronekit or MAVSDK.
There’s a lot of development going in here, with 73% of respondents doing some level of bespoke development.
----------------------------
Python and C/C++ are by far the most used programming languages for software development. Javascript wasn’t as popular as I expected, possibly indicating that web-based GUI’s (Javascript’s typical use case) are not a commonly developed tool. I would be interested to see what proportion of the Python and C/C++ users are using ROS though, as it’s not clear if the ROS users answered as ROS or using Python/C++.
Respondents could select multiple answers here if they wanted.
----------------------------
Looking at the top desired features here, it links back to why the Raspberry Pi and Nvidia Jetson are so popular. Respondents typically want something small with a powerful CPU, plenty of existing software libraries and good community support - which the Pi and Jetson excel at.
Summary
For ArduPilot users, most companion computer usage is centred on the Raspberry Pi and Nvidia Jetson. C/C++ and Python development of bespoke applications is typical on the software side, creating a wide variety of applications.
Thanks for reading!