An open API service indexing awesome lists of open source software.

https://github.com/robolaunch/robot-operator

Kubernetes Robot Operator for ROS/2 Based Robots
https://github.com/robolaunch/robot-operator

artificial-intelligence container development go kubernetes machine-learning ros2

Last synced: 5 months ago
JSON representation

Kubernetes Robot Operator for ROS/2 Based Robots

Awesome Lists containing this project

README

          

# robolaunch Kubernetes Robot Operator




license


issues


release





release


Go Reference


Go Reference





pulls


build


robolaunch Kubernetes Robot Operator manages lifecycle of ROS 2 based robots and enables defining, deploying and distributing robots declaratively.

kubectl-get-robots

kubectl-describe-robot

## Table of Contents
- [Idea](#idea)
- [Quick Start](#quick-start)
- [Installation](#installation)
- [Deploy Your First Robot](#deploy-your-first-robot)
- [Contributing](#contributing)

## 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](robolaunch.io) and [project wiki](https://github.com/robolaunch/robot-operator/wiki) for more architectural details and documentations.

## Quick Start

### Installation

Label a node in your cluster:

```bash
kubectl label robolaunch.io/organization=robolaunch
kubectl label robolaunch.io/team=robotics
kubectl label robolaunch.io/region=europe-east
kubectl label robolaunch.io/cloud-instance=cluster
kubectl label robolaunch.io/cloud-instance-alias=cluster-alias
```

Install Robot Operator with Helm:

```bash
# 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](./docs/installation/README.md).

### Deploy Your First Robot

Robot deployment steps will be instructed here.

## Contributing

Please see [this guide](./CONTRIBUTING) if you want to contribute.