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
- Host: GitHub
- URL: https://github.com/robolaunch/robot-operator
- Owner: robolaunch
- License: apache-2.0
- Created: 2022-12-05T07:26:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-05T14:27:01.000Z (over 1 year ago)
- Last Synced: 2024-12-05T15:28:45.348Z (over 1 year ago)
- Topics: artificial-intelligence, container, development, go, kubernetes, machine-learning, ros2
- Language: Go
- Homepage: https://robolaunch.github.io/robot-operator/
- Size: 2.31 MB
- Stars: 25
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
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](#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.