Small cleanup of readme

This commit is contained in:
2026-04-16 17:06:52 +00:00
parent 7bbe2c3537
commit bedf47ba57
+20 -16
View File
@@ -7,7 +7,7 @@ ROS 2 package for differential-drive motor control on the Yahboom Raspbot V2 pla
## Architecture ## Architecture
``` ```
┌──────────────────────────────────┐ ┌──────────────────────────────────
│ MotorControllerNode │ │ MotorControllerNode │
│ │ │ │
/cmd_vel ──────────>│ Twist → differential kinematics │ /cmd_vel ──────────>│ Twist → differential kinematics │
@@ -18,14 +18,14 @@ ROS 2 package for differential-drive motor control on the Yahboom Raspbot V2 pla
(Float32MultiArray │ [FL, FR, RL, RR] │ (Float32MultiArray │ [FL, FR, RL, RR] │
4 × float32) │ │ 4 × float32) │ │
│ ▼ │ │ ▼ │
│ raspbot_v2_interface │ raspbot_v2_interface │
│ I²C bus 1, addr 0x2B │ │ I²C bus 1, addr 0x2B │
│ ▼ │ │ ▼ │
│ /dev/i2c-1 ─────────> Motors │ │ /dev/i2c-1 ─────────> Motors │
│ │ │ │
/current_wheel_speeds│<─ telemetry @ 10 Hz │ /current_wheel_speeds│<─ telemetry @ 10 Hz │
(Float32MultiArray) │ [FL, FR, RL, RR] │ (Float32MultiArray) │ [FL, FR, RL, RR] │
└──────────────────────────────────┘ └──────────────────────────────────
``` ```
### Topics ### Topics
@@ -72,18 +72,6 @@ The [ansible/](ansible/) directory contains a playbook that handles the remainin
--- ---
## Deploying
Once the image is built, pipe it directly to the target over SSH — no intermediate file or registry needed:
```bash
docker save my_robot:latest | ssh matt@raspbot-v2.local docker load
```
Replace `matt` with the username configured in [ansible/inventory.ini](ansible/inventory.ini).
---
## Building ## Building
### Prerequisites ### Prerequisites
@@ -112,13 +100,27 @@ The build is split into two stages:
--- ---
## Deploying
Once the image is built, pipe it directly to the target over SSH — no intermediate file or registry needed:
```bash
docker save my_robot:latest | ssh matt@raspbot-v2.local docker load
```
Replace `matt` with the username configured in [ansible/inventory.ini](ansible/inventory.ini).
---
## Launching ## Launching
The container needs access to the I²C bus that the motor controller is wired to. Pass only that device rather than running the container in privileged mode: The container needs access to the I²C bus that the motor controller is wired to. Pass only that device rather than running the container in privileged mode:
```bash ```bash
docker run --rm \ docker run --rm \
--network=host \
--device /dev/i2c-1 \ --device /dev/i2c-1 \
--env ROS_DOMAIN_ID=0 \
my_robot:latest my_robot:latest
``` ```
@@ -130,7 +132,9 @@ ROS 2 parameters can be passed through `--ros-args`:
```bash ```bash
docker run --rm \ docker run --rm \
--network=host \
--device /dev/i2c-1 \ --device /dev/i2c-1 \
--env ROS_DOMAIN_ID=0 \
my_robot:latest \ my_robot:latest \
ros2 run my_robot motor_controller \ ros2 run my_robot motor_controller \
--ros-args -p wheel_base:=0.25 -p max_speed:=0.8 --ros-args -p wheel_base:=0.25 -p max_speed:=0.8
@@ -143,7 +147,7 @@ With the container running, publish a `cmd_vel` message from another terminal (r
```bash ```bash
# Drive forward at 0.2 m/s # Drive forward at 0.2 m/s
ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist \ ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist \
"{linear: {x: 0.2}, angular: {z: 0.0}}" "{linear: {x: 0.02}, angular: {z: 0.0}}"
# Turn on the spot # Turn on the spot
ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist \ ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist \