移動式ロボットプログラミング基礎

8. Robotino の通信機能

1. TCP/ IP

ネットワーク通信機能

Robotino の通信機能を扱う前に,一般的なネットワーク通信について勉強しましょう.

「TCP / IP」通信が何をしているのか,そして「IPアドレスとポート番号」が何の役割をしているのかを紹介します.

2. UDP機能の使い方

Robotino の通信機能 UDP

競技の情報のやり取りには,UDPを使います.

UDP通信には,以下の特徴があります.

    • 複数のロボットに同時に配信できる
    • 通信先が落ちていても大丈夫
    • 片方向通信
      • → お互いに対してUDP通信する
    • 取りこぼしが発生する場合がある
    パケットのフォーマット等に関しては,UDP data exchangeを参照して下さい.

UDP通信の例

3. UDP通信(C言語)

Robotino とのUDP通信(C言語)

github にてソースを公開しています.wadaru / view3 です.

git clone https://github.com/wadaru/view3

udp/udp-comm.c を使います.

引数は,以下の4つです.

    1. 送信先IPアドレス,送信先ポート番号
    2. 受信用IPアドレス,受信用ポート番号

4. UDP通信(python)

Robotino とのUDP通信(python)

github にてソースを公開しています.wadaru / view3 です.

最新版は,btr2021/rcll2021/python/udpcomm.pyと,ros-rcll_btr_msgs/scripts/udpcomm.pyです.

現段階では,どちらも同じファイルですが,今後はros-rcll_btr_msgsの方をメンテナンスしていく予定です.

git clone https://github.com/wadaru/ros-rcll_btr_msgs

scripts/udpcomm.py を使います.

引数は,以下の4つです(c言語版と同様).

    1. 送信先IPアドレス,送信先ポート番号
    2. 受信用IPアドレス,受信用ポート番号

■移動式ロボットプログラミング基礎■に戻る