In this post, we delve into the functionality and operational aspects of NVIDIA’s ROS Omnibus Platform.
Join me as we explore and analyze its features and capabilities.
Extensible platform for virtual collaboration and real-time, physically accurate simulation. Creators, designers, researchers, and engineers can connect tools, assets, and projects to collaborate in a shared virtual space. Developers and software providers can also build and sell Omniverse Extensions, Apps, Connectors, and Microservices on the Omniverse platform to expand its functionality.
Footnote
Virtual Collaboration Space:
Digital workspace where people working in creative fields, research, engineering, or design can come together.
They can share and work on projects, tools, and digital assets in this virtual environment, almost as if they were together in the same physical space.
Real-Time, Physically Accurate Simulation:
The platform can simulate real-world physics in real-time.
This means it can mimic how things happen in the real world, like how objects move or interact, and it does this as it happens, without delay.
Extensibility:
The platform is designed to be expandable. This means it can be customized and enhanced with additional features.
Opportunities for Developers:
For those who develop software, there’s an opportunity to create and sell their own add-ons for the Omniverse platform.
These can be things like new features (Extensions), specialized applications (Apps), tools that help different software work together (Connectors), or even small, focused programs that perform specific tasks (Microservices).
Five core components of Omniverse Platform:
Omniverse Nucleus
The Central DB and Collaboration engine of Omniverse. With Nucleus, users share and modify representations of virtual worlds.
Omniverse의 중앙 DB와 협업 엔진. Nucleus를 사용하여 사용자들은 가상 세계를 공유하고 수정할 수 있다
Footnote
Central Database:
Very much like a storage space. It’s where all the data and digital representations of virtual worlds are stored.
This can include 3D models, environments, and other types of virtual assets.
Collaboration Engine:
Nucleus allows multiple users to access and work on these virtual worlds together.
It’s like a shared workspace where people can join, see what others are doing, and make their own changes.
Sharing and Modifying Virtual Worlds:
Users can upload their virtual creations to Nucleus, and others can access and modify them.
This collaboration can happen in real-time, meaning that changes made by one person can be immediately seen and further modified by others
Omniverse Connect
The libraries that connect popular content creation tools to Omniverse.
Omniverse에 인기 있는 콘텐츠 제작 도구를 연결하는 라이브러리들
With Connectors, users continue to work in their favorite software applications, such as SketchUp, Maya, and Unreal Engine, while benefitting from other Omniverse tooling.
Omniverse Kit
The toolkit for building native Omniverse Apps, Extensions, and Microservices.
Omniverse 앱, 확장 프로그램 및 마이크로서비스를 구축하기 위한 툴킷
Omniverse RTX Renderer
An advanced, multi-GPU renderer based on NVIDIA RTX™ that powers both real-time ray tracing and referenced path tracing.
“NVIDIA RTX™를 기반으로 한 고급 멀티-GPU 렌더러로, 실시간 레이 트레이싱과 참조 경로 트레이싱 모두를 지원.”
Advanced, Multi-GPU Renderer:
Renderer is like a sophisticated artist that can create or recreate scenes on a computer.
Creating recreating scenes?
Creating a scene on a computer involves digitally constructing an environment or setting.
This can be anything from a simple room to a complex outdoor landscape.
Recreating a scene means taking an existing environment (like a real-world location) and making a digital version of it that looks as close to the original as possible.
This particular renderer is advanced, meaning it uses the latest technology.
It’s also ‘multi-GPU’, which means it can use the power of multiple graphics cards simultaneously.
This helps in making the rendering process (creating the final image) faster and more efficient.
Based on NVIDIA RTX™:
NVIDIA RTX™ is a technology that’s known for making graphics look incredibly realistic, especially with lighting and shadows.
The Omniverse RTX Renderer uses this technology, which is why it can produce such high-quality, lifelike images.
Real-Time Ray Tracing and Referenced Path Tracing:
These are techniques used to calculate how light interacts with objects in a scene.
‘Ray tracing’: Way to simulate light and shadows that look very realistic. It calculates the path of light as it interacts with objects.
‘Referenced path tracing’ : Similar concept but typically used for creating even more detailed and accurate images, though it usually takes more time.
The Omniverse RTX Renderer can do both, and it does them in ‘real-time’, which means it calculates these effects incredibly quickly, almost instantly as you work on the scene.
Omniverse Simulation
A powerful suite of tools and SDKs that simulate a physically accurate world.
물리적으로 정확한 세계를 시뮬레이션하는 강력한 도구 및 SDK 모음
Refers to a collection of advanced tools and software development kits(SDKs) that are used to create very realistic simulations of the physical world on a computer.
Additional components of Omniverse Platform:
Omniverse Launcher
The native client for downloading, installing, and updating Omniverse Apps, Extensions, and Connectors.
Omniverse 앱, 확장 프로그램, 및 커넥터를 다운로드, 설치, 업데이트하기 위한 네이티브 클라이언트
Launcher is provided in both NVIDIA Omniverse™ for Individuals and NVIDIA Omniverse™ Enterprise.
Footnote
native client : A software application that is specifically designed to operate within a certain os or environment. Likely a dedicated application that facilitates the downloading, installation, and updating of Omniverse Apps, Extensions, and Connectors.
Omniverse Extensions
The plugins that define the capabilities of Omniverse Kit-based Apps.
Omniverse Kit 기반 앱의 기능을 정의하는 플러그인
Developers use Extensions to create, modify, and extend the tools and workflows they need to be productive.
Footnote
Plugins That Define Capabilities:
Think of Omniverse Extensions as extra pieces you can add to a basic software application to give it more functions or features.
Just like you might add a new app to your phone to do something extra, these extensions add new capabilities to the Omniverse Kit applications.
Create, Modify, and Extend Tools and Workflows:
Extensions allow developers to tailor the software to their specific needs.
They can create new tools or modify existing ones, and adjust the way they work (the workflow) to be more efficient or to do special tasks.
NVIDIA Omniverse: NVIDIA’s open graphic platform for real-time interchange, collaboration and shared virtual worlds.
Omniverse aims for universal interoperability across different applications and vendors.
It provides efficient real-time scene updates and is based on open standards and protocols.
Omniverse is designed to act as a hub, so that newly connected capabilities can be exposed as desired to any connected clients and client applications.
Nucleus
Core Services:
The fundamental services that Nucleus provides, like data storage and management. It acts as the central hub for all the data and collaboration in the Omniverse ecosystem.
Cloud:
Refers to the ability of Nucleus to store data and provide services through the internet, allowing users to access and collaborate from anywhere.
On-Prem:
Short for “on-premises”. This means that the Nucleus services and data storage can also be set up and run on local servers at a user’s location, rather than in the cloud.
Connect
Connect SDK:
Software Development Kit for Omniverse Connect, which allows developers to create plugins and integrations for various software tools to connect them with the Omniverse platform.
Plugins:
These are the actual tools or extensions created using the Connect SDK that integrate other software applications into the Omniverse ecosystem.
Kit
Viewer:
A tool within Omniverse Kit that allows users to view and interact with 3D content.
Editor:
This refers to the editing capabilities within Omniverse Kit, where users can modify and create 3D scenes and environments.
Framework:
The underlying structure or set of tools that Omniverse Kit provides for building and customizing applications.
RTX Renderer
Real-time:
This indicates that the rendering process (creating final images from 3D models) happens almost instantly, allowing for immediate viewing and interaction.
Scalable:
The renderer can efficiently handle both small and large, complex projects.
Accurate:
Ensures high fidelity and realism in the rendering, closely mimicking real-world physics and lighting.
MDL:
Stands for Material Definition Language, a method for defining materials in a way that accurately represents how they interact with light
Simulation
PhysX:
A physics engine that simulates real-world physical behaviors in the digital environment, like gravity, collisions, and fluid dynamics.
AI:
Artificial Intelligence capabilities in the simulation, allowing for intelligent behaviors and decision-making in virtual entities.
Animation:
The process of creating motion for characters and objects within the simulation environment.
Behavior:
Refers to the simulation of complex actions and reactions of entities within the environment, often governed by AI or predefined rules.
When encountering the Omniverse as an End User, one can simplify the conceptual organization to Platform, Apps and Connectors. Experiences are assembled as collections to create packages that resolve into coherent industry specific workflows.
Footnote
Platform:
This is the core of the Omniverse system. It includes the foundational technologies and services that everything else builds on. The Platform would involve things like the Nucleus for data management and collaboration, and the RTX Renderer for realistic graphics.
Omniverse 시스템의 핵심. 여기에는 다른 모든 것이 기반을 두는 기초 기술과 서비스가 포함되어 있습니다. 플랫폼에는 데이터 관리 및 협업을 위한 Nucleus나 사실적인 그래픽을 위한 RTX 렌더러와 같은 것들이 포함될 것입니다
Apps:
Specialized software applications within the Omniverse ecosystem. Each app is designed for a specific task or set of tasks, like creating 3D models, animating characters, or simulating physical phenomena. Examples might include design tools, visualization apps, or simulation software.
Connectors:
Connectors are essentially bridges that link the Omniverse platform to other software tools. They allow you to integrate the Omniverse with different software applications, so you can use all your favorite tools together seamlessly. For example, a connector might let you import a 3D model from a popular design software right into an Omniverse app.
-You can combine different apps and connectors in a package that’s tailored to specific industry needs or workflows.
Ex. In the architecture industry, a package might include apps for designing buildings, connectors to import models from architectural software, and tools to simulate lighting and materials realistically. This approach allows the Omniverse to be very versatile and adaptable to different professional fields.
In order to facilitate the need for a variety of content, Omniverse has an ever expanding list of connectors which plug-in to deliver content directly from source DCC tools.
Connectors (Left Sphere):
This globe-like structure represents the “Connectors” which are the bridges between various third-party applications (like Maya, 3DS Max, Revit, SketchUp, Substance, Unity, Unreal Engine 4, Grasshopper, Rhino, Houdini) and the Omniverse platform. These connectors allow users to import, export, and synchronize their work between these different software tools and Omniverse, facilitating a seamless workflow.
Omniverse Nucleus (Center Core):
The core in the middle symbolizes the Omniverse Nucleus, which is the heart of the collaboration and data management within the Omniverse platform. It functions like a centralized server where all the data is stored and managed, allowing for real-time collaboration and updates across different applications and devices.
Omniverse Platform (Right Segment):
The segment on the right lists various Omniverse Apps, which are specialized applications designed for different tasks within the Omniverse platform. These apps include VIEW, CREATE, CODE, MACHINIMA, ISAAC, FARM, XR, and AUDIO2FACE, each serving specific functions such as viewing 3D scenes, content creation, coding, animation, simulation, rendering, extended reality, and audio-driven animation respectively.
The image overall conveys how the NVIDIA Omniverse connects different software tools (via Connectors) to a centralized system (Nucleus), which then integrates with various dedicated applications (Omniverse Apps) for a range of tasks, all within the Omniverse Platform. This represents a unified and collaborative environment for real-time simulation and content creation across multiple industries.
이 이미지는 전반적으로 NVIDIA Omniverse가 다양한 소프트웨어 도구들을 Connector를 통해 중앙 집중식 시스템인 Nucleus에 연결하고, 이것이 다양한 전용 애플리케이션들(Omniverse app)과 통합되어 여러 산업 분야에 걸쳐 실시간 시뮬레이션 및 콘텐츠 생성을 위한 통합되고 협업적인 환경을 나타내는 방식을 보여줍니다. 이것은 Omniverse platform 내에서 다양한 작업을 위한 것입니다
Illustrate the architecture or flow of operations within the NVIDIA Omniverse ecosystem.
Connectors: These are plugins or interfaces that allow external applications and tools to connect and communicate with the Omniverse platform. They serve as the entry points for data and assets to be brought into the Omniverse ecosystem from other software environments.
Omniverse: Core of the platform.
Microservices: Small, independent processes that perform specific tasks. In the context of Omniverse, they might handle particular aspects of the simulation, rendering, or data management.
Renderer StreamSDK Web RTC: Streaming capabilities of the Omniverse’s rendering engine, which can deliver real-time graphics over the internet. “StreamSDK”, a software development kit related to this streaming capability, and “Web RTC”(Web Real-Time Communication) a technology that enables real-time communication directly in web browsers.
-Kit: Omniverse Kit, a toolkit for developers to build and customize applications within the Omniverse platform.
-Nucleus: Central collaboration and data exchange hub of the Omniverse platform. It manages and stores the data assets and allows for real-time updates and collaboration across different software tools and users.
Destination: Output or the end-use scenarios for the assets or experiences created within Omniverse.
-AR/VR: Augmented Reality/Virtual Reality, indicating that the content can be used for immersive experiences.
-Browser: This suggests that content can be deployed and viewed through web browsers.
-Streaming Client: This implies that there is a capability to stream content to remote clients, which could be software or hardware devices, enabling users to view and interact with Omniverse content without needing to have the full platform on their local machines.
Flow of data and interaction, starting from external tools connecting through Connectors, processing and management happening within Omniverse, and then the final output being delivered to various destinations for use or display. This image encapsulates how the Omniverse platform functions as a collaborative environment for real-time simulation and content creation, with the ability to distribute the results across different mediums and devices.
NVIDIA Omniverse™ Kit : Stack of assemblies, apps, extensions, microservices, core extensions and of course Kit itself.
Representation of the NVIDIA Omniverse™ Kit for developers, showing how different components are organized within the Kit’s architecture, referred to as the “Kit Stack.”
Kit: At the base of the stack, “Kit” refers to the core software development framework or environment of the Omniverse platform. Foundational layer that everything else is built upon.
Core Extensions: Moving up the stack, these are fundamental add-ons or plugins that extend the capabilities of the Omniverse Kit. They might include basic tools for creating and manipulating 3D content, like mesh editing or texture application, and support for Universal Scene Description (USD), NVIDIA PhysX for physics simulations, RTX for rendering, and Python (PY) scripting.
Extensions: These are the additional plugins or modules that developers can use or create to add specific functionality to Omniverse applications. They are built on top of the core extensions and can be highly specialized.
Assemblies: Collections of extensions that work together to perform more complex functions or to streamline workflows for specific tasks.
Microservices: Independent, small-scale services that perform specific tasks and can communicate with each other. They can be used to add or enhance functionality within the Omniverse ecosystem.
Apps: On the top of the stack, Full-fledged applications built using the Omniverse Kit, core extensions, and additional extensions. These applications can be tailored to various use cases or industry needs.
Image underscores the modular nature of the Omniverse Kit, where you can start with a robust foundation and build up with additional layers of functionality to create complex applications tailored to specific requirements. Each layer adds more tools and features, offering developers the flexibility to develop a wide range of 3D simulation and visualization applications within the Omniverse ecosystem.
Reference
https://docs.omniverse.nvidia.com/platform/latest/index.html
https://docs.omniverse.nvidia.com/platform/latest/structure.html