Update readme

This commit is contained in:
AntoineH 2024-09-05 15:49:34 +02:00
parent f327ed88dc
commit c7a65b31b9

View file

@ -5,13 +5,13 @@ Simulation of a multi-motor controller for [Aisprid technical challenge](doc/Ais
In root directory, call `make` to generate binary file. To clean up, call `make clean`. In root directory, call `make` to generate binary file. To clean up, call `make clean`.
## Usage ## Usage
### Configure simulation ### Configure simulation
- Edit [config file](./cfg/motors.yaml) with simulation parameters. This file should be provided to every commands. - Edit [config file](./cfg/motors.yaml) with simulation parameters. This file should be provided to every commands. Beware to set different ports to every motor.
### Servers startup ### Servers startup
1. Start Motor servers (with valid IDs from [config file](./cfg/motors.yaml)): 1. Start Motor servers (with valid IDs from [config file](./cfg/motors.yaml)):
```bash ```bash
./motorsim -c ./cfg/motors.yaml motor --id [ID] serve ./motorsim -c ./cfg/motors.yaml motor --id [ID] serve
``` ```
2. Start Motor controller server (Beware, if modifying port controllers commands except Port 8080): 2. Start Motor controller server (Beware, if modifying default port, other controllers commands except Port 8080):
```bash ```bash
./motorsim -c ./cfg/motors.yaml controller serve ./motorsim -c ./cfg/motors.yaml controller serve
``` ```
@ -33,13 +33,12 @@ Every command should be provided with valid ID from [config file](./cfg/motors.y
``` ```
- Set motor velocity: - Set motor velocity:
```bash ```bash
./motorsim -c ./cfg/motors.yaml motor --id [ID] moveVel -- [Velocity] ./motorsim -c ./cfg/motors.yaml motor --id [ID] moveVel [Velocity]
``` ```
## TODO ## TODO
- [ ] Closed loop control. - [ ] Closed loop control. Currently, not robust to delay in communications and limited command precision.
- [ ] Share Motor controller port with controller commands. - [ ] Share Motor controller server port with other controller commands.
- [ ] Use coroutines for gRPC services callbacks. - [ ] Use coroutines for gRPC services callbacks.
- [ ] Fix get Motor State service (Behavior not robust). - [ ] Fix get Motor State service (Behavior not robust).
- [ ] Fix Controller SetJoint command CLI omitting multiples input values.
- [ ] Send error responses to clients of gRPC services. - [ ] Send error responses to clients of gRPC services.