EOS is a dual-core operating system designed specifically for embodied intelligence, suitable for robots, drones, satellites or other scenarios requiring real-time and general capabilities.

1201
173
C

EOS


Zulip chat
en
zh

Introduction

EOS is an embodied intelligence operating system release based on the dual-kernel real-time kernel RROS.
It aims to build an easy-to-use platform to collect all the software needed to create an intelligent robot application.
Specifically, there are three important steps:

  • Build a robot package manager to collect related libraries/framworks/algorithms
  • Improve the RROS ability in the robot development
  • Optimize the package performance in the package platform

image

Usage

[Instructions on how to use the system go here.]

Contributing

How to Contribute Your Package to the User Repository

The EOS user software repository is currently built using the Copr project. If you are already familiar with using Copr, feel free to skip this section and start using the EOS user repository directly.

Preparation

The EOS user repository is built on the Fedora Copr project. You can refer to the official Copr documentation for more detailed guidance on using Copr.
First, register for a Fedora account via Fedora Accounts (fedoraproject.org).
Then, visit the user repository homepage and log in using your Fedora ID.

1725976528436

After successfully logging in, go to your personal dashboard:

image-20240910215916777

Create a New Project

Click the New Project button to create a new project. Enter the project name, select the desired build environment (Chroots) for the package, and configure other optional settings as needed.

image-20240910220838008

After completing the configuration, click Create to create the project.

1725977723240

Build a Package

On the project homepage, select Builds and click New Build.

1725978624151

Here, we will build the package by directly uploading the srpm file. Under the Upload section, click the Browse button to upload your local srpm file. If you’re unfamiliar with how to build an srpm package, you can refer to this guide for more details.

1725978723980

Select the local srpm file and click Open to upload.

image-20240910223352577

Finally, click Build to start building the package.

1725978912129

Build successful.

1725979056196

Click on the corresponding Build ID to view the build results.

1725979186212

image-20240910224043177

Copr also supports various other methods to build your package. For more details, please refer to the official documentation.

Using Your Personal Repository

First, return to the project homepage and obtain the repository configuration file for the corresponding version. Click on the version number.

1725979554852

Copy the link.

1725979632482

Navigate to the /etc/yum/repos.d/ directory and download the corresponding configuration.

1725980030845

You can then download the package.

image-20240910225455708

How to use community packages integrated with ROS

Currently, we offer a COPR platform for building RPM packages. Support for Deb and other package formats will be added in the future. To install RPM packages, you need to add the EOS repository to your system. Here’s an example for Fedora:

sudo wget -O /etc/yum.repos.d/stevenfreeto-hello-eos-fedora-39.repo http://eos.eaishow.com:9250/coprs/stevenfreeto/hello-eos/repo/fedora-39/stevenfreeto-hello-eos-fedora-39.repo
sudo dnf makecache
# sudo yum makecache    # or if you use yum

Additionally, you need to add the EOS rosdep to your ROS environment. Edit the rosdep configuration file at /etc/ros/rosdep/sources.list.d/20-default.list and append the following line:

yaml https://raw.githubusercontent.com/EOS-OS/EOS/main/package-manager/rosdep/base.yaml

After these steps, you can use ROS packages that depend on EOS community packages.

Where you can find us

At the EOS Zulip or email eosrros AT gmail.com.

Who are we

We are a group of robotic developers from research institutes, schools, and robotics enterprises.
We hope EOS can unite the strengths of different aspects to accelerate robot development and shorten the communication path between developers and end users.

Roadmap

image

  1. Estabiliing a package manager tool for the robot development
    • [X] A package image source
    • [ ] A client for package management
      • [X] Kernel Layer: Integrate core system libraries to ensure system stability and compatibility.
        • [X] A platform based on the Copr to collect packages
      • [ ] EI Translator (Embodied Intelligence Translator): Convert kernel-layer libraries into internal libraries for the middleware layer, facilitating seamless integration across multiple system layers, including ROS/Dart.
      • [ ] Middleware Layer:
        • [ ] ROS: Provide middleware support for the Robot Operating System, enhancing automation and robotics development capabilities.
        • [ ] Dora: Offer advanced middleware support for distributed systems, increasing system scalability and flexibility.
  2. Use RROS kernel to enhance the realtime ability of robot development
    • [ ] Realtime ability
      • [ ] Adapt ROS
      • [ ] Adapt Dora
      • [ ] Adapt EtherCAT protocol
    • [ ] Adaptation and optimization for domestic Chips
      • [X] x86 Series
      • [X] ARM Series
      • [X] LoongArch (Works on the single CPU core)
      • [ ] RISC-V
  3. Development of upper-layer applications based on the RROS kernel
    • [ ] Provide a rich API to support application developers in fully leveraging the powerful features of the RROS kernel, accelerating application development and deployment.
    • [ ] Accelerate the applications with the RROS APIs.