Small cleanup of readme
This commit is contained in:
@@ -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 \
|
||||||
|
|||||||
Reference in New Issue
Block a user