The full Noos system is a three-tier system using a cloud based platform, a robot API/SDK, and a robotic application store for distribution and execution of apps on Linux and Android robots. Noos relies on current state-of-the-art frameworks such as OpenCV, Pytorch, MRPT, and CNTK, and enables a variety of applications to be instantly used on the robot on demand.
Process delegation
Delegating processes is the first tier in the Noos platform. Computer Vision processes (face detection, face recognition, object recognition), Speech-to-Text, Ontology and Knowledge sharing, environment mapping and sharing, other NLP-related tasks, can be performed on the cloud, freeing up resources on the robot. The platform doesn’t have to be an abstract entity, a server farm somewhere far away from the robot; it may in fact be near the deployment area (in what is known as edge computing or fog computing), or even on board the robot.
Distributed controllers
The second tier is using distributed robot controllers. Part of an application executes on-board the robot (using the native OS and SDK) and another part executes as a process on the cloud platform. We offer a variety of programming languages to suit all levels: JavaScript for beginners, Python for intermediate developers, C++ for experienced robotic developers. A feature-rich API/SDK means that developers don’t have to deal with deploying, installing, setting and configuring every nut and bolt of a complex system where many things can go wrong; we’ve already done this for them. We hide the low-level functionality and some of the mid-level functionality (e.g., specific algorithms) and provide a high-level interface, common across all three programming languages, so that even the most inexperienced developer may use complex algorithms right away.
Robotic Applications Store
The third tier is re-usability of robotic Apps (rApps), as open-source free software, or as proprietary non-free software (it is up to the developer to decide). We package and redistribute rApps through our robotic apps store. Developers may write robot-specific rApps, or general and abstract rApps which are platform-agnostic. For experienced developers, distributed rAPPs running partially on the platform and partially on the Robot are an added bonus, enabling a mix of distributed execution.
Internet or Robots and knowledge sharing
As an added benefit, we also support knowledge sharing via the cloud. We are strong advocates of the Internet of Things, and aspire to pioneer the Internet of Robots. Using Noos enriches robotic applications because objects, faces, sounds, voices, locations, and many other things, can be shared across different robots (only if the right permissions are given, we respect privacy!) enabling cooperation of robots in a novel manner.