README ¶
robolaunch Kubernetes Robot Operator
robolaunch Kubernetes Robot Operator manages lifecycle of ROS 2 based robots and enables defining, deploying and distributing robots declaratively.
Table of Contents
Idea
The main idea of this project is to manage robots as Kubernetes custom resources. As a custom resource, a robot's lifecycle contains following operations and benefits.
- Robot Lifecycle Management
- Deployment
- Update
- Upgrade
- Vertical Scaling
- Adjusting robot's resources
- Robot Observability
- ROS observability tools (eg. rViz, Foxglove, ROS Tracker)
- Exporting ROS nodes, topics, services, actions and bandwidth
- GPU Acceleration
- Simulation (Gazebo, Ignition)
- VDI
- Geoghraphic Distribution
- Cloud-powered robot
- Cloud-connected robot
- Software development lifecycle
- Cloud IDE
- Connectivity
- Robot-to-Robot Discovery
- Node-to-Node Discovery
Refer robolaunch.io and project wiki for more architectural details and documentations.
Quick Start
Installation
Label a node in your cluster:
kubectl label <NODE> robolaunch.io/organization=robolaunch
kubectl label <NODE> robolaunch.io/team=robotics
kubectl label <NODE> robolaunch.io/region=europe-east
kubectl label <NODE> robolaunch.io/cloud-instance=cluster
kubectl label <NODE> robolaunch.io/cloud-instance-alias=cluster-alias
Install Robot Operator with Helm:
# add robolaunch Helm repository and update
helm repo add robolaunch https://robolaunch.github.io/charts/
helm repo update
# install chart
helm upgrade -i robot-operator robolaunch/robot-operator \
--namespace robot-system \
--create-namespace \
--devel
See installation guide for more.
Deploy Your First Robot
Robot deployment steps will be instructed here.
Contributing
Please see this guide if you want to contribute.
Documentation ¶
There is no documentation for this package.
Directories ¶
Path | Synopsis |
---|---|
client
|
|
generated/clientset/versioned
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
|
This package has the automatically generated fake clientset. |
generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
|
This package contains the scheme of the automatically generated clientset. |
generated/clientset/versioned/typed/roboscale.io/v1alpha1
This package has the automatically generated typed clients.
|
This package has the automatically generated typed clients. |
generated/clientset/versioned/typed/roboscale.io/v1alpha1/fake
Package fake has the automatically generated clients.
|
Package fake has the automatically generated clients. |
pkg
|
|
api/external/apis/mcsv1alpha1/v1alpha1
Package v1alpha1 contains API schema definitions for the Multi-Cluster Services v1alpha1 API group.
|
Package v1alpha1 contains API schema definitions for the Multi-Cluster Services v1alpha1 API group. |
api/roboscale.io/v1alpha1
Package v1alpha1 contains API Schema definitions for the robot v1alpha1 API group +kubebuilder:object:generate=true +groupName=robot.roboscale.io
|
Package v1alpha1 contains API Schema definitions for the robot v1alpha1 API group +kubebuilder:object:generate=true +groupName=robot.roboscale.io |
api/roboscale.io/v1alpha2
Package v1alpha2 contains API Schema definitions for the robot v1alpha2 API group +kubebuilder:object:generate=true +groupName=robot.roboscale.io
|
Package v1alpha2 contains API Schema definitions for the robot v1alpha2 API group +kubebuilder:object:generate=true +groupName=robot.roboscale.io |
Click to show internal directories.
Click to hide internal directories.