Using software for defining what comprises a machine makes it possible to reconfigure the connected components into ad-hoc robotic solutions that are best suited to perform a task with the available resources at any moment.
Other solutions to the same problem utilize independent, self organizing modular hardware elements, however, they generally sacrifice functionality for the required high level of modularity: providing modularity in hardware requires significant hardware resources.
By connecting all the needed components into a common network, a communication graph can be utilized for orchestrating the synchronization of the components. This communication graph allows us to optimize all the steps of the execution using graph theory. The communication graph also guarantees fail-safe and reproducible execution of critical tasks.
Other platforms also utilize such communication graphs but not to the extent, which a fully networked machine is capable to.
During the development of a machine this platform is capable of hybrid simulation with existing and virtual hardware components, allowing efficient testing of the complete execution logic in the earliest phases of development.
Other platforms usually also provide simulation environments, but the development costs of such environments are usually high, while our software-defined machine platform itself is in essence a machine simulation, so this environment is readily available without any further engineering costs.
“Software needs to decouple from hardware so developers have a common, wide-reaching marketplace to sell their solutions.” (Nikhil Chauhan, Director of Marketing for GE Software, DevOpsAngle, 2013 October 7th).
By decoupling logic and hardware, the economy of robotics will shift from hardware manufacturing toward software development. This will result in reduced non-recurring engineering costs inviting more innovation, and in a potentially much more open market of machines defined in software.