robot-operator

command module
v0.2.7-alpha.6.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

README

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.

Documentation

The Go Gopher

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL