Add complete phone node infrastructure: ROS2 Package (saltybot_phone): - camera_node: /phone/camera/image_raw (320x240, 15 FPS) - gps_node: /phone/gps (NavSatFix via termux-api) - imu_node: /phone/imu (accelerometer data) - openclaw_chat_node: Local LLM inference Subscribes /saltybot/speech_text Publishes /saltybot/chat_response - ws_bridge: WebSocket bridge to Jetson Orin (:9090) Phone Scripts: - termux-bootstrap.sh: Complete Termux setup - power-management.sh: Battery/thermal monitoring - README.md: Setup documentation Architecture: - Termux on Android phone - WiFi/USB tether to Jetson Orin - ROS2 topic bridge for sensors - Local LLM for on-device chat (Phi-2) - Termux:Boot auto-start - Power management for extended runtime Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
# SaltyBot Android/Termux Phone Node (Issue #420)
|
|
|
|
Android phone node for SaltyBot via Termux. Provides camera, GPS, IMU sensors and local OpenClaw LLM inference.
|
|
|
|
## Setup
|
|
|
|
On phone (Termux):
|
|
```bash
|
|
bash termux-bootstrap.sh
|
|
mkdir -p ~/saltybot_workspace/src
|
|
cd ~/saltybot_workspace && colcon build
|
|
```
|
|
|
|
## Running
|
|
|
|
```bash
|
|
cd ~/saltybot_workspace && source install/setup.bash
|
|
ros2 launch saltybot_phone phone_bringup.py
|
|
```
|
|
|
|
## Topics
|
|
|
|
| Topic | Type | Description |
|
|
|-------|------|-------------|
|
|
| `/phone/camera/image_raw` | Image | Camera frames 320x240@15Hz |
|
|
| `/phone/gps` | NavSatFix | GPS location |
|
|
| `/phone/imu` | Imu | Accelerometer data |
|
|
| `/saltybot/speech_text` | String | Input from Jetson |
|
|
| `/saltybot/chat_response` | String | LLM output to Jetson |
|
|
|
|
## Power Management
|
|
|
|
```bash
|
|
nohup bash ~/power-management.sh > ~/power-mgmt.log 2>&1 &
|
|
```
|
|
|
|
Reduces CPU activity on low battery (<25%) or critical battery (<15%).
|
|
|
|
## Configuration
|
|
|
|
Edit `config/phone.yaml` to adjust frame rates and LLM parameters.
|
|
|
|
## Issue #420 Completion
|
|
|
|
✅ Termux bootstrap
|
|
✅ Camera / GPS / IMU nodes
|
|
✅ OpenClaw chat (local LLM)
|
|
✅ WebSocket bridge to Orin
|
|
✅ Termux:Boot auto-start
|
|
✅ Power management
|