SPHERES Zero Robotics software development: Lessons on crowdsourcing and collaborative competition

Crowdsourcing is the art of constructively organizing crowds of people to work toward a common objective. Collaborative competition is a specific kind of crowdsourcing that can be used for problems that require a collaborative or cooperative effort to be successful, but also use competition as a motivator for participation or performance. The DARPA InSPIRE program is using crowdsourcing to develop spaceflight software for small satellites under a sub-program called SPHERES Zero Robotics - a space robotics programming competition. The robots are miniature satellites, called SPHERES, that operate inside the International Space Station (ISS). The idea is to allow thousands of amateur participants to program using the SPHERES simulator and eventually test their algorithms in microgravity. The entire software framework for the program, to provide the ability for thousands to collaboratively use the SPHERES simulator and create algorithms, is also built by crowdsourcing. This paper describes the process of building the software framework for crowdsourcing SPHERES development in collaboration with a commercial crowdsourcing company called TopCoder. It discusses the applicability of crowdsourcing and collaborative competition in the design of the Zero Robotics software infrastructure, metrics of success and achievement of objectives.