Web Analytics

CleanIt

⭐ 295 stars French by Sollimann

CleanIt

Build Status codecov minimum rustc 1.45 version Maintenance GitHub pull-requests GitHub pull-requests closed ViewCount License: MIT

Logiciel d'autonomie open-source en Rust-lang avec gRPC pour les aspirateurs robots de la série Roomba

Motivation

La motivation est de construire un logiciel d'autonomie complet en DIY à partir de zéro (planification de mouvement, guidage et contrôle du mouvement, SLAM, contrôle de mission, visualisation 2D/3D, etc.) avec un flux de communication client-serveur en temps réel utilisant gRPC asynchrone pour l'intercommunication et le calcul distribué.

La partie SLAM est en cours de réalisation ici : https://github.com/Sollimann/Occupancy-Grid-FastSLAM/tree/main

Les contributions sont les bienvenues !

Souhaitez-vous contribuer par du travail et/ou des idées ? N'hésitez pas à consulter le Project Backlog

Exécuter le client Roomba et l'API

#### Exécuter le serveur

$ cargo run --bin streaming-server
#### Exécuter le client

$ cargo run --bin roomba-client

Structure

#### Organisation du projet
 ├── Cargo.toml (workspace)
 ├── Cargo.lock
 ├── api (lib/bin)
 |   └── client
 |   └── server
 ├── autonomy (bin)
 |   └── mission
 |   └── motion
 |   └── slam
 |   └── perception
 |   └── risk
 ├── drivers (lib)
 |   └── roomba
 |   └── realsense
 |   └── rplidar
 |   └── raspberryPi
 └── proto (lib)
 |   └── roomba_service.proto
 |   └── messages.proto
 |   └── types.proto
 |   └── robot_state.proto
 |   └── map2D.proto
 ├── setup (bin)
 |   └── config
 |   └── main
 └── visualization (bin)
 |   └── urdf
 |   └── map
 |   └── camera
 ``
 
#### Disposition de la caisse/du paquet
bash ├── Cargo.toml ├── Cargo.lock ├── src │ ├── main.rs │ ├── lib.rs │ └── bin │ └── another_executable.rs ├── tests │ └── some_integration_tests.rs ├── benches │ └── simple_bench.rs └── examples └── simple_example.rs

Prérequis

Logiciel

#### _Linux_

bash $ [sudo] apt-get install libudev-dev pkg-config

La permission d’utilisateur série est requise pour se connecter à Create via le port série. Vous pouvez ajouter votre utilisateur au groupe dialout pour obtenir cette permission :
bash $ [sudo] usermod -a -G dialout $USER

Déconnectez-vous puis reconnectez-vous pour que cela prenne effet.
##### _MacOs_
bash $ brew install TODO
``

Matériel

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-03 ---