Software Development for Drones & Unmanned Systems
Companies that provide software design, development and testing services can be utilized to meet a wide variety of requirements within the UAV (unmanned aerial vehicle), unmanned systems and robotics industries. These services may allow OEMs and drone service providers to concentrate on their own core competencies, such as hardware, and outsource their software needs.
Software may be developed for a wide range of different platforms with different UI (user interface) requirements, including Windows, Android, iOS, Linux and Macintosh. Form factors and deployments may include desktop PCs, servers, and mobile devices such as laptops, tablets and mobile phones. Programming languages include C, C++, Java and Python.
Embedded Software & Firmware
As well as high-level applications, drone and robotics ecosystems may also require embedded software and firmware for a variety of different microprocessors and microcontrollers, as well as GPUs (graphics processing units). Specialist software may also be required for AI computing platforms such as NVIDIA Jetson.
Examples of custom desktop and server-based software applications that may need to be developed include; image processing software that can analyze aerial imagery gathered by drones, as well as mapping software for GCS (ground control stations). Simulation and testing software may also be required that can aid in the development of new UAV and robotics platforms.
Embedded software for drones and robotics includes operating systems that handle aspects such as navigation, takeoff and landing, payload control, communications, and collision avoidance. Writing control software for unmanned systems may require working with popular or industry-standard hardware and software such as ROS (Robotic Operating System), the MAVLink protocol, or Pixhawk autopilots.
Software developed for military and defense drones and unmanned systems may require high levels of cybersecurity. Avionics software also needs to be developed to safety-critical standards. Standards that developers may need to meet include DO-178 and ISO 14508.