Skip to content

ネットワーク設定

ROS関連

https://autowarefoundation.github.io/autoware-documentation/pr-347/installation/additional-settings-for-developers/#network-settings-for-ros-2

ローカルホストでマルチキャスト

Docker 開発環境(network_mode: host)では、ホスト内で完結する UDP multicast (SSL Vision/Referee/Tracker、ROS 2 DDS など)を正しく疎通させるために、 lo インターフェイスのマルチキャスト有効化と 224.0.0.0/4 のループバック向けルートが必要。

一括で適用するヘルパーを用意している:

./scripts/setup-multicast.sh

このスクリプトは冪等で、以下を実行する(sudo パスワードの入力が必要):

  • sudo ip link set multicast on lo
  • sudo ip route replace 224.0.0.0/4 dev lo

**OS 再起動で失われる**ので、再起動後に erforce-sim | Sending UDP datagram failedssl-game-controller | messageGen unresponsive が出たら再実行すること。

手動で個別に実行したい場合は:

sudo ip link set multicast on lo

マルチキャストアドレスとデバイスの対応の確認

netstat -g

マルチキャストアドレスへのルートの追加

sudo ip route add <address> dev <device>
graph TD
    subgraph official
        GameController[Game Controller]
        AutoRef[Auto Ref]
        Vision[SSL Vision]
    end

    OfficialHub[大会用スイッチングハブ]

    subgraph AIPC
        OfficialInterface[大会サーバー用Interface]
        ibisInterface[ロボット用Interface]
        crane[crane (Core AI Logic)]
        crane_sender[crane_sender]
        crane_robot_receiver[crane_robot_receiver]
    end

    SwitchingHub[スイッチングハブ]
    Router[ルーター]

    Robots[ロボット]
    PC[開発PC]

    Net[インターネット]

    GameController -- UDP Multicast --> OfficialHub
    AutoRef -- UDP Multicast --> OfficialHub
    Vision -- UDP Multicast --> OfficialHub

    OfficialHub -- UDP Multicast --> SwitchingHub
    SwitchingHub -- UDP Multicast --> OfficialInterface
    OfficialInterface -- UDP Multicast --> crane
    crane -- ROS --> crane_sender
    crane_sender -- UDP to 192.168.20.1xx --> ibisInterface

    ibisInterface -- UDP to 192.168.20.1xx --> SwitchingHub
    SwitchingHub -- UDP to 192.168.20.1xx --> Router
    Router -- AICommand --> Robots
    Robots -- RobotFeedback --> Router
    Router -- UDP to 192.168.20.1xx --> SwitchingHub
    SwitchingHub -- RobotFeedback UDP Multicast --> ibisInterface
    ibisInterface -- RobotFeedback UDP Multicast --> crane_robot_receiver
    crane_robot_receiver -- ROS  --> crane

アドレス・ポートなど

公式ツールなど

  • Vision
    • アドレス:224.5.23.2
    • ポート
      • 10006
        • 本番で使われることが多い
        • ssl-visionのデフォルトポート
      • 10020
        • シミュレーションなどで使われることが多い
        • grSimのデフォルトポート
  • Game Controller
    • アドレス:224.5.23.1
    • ポート
      • 10003
        • デフォルト
        • 本番で使われる
      • 11003
        • grSimなどのシミュレーション環境でのデフォルト(crane設定)
      • 11111
        • ポート被り防止などに使用可能
  • Tracker

ibis

  • ロボットのCM4
    • アドレス:192.168.20.100+機体番号
    • コマンド用ポート:12345
  • ロボットからのフィードバック
    • アドレス:224.5.20.100
    • ポート:50100+機体番号