Skip to content

Ekumen-OS/andino-rs

Logo White

Logo Black

andino-rs

Oxidizing the andino robot.

🌐 Description

This project provides a rustacean version of the andino robot.

Tip

andino is a fully open-source diff drive robot designed for educational purposes and low-cost applications. Its ecosystem comprehends several integrations with many frameworks and simulations. Refer to official website: https://github.com/Ekumen-OS/andino to know more about andino and its ecosystem.

Prerequisites

For the real robot, refer to official instructions on building an andino.

For simulation, refer to workspace setup instructions.

Platforms

  • OS:
    • Ubuntu 22.04 Jammy Jellyfish
    • Ubuntu Mate 22.04 (On real robot (e.g: Raspberry Pi 4B))

📦 Project structure

⛏️ Workspace setup

Refer to .devcontainer/README.md

⚙️ Build

Build systems

This repository combines both rust and python packages. cargo and uv are the tools of choice.

  • Building rust packages:
    cargo build
    
  • Building python packages:
    uv build --all-packages
    

dora Integration

What is dora? See https://dora-rs.ai/

andino_dora package

Watch the video

andino_dora package provides serveral dora dataflows to use with the andino robot.

Check andino_dora's README for more information on how to run it.

andino_dora_sim package

andino_dora_sim package provides serveral dora dataflows for using simulations instead of the real robot to speed up development or if you don't have an andino built yet.

Check andino_dora_sim's README for more information on how to run it.

dora_node_hub folder

Dora nodes created to support the dora integration. These nodes are used in many of the dataflows created at andino_dora and andino_dora_sim packages. See dora_node_hub folder.

Appendix

On Running the Dora dataflows

dora run <path_to_dataflow> runs the dataflow locally. Alternatively, you can run first the coordinator and daemon with dora up and then dora start <path_to_dataflow> to start the dataflow. By default the coordinator is run at localhost and daemon pointing there. You can use a different setup. Follow the options from the dora --help CLI.

🙌 Contributing

Issues or PRs are always welcome! Please refer to CONTRIBUTING doc.

Code development

  • Workspace setup: Refer to .devcontainer/README.md
  • This repository uses pre-commit.
    • To add it to git's hook, use:
    pip install pre-commit
    pre-commit install
    
    • Every time a commit is attempted, pre-commit will run. The checks can be by-passed by adding --no-verify to git commit, but take into account pre-commit also runs as a required Github Actions check, so you will need it to pass.