robolaunch is a Cloud-Native Robotics Platform that provides the end-to-end infrastructure, software stack and tools for developing, simulating, deploying and operating ROS/ROS2 robots at scale.
robolaunch's end-to-end infrastructure, which we also call it "Unified Robotics", enables robotics developers to develop & simulate robotics applications on cloud via VDI infrastructure that uses GPU power, deploy robotics applications to the physical robots remotely and operate the robot's status in a run-time with management, orchestration and monitoring functionalities.
Robotics development contains many challenges itself. Such as it requires multi-domain knowledge to build a robot and this process is mostly dependent on expensive hardware. Therefore the process becomes hard to achieve and time consuming as a result.
With robolaunch, we want to give robotics developers the ability to develop, deploy and manage ROS/2 robots easily. One of our primary motivation in developing robolaunch is to remove barriers to entry in robotics development.
robolaunch Cloud Robotics Platform is based on Kubernetes because we believe future of robotics will be a distributed and cloudified system and Kubernetes helps us to provide tenancy, automated deployments and self configuration of work-processes.
We believe that robolaunch will provide great convenience to robotics developers in many ways. We will continue evolving robolaunch with our dedicated team. In the meantime, we hope you to contribute to the codebase so that we can improve robolaunch together.
-
Faster to Getting Started - eliminates the time spent configuring a development environment locally on personal computer
-
Cost Efficient - eliminates the costs required for robotics hardware and computational resources
-
Sim-to-Real - remotely deploy the robotics applications that developed on robolaunch to the physical robot(s)
-
Visualization - monitor and manage your robots in run time from robolaunch dashboard for a full control over your robots
-
Flexibility - leverage from entire platform features, or pick the components according to your needs
Four non-functional outputs (Scalability, Connectivity, Acceleration, Automation) that have deriven from functional features are listed below.
- Infrastructure as Code - automated Kubernetes cluster provisioning
- Multicluster Orchestration - manage clouds and robots geographically
- Container-based - benefit from the power of virtualization, optimized for the edge
- Built-in VPN (cloud-powered mode) - access robots securely regardless of their network environment
- Isolated L2 Networks - isolating tenants' data and control planes
- Isolated Robots - isolating robots by both ROS namespacing and DDS domains
- Hardware Acceleration - use hardware acceleration (GPU) for robot simulation, training and virtual desktop environment
- Virtual Desktop Environment - use desktop environment to run observability tools
- Hardware-in-the-Loop Simulation - test, train and simulate robotics applications by updating embedded software remotely
- Robot-as-a-Service - deploying and managing robots and fleets declaratively
- On-the-Fly Development - software development using integrated Cloud IDE on runtime
- Easy Updates - remotely update the software on your robots
- Robot Templates - predefined and reusable robot templates to work with right away
- Extended Kubernetes API - extend robolaunch feature set according to your specific needs
Learn more on robolaunch.io.
Architectural components of robolaunch are defined below.
-
robolaunch Management Suite - contains management console and components
- robolaunch Management Console - subcomponent of management suite that contains orchestrator and UI
- robolaunch Orchestrator - backend that orchestrates platform operations using workflow engine
- robolaunch UI - frontend that enables performing platform capabilities via user interface
- robolaunch Management Components - subcomponent of management suite that contains other open-source management tools
- robolaunch Management Console - subcomponent of management suite that contains orchestrator and UI
-
robolaunch Kubernetes Infrastructure - Kubernetes infrastructures for central cloud, regional cloud and edge cloud
- robolaunch Super Cloud Instance - Kubernetes cluster which is the control plane of cloud instances (virtual clusters)
- robolaunch Cloud Instance (Virtual Cluster) - tenant Kubernetes cluster that contains fleets of robots in a region
-
robolaunch Kubernetes Operators
- robolaunch Robot Operator - software that does decomposition, regional distribution, lifecycle management and configuration of ROS-based robots in cloud-only, cloud-powered or cloud-connected modes
- robolaunch Robot - contains ROS components (Runtime Pod, VDI, Code Server IDE, ROS Tracker, Foxglove Studio, ROS Bridge Suite, Configurational Resources), robolaunch Robot instances can be decomposed and distributed to both cloud instances and physical robots using federation
- robolaunch Fleet Operator - software that manages lifecycle and configuration of multiple robots and robot's connectivity layer that contains DDS Discovery Server and ROS Bridge Suite
- robolaunch Fleet - contains multiple robot deployments across multiple physical robots and cloud instances using federation
- Fleet Namespace - corresponds to a federated Kubernetes namespace in a cloud instance which is abstractly matched with a fleet
- Robot Namespace - corresponds to a federated Kubernetes namespace in edge (physical robot), contains a physical member of fleet
- Cloud Infrastructure (AWS) - corresponds common cloud infrastructure on AWS
- Physical Robot - corresponds a physical robot and it's components
- Robot Infrastructure - corresponds common robot infrastructure
For more detail, see concepts.
Submodules of robolaunch Cloud Robotics Platform are as follows:
- robolaunch Kubernetes Infrastructure
- robolaunch Kubernetes Robot Operator
- robolaunch Management Suite
There are two deployment options available: Cloud Based Deployment and On Premise Deployment.
The prerequisites for each deployment option are specified separately. In each option, you can deploy single-node or multi-node Kubernetes clusters.
- AWS account
- Laptop, virtual machine or physical server
- MiniKube or Kubernetes
Contact us from [email protected] for general inquiries.
Thank you for your interest in robolaunch and the desire to contribute! Please check out organization repositories' contribution guides to learn about conventions to make your changes compatible to our style.
- Slack - soon
- Discord - soon
- robolaunch Forum - soon