#5 - Inside the Architecture of the Intrinsic Platform
In a recent online keynote, Intrinsic Robotics, a company under Google's umbrella, unveiled its inaugural product, sparking excitement within the robotics community. Two years ago, Google established Intrinsic with a clear vision: to simplify robot programming and democratize access to advanced robotics skills.
To achieve this ambitious goal, Intrinsic assembled a team of well-known robotics experts, including Rainer Bischoff, former CTO of Kuka, Torsten Kroeger, a professor at the Karlsruher Institut für Technologie (KIT), and Stefan Schaal, a renowned reinforcement learning expert.
The announcement of Intrinsic's first product piqued my curiosity, prompting me to delve into the architecture of its highly anticipated intrinsic platform. In my quest for knowledge, I relied on two primary sources: the Product Keynote and the enlightening "Robotik in der Industrie" podcast.
In this post, we will delve into the architecture of the Intrinsic platform and explore its essential components and principles. We will uncover how Intrinsic wants to empower robotics solution designers by providing them with the necessary tools, functionalities, and services to develop modern AI-based robotics.
The Intrinsic principles
Four core principles underpin the Intrinsic platform:
Empowering Robotic Application Developers: Intrinsic's primary objective is to create a platform that caters to the needs of robotic application developers. By providing a range of tools, functionalities, and services, the platform aims to empower these developers in their pursuit of building advanced, AI-based robotics solutions.
Accessible Advanced Robotics and AI: Intrinsic recognizes that the current landscape requires significant AI skills from robotics solution developers and integrators in designing robot cells and applications. To address this challenge, the platform strives to make advanced robotics and AI more accessible. Intrinsic aims to reduce the burden of acquiring and implementing AI skills for all stakeholders by offering resources, support, and a collaborative environment.
Streamlining Development Efforts: Intrinsic endeavors to provide a comprehensive platform that allows developers to focus primarily on developing robotics skills for their solutions rather than investing significant time and effort in building the underlying framework to apply those skills.
Hardware Interoperability: Intrinsic acknowledges the importance of making hardware interoperable within the platform. By supporting a wide range of hardware components, including robots, end-effectors, and sensors, the platform facilitates seamless integration and compatibility among different hardware solutions. This interoperability eliminates compatibility barriers and allows developers and integrators to choose and combine hardware components that best suit their requirements and applications.
Through these four principles, the Intrinsic platform aspires to create an ecosystem that empowers developers, facilitates the adoption of advanced robotics and AI, streamlines development efforts, and promotes hardware interoperability.
The context of the Intrinsic platform
The Intrinsic platform aims to bridge the gap between robotics solution providers, both in terms of hardware and software, and the end-users of robotics systems. Rather than directly connecting with end-users, Intrinsic has adopted a strategy of engaging integrators as intermediaries. The platform focuses on ensuring the interoperability of hardware and software solutions and providing these solutions to integrators.
The platform offers a space for robotics software solution designers and developers to provide expertise in perception, grasping and path planning. These professionals can utilize the platform to provide their solutions to robot cell developers and integrators, who can then leverage these capabilities to enhance their robotics systems.
In addition to software solutions, Intrinsic also facilitates interfaces for hardware products from manufacturers, including robots, end-effectors, and sensors. The platform wants to simplify the integration of diverse hardware components by providing standardized interfaces, enabling integrators to select and combine the most suitable tools for their specific robotic applications.
The components of the Intrinsic platform
The Intrinsic platform consists of both front-end and back-end components that work together to provide a comprehensive development environment for robotics solutions:
Front-end:
One of the key components of the front-end is the first announced product called "Flowstate." Flowstate is a web-based development tool that offers a graphical designer for creating robotic applications. It encompasses two main aspects: the digital hardware design via a CAD model and the definition of the robotic solution behavior through a flow chart based on decision trees. Additionally, Flowstate incorporates a physical simulation of the cell, leveraging the CAD model and the decision tree to simulate and evaluate the behavior of the solution.
Back-end:
The back-end of the Intrinsic platform provides interfaces to assets such as robots, end-effectors, and sensors (e.g., vision or force sensors), allowing developers to seamlessly integrate these components into their robotic applications within the Intrinsic ecosystem. Intrinsic wants to simplify leveraging different hardware assets and ensure compatibility across various devices via standardized interfaces.
Moreover, Intrinsic offers an out-of-the-box library of advanced AI skills that developers can utilize in their robotic applications. These skills include capabilities such as perception, collision-free path planning, and grasping. Additionally, the platform is open to external skill providers, allowing them to offer their solutions via the Intrinsic platform.
The Intrinsic platform employs a Gazebo-based physical simulation of the robot cell to facilitate testing and validation. This simulation environment enables developers to assess the behavior of their solutions and train models in a virtual setting before deploying them on physical robots. By leveraging simulation, developers can iterate and refine their solutions more efficiently, reducing potential risks and costs associated with real-world testing.
Furthermore, the Intrinsic platform incorporates machine learning and AI models specifically designed for robotic skills such as perception, path planning, or grasping. These pre-built models provide developers with powerful tools to enhance their robotic applications and leverage advanced AI capabilities without developing these models from scratch.
The architecture of the Intrinsic platform
The principle of interoperability is a fundamental aspect of the Intrinsic platform, which follows an architecture similar to ROS (Robot Operating System). The platform's control and planning framework, the Intrinsic controller, operates on a vendor-independent industrial PC (IPC) comprising both a real-time and a non-real-time part.
The real-time part of the IPC is responsible for controlling the robot system and incorporating safety functionalities. This component considers physical models of the robots or end-effectors to ensure precise and reliable control. It handles time-critical operations required for real-time control and safety monitoring.
On the other hand, the non-real-time part of the IPC focuses on non-time-critical tasks such as perception and planning. This component utilizes data-based models, typically machine learning or AI models, that are essential for perception and planning algorithms. By deploying these models, the non-real-time part of the IPC enables efficient and accurate perception and planning capabilities for the robotic system.
The Intrinsic controller maintains a connection with Flowstate, the web-based development tool, to facilitate visualization of the current state of the robot system. It also uploads developed decision trees, AI skills, or models to the software on the Intrinsic controller, enabling seamless integration and collaboration between the development environment and the control framework.
The Intrinsic platform also provides interfaces to interact with hardware components such as robot control systems, end-effectors, sensors, and drives. The framework offers two different approaches for controlling the robot:
Using Public Streams: The Intrinsic platform utilizes public streams to share commands and sensor signals between the central Intrinsic controller and the robot's controller. This method offers a more open framework with less deep integration between controllers. It allows for communication and coordination between the Intrinsic and robot controllers without tight coupling them.
Intrinsic interface framework: The Intrinsic platform will also provide a specific interface framework that robot manufacturers can choose to implement. This approach involves a deeper integration of the Intrinsic controller within the robot's control framework. Implementing the Intrinsic interface makes the robot controller more closely linked to the central Intrinsic controller, enabling tighter integration and synchronization.
The decision to use either the public streams approach or the Intrinsic interface framework depends on the preferences and requirements of the robot manufacturer. The public streams approach offers a more flexible and open framework, allowing interoperability with different robot controllers. On the other hand, the Intrinsic interface framework provides a more integrated and coordinated control solution, which may be advantageous in specific scenarios.
Conclusion
In conclusion, the Intrinsic platform represents a significant advancement in robotics by providing a comprehensive ecosystem that connects solutions providers, integrators, and end-users. With its first focus on empowering robotic application developers and making advanced robotics and AI more accessible, Intrinsic opens up new possibilities for innovation and collaboration.
With the acquisition of Open Robotics, the developer behind the Robot Operating System (ROS), Intrinsic's strategy becomes apparent - the professionalization of the ROS framework to enable its application in the industrial domain. ROS has long been a widely used framework for the agnostic operation of robotic systems within the research community. This strategic move demonstrates Intrinsic's commitment to building upon the foundations laid by ROS and expanding its reach into the industrial sector, paving the way for enhanced collaboration and innovation in robotics.