dmc_ai_mobility

Raspberry Pi OS 上で動作する AI ロボット制御用 Python ソフトウェアです。
Zenoh を通信基盤とし、以下を扱います。
- 左右モータ制御
- IMU センサ配信
- OLED 表示
- カメラ画像配信
- 本番常駐運用(systemd)
- Git 更新と安全な再起動は
scripts/pull_and_restart.shを使用
まず読む
通信・API
構成図
リポジトリ
関連リポジトリ
- dmc_ai_host: Zenoh 経由の遠隔操作 UI/最小ツール。キーボード操作、IMUチャート、カメラ表示、LiDAR 2D 表示、OLED テキスト送信を提供。
- lerobot_dmc: LeRobot 連携用プラグイン(dmc_robo 対応)。teleop/record から Zenoh 経由でロボット I/O を扱える。
運用・ガイド
examples/remote_zenoh_ui.py は H.264 の受信映像と、リモート側 JPEG(camera/image/jpeg/remote)を並べて表示できます(PySide6/pyqtgraph と ffmpeg が必要)。
camera/meta には capture 開始/終了や read_ms などレイテンシ計測用の追加フィールドが含まれ、examples/remote_zenoh_tool.py camera-latency でグラフ出力できます。config.toml の [camera].auto_trim で黒パディング対策、buffer_size/latest_only/jpeg_quality で遅延低減ができます。H.264 配信は [camera_h264] で有効化でき、rpicam-vid(bookworm)/libcamera-vid を使って配信します。examples/remote_zenoh_tool.py camera-h264 --play でリアルタイム表示、--encode-out でリモート側エンコード保存ができます。--republish-jpeg で H.264 を JPEG に変換してリモート側から publish できます。H.264 検証で libcamerify を無効化する場合は systemd/dmc-ai-mobility-h264.service を使います。
デフォルト配備先は /home/fooping/dmc_ai_mobility、venv は /home/fooping/env を想定しています。変更する場合は systemd ユニットのパスを合わせて更新してください。