CleanIt
Software de autonomía de código abierto en Rust-lang con gRPC para los robots aspiradores de la serie Roomba
Motivación
La motivación es construir un software completo de autonomía DIY desde cero (planificación de movimiento, guía y control de movimiento, SLAM, control de misión, visualización 2D/3D, etc.) con una comunicación cliente-servidor en tiempo real usando gRPC asíncrono para la intercomunicación y cómputo distribuido.
La parte de SLAM está en progreso aquí: https://github.com/Sollimann/Occupancy-Grid-FastSLAM/tree/main
¡Contribuciones son bienvenidas!
Si te gustaría contribuir con trabajo y/o ideas, no dudes en revisar el Project Backlog
Ejecutar el cliente Roomba y la API
#### Ejecutar el servidor
$ cargo run --bin streaming-server#### Ejecutar el cliente
$ cargo run --bin roomba-clientEstructura
#### Diseño del Proyecto ├── 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
``
#### Diseño de caja/paquetebash
├── 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
Requisitos previos
Software
#### _Linux_
bash
$ [sudo] apt-get install libudev-dev pkg-config
Se requiere permiso de usuario serial para conectar con Create a través del puerto serial. Puedes añadir tu usuario al grupo dialout para obtener permiso:
bash
$ [sudo] usermod -a -G dialout $USER
Cierre sesión y vuelva a iniciar sesión para que esto surta efecto.
##### _MacOs_
bash
$ brew install TODO
``Hardware
- iRobot Create 2 (o iRobot Roomba serie 6xx con cable USB serial - https://store.irobot.com/en_US/parts-and-accessories/create-accessories/communication-cable-for-create-2/4466502.html )
- Raspberry Pi 4 (4GB)
- Cámara de profundidad Intel RealSense D435 o D435i