Developing a drone platform from scratch is hard!
I'm Dr. Michael Creagh, the CEO and CTO of Skyborne Technologies. We're developing a complete aircraft from scratch. Everything from soldering the components onto the flight computer, to programming the real-time operating system to machining components of the hardware and designing the controllers. Many, if not most people and companies will make a new drone platform based on an existing type (i.e. quadrotor or fixed-wing) and off-the-shelf flight computers, components and software. They'll take an Ardupilot and tweak certain parameters until it works!
Why do we develop (most importantly) software from scratch? There are a number of good reasons. Firstly, it gives you ultimate control over debugging and functionality. Our tri-tilt-rotor drone has a number of unique physical properties due to the actuator combination. It's actually over-actuated, meaning that you can do certain manoeuvres in a couple of different ways.
Moving forward for example, can be achieved by either tilting the main rotors forward or pitching the whole airframe forward. We would have to modify the off-the-shelf code so much that it's better to start from scratch. Not a lot of people realise too, that the attitude/navigation system can perform far better if it's custom-designed and tailored to the vehicle. My background is navigation systems. I have designed MEMS-based sensor suites that don't drift when put in spinning, hypersonic re-entry vehicles. But you need to know the properties of the vehicle to do it!
From a business perspective, look at DJI and Apple. They both own their entire systems and not a lot is open-source. We would prefer to keep control over everything we do, so we are less likely to be copied.
Of course there are disadvantages to creating your own system too. The most obvious is the time it takes to get something together and working. You also need more engineers working on the problem.
We have found that the effort is worth it though. The amount of learning that happens when you take responsibility for everything is phenomenal. We have debugged so many things and learnt so many lessons that I have lost count!
Until next time,
MC