Skip to content

tunahanertekin/robot-operator

 
 

Repository files navigation

robolaunch Kubernetes Robot Operator

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

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.

About

Kubernetes Robot Operator for ROS/2 Based Robots

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.0%
  • Shell 1.3%
  • Makefile 1.3%
  • Other 0.4%