つくばチャレンジのためのTCP通信を用いた位置情報モニタリングシステムの開発
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[太田研 公開用Wiki]]
*つくばチャレンジのためのTCP通信を用いた位置情報モニタリ...
#contents
*はじめに [#m3fe38b6]
**つくばチャレンジ [#k61be0e9]
人間や車が行き交う実環境下において , 自律走行ロボットを走...
の一つに「つくばチャレンジ」というものがある . つくばチャ...
の自律走行以外にもいくつかの課題が用意されている . 例とし...
号認識」 , 「特定の人物検出」 , 「障害物回避」などが挙げ...
と自律走行の達成を目指し , 参加者同士で経験と知識を共有す...
術の向上を図ることがつくばチャレンジの目的である.
以下の画像は実際に使用したロボットと,走行したコースである.
CENTER:#ref(mercury.jpg,center,10%)
CENTER:図1: 走行したロボット
~
CENTER:#ref(course.png,center,50%)
CENTER:図2: コース
**研究背景 [#wd5d8050]
つくばチャレンジの実験走行は一日をかけて行われる , そのた...
する必要がある . 今回のつくばチャレンジ 2019 での待機場所...
START 位置に置かれていた . しかしロボットに帯同する人は ,...
置している公園内まで移動することが少なくなかった . つまり...
は , ロボットの動向を確認することができないということだ ....
で待っている人がロボットの動向を把握できないという状況は ...
側も良くないと考えており , 遠隔でのロボットの状態把握を推...
遠隔でのロボットの状態を把握するための比較的容易な方法と...
ネットを利用したモニタリングシステムを考えた . そこで , ...
つくばチャレンジで使用することを目標とした,モニタリングシ...
る . また本研究はモニタリングシステムの初期段階として,位...
るものである。
*手法 [#p28a2ce3]
**通信システム [#ab062dce]
システムを構成するにあたって必要となるデバイスは , 「ロボ...
「モニター」 , の3つである.~
構成は以下の図に示す.
CENTER:#ref(constitusion2.png,center,30%)
CENTER:図3: 構成
ロボット , モニターには「クライアントプログラム」を , サ...
ログラム」を設置する .~
それぞれ通信には Boost ライブラリの TCP の機能を利用した .~
ロボットから取得した座標 (x, y, θ ) を TCP クライアントに...
太田研究室 PC へ送信 . 太田研究室 PC からクライアントであ...
モニターで位置情報を反映した地図を表示する .
**ネットワーク設計 [#x317b8c9]
モニタリングシステムを開発するにあたって , 初めに重要とな...
ワークの設計である .
つくばチャレンジで使用するロボットにはネットワークへ接続...
ていない . そこでネットワークへの接続には , スマートフォ...
を使用した . その結果 , ロボット~
( スマートフォン ) の IP アドレスは動的なものに
なる . 固定されていない動的な IP アドレスは外部から特定す...
め , モニターから直接接続することはできなかった . したが...
のではなく , 固定 IP アドレスを持った太田研究室サーバを間...
のような設計とした .~
CENTER:#ref(constitusion.png,center,30%)
CENTER:図4: ネットワーク設計
上記の設計でシステムを開発していく過程で太田研究室サーバ...
トフィルタリング」が存在することがわかった . パケットフィ...
可能なポート以外への接続を遮断する効果がある . また , そ...
使用目的が決まっておりその目的以外での使用はできない . そ...
サーバにプログラムを設置してもロボットやモニターからアク...
が判明した . そこでパケットフィルタリングの影響を考慮に入...
**ポートフォワーディング [#o77be1b8]
太田研究室のサーバにサーバプログラムを置いたとしても , ロ...
からアクセスすることはできないことが判明したため , サーバ...
サーバに設置しない方法として「ポートフォワーディング」を...
PC から直接接続することができないサーバ A と ,PC から SSH...
で接続可能なサーバ B を考え , それら2つのサーバが同じネッ...
する . このとき以下の図5のようにサーバ B を踏み台としサー...
ることができる .
CENTER:#ref(port.png,center,50%)
CENTER:図5: ポートフォワーディング
***ポートフォワーディングの利用 [#p176d7db]
以下の図6は実際に太田研究室のネットワーク内で,
ポートフォワーディングを利用したシステムの様子である.
CENTER:#ref(portforward.png,center,30%)
CENTER:図6: ポートフォワーディングの利用
上の図6の通り太田研究室のサーバの左右にはパケットフィルタ...
もともとSSH 用に用意されているポート番号を使用する
( ポートフォワーディングを利用する ) ことで , パケットフ...
ロボットと太田研究室サーバ , モニターと太田研究室サーバそ...
ポートフォワーディングを有効にし接続する . その結果接続は...
ントである ロボット , モニター , から太田研究室ネットワー...
PC) へ接続することができる . このときロボット , モニター...
ログラム」を太田研究室 PC には「サーバプログラム」を置く .~
以下に示す図 7 は更に詳細なポートフォワーディングの様子で...
サーバ側での接続を示す . またモニター , サーバ側も同様な...
CENTER:#ref(robot_server.png,center,40%)
CENTER:図7: ロボット,サーバ間のポートフォワーディング
予めポートフォワーディングの設定ファイルで , ローカルホス...
自身のOSを示す特殊なIPアドレスの XX 番ポートへの接続は,
転送先である太田研究室 PC の IP アドレスの
YY 番へ転送されるという設定をする .
上の図7では以下の表 1 のように IP アドレスとポート番号を...
CENTER:表1 IPアドレス・ポート番号
||CENTER:IPアドレス|CENTER:ポート番号|
|CENTER:ロボット|CENTER:127.0.0.1|CENTER:13389|
|CENTER:太田研究室PC|CENTER:xxx.xx.xx.x|CENTER:31400|
~
SSH の接続を確認したのち , サーバプログラムが置いてある太...
サーバプログラムを起動する . その後ロボットの座標送信プロ...
アドレス (127.0.0.1), ポート番号 (13389) を指定し起動 . ...
ス (xxx.xx.xx.x), ポート番号 (31400) である太田研究室 PC ...
したがって最終的には ( ロボットー太田研究室 PC), ( 太田研...
という以下の図8のような通信路が完成する .
CENTER:#ref(net.png,center,40%)
CENTER:図8: 最終ネットワーク設計
*開発システム [#ec5f664b]
**使用した地図 [#vfd2a755]
本研究での実験場所は群馬大学桐生キャンパス構内となった .
そのため実際に使用した地図は桐生キャンパスのものとなって...
使用するマップは太田研究室修士2年の村上が実際にロボットを...
センサーで取得した3次元の点群データから作成した地図である.
CENTER:#ref(campus_map.png,center,10%)
CENTER:図9: 使用したマップ
**機能 [#k55adf89]
ロボットの座標を矩形で示している . ロボットの制御 PC から...
く角度情報も送信しているため , ロボットの向いている方向も...
いる . 送信される座標に変更がない場合停止判定とし赤で表示...
更がある場合は移動中と判定し緑色で表示する . 下の図の通り...
その右隣にロボット付近の拡大地図を表示する . 元の画像であ...
イズが 6999*9999 と大きいため , 元画像をそのまま使用した...
てしまっている .
CENTER:&ref(green.png,center,40%); &ref(red.png,cent...
CENTER:図10: モニター画面
*実走実験 [#m219bc89]
~
以下の図の通り実際に群馬大学構内で実走実験を行った.
CENTER:#ref(route.png,center,40%)
CENTER:図11: 走行ルート
このルート以外であったとしてもモニタリング可能であること...
る . 以下にロボット走行中のモニターの様子を示す .
CENTER:&ref(1.png,center,30%); &ref(2.png,center,30%...
CENTER:&ref(4.png,center,30%); &ref(5.png,center,30%...
CENTER:&ref(7.png,center,30%); &ref(8.png,center,30%...
CENTER:&ref(10.png,center,30%); &ref(11.png,center,3...
CENTER:&ref(13.png,center,30%); &ref(14.png,center,3...
CENTER:&ref(16.png,center,30%); &ref(17.png,center,3...
*考察 [#z5c51335]
本研究では通信のシステムから始まり , 位置情報の送受信 , ...
わせモニタリングシステムの開発をした .
完成したシステムは位置情報を文字列型にし , その文字列をバ...
信 , 受信側でバイナリを文字列に直すという仕組みになってい...
た文書ファイルを送信する手法とは異なり , データの送受信で...
イルを生成することがないシステムの開発ができた . 実験の結...
功し地図の描画にも成功しており , 位置情報のみの送受信を試...
ステムとしては申し分ない結果と言える .
本システムでは動作しているロボットを長方形で示している . ...
的に前進するという前提のもと長方形で示したが , 実際のモニ...
ろ , 少々分かりずらいところが多々あった . これを改良する...
できるような二等辺三角形にしようと考えている . また移動時...
示しているが実験時のモニターを確認すると , ロボットは停止...
でちらつく様子がうかがえた . これは送信する座標にちらつき...
だが , これはロボットの自己位置推定の結果に拠るため送信座...
る事は難しいと考えられる . したがって改良するならばシステ...
は座標受信ごとに座標の変化を見ていたが , 一定期間ごとの座...
り送信座標が一定時間変更が無ければ停止判定とする . という...
る必要がある .~
桐生キャンパス構内でのモニタリングが成功していることから...
つくば市役所付近の地図がすでに完成しているため問題なく行...
*まとめ [#aed81a25]
本研究では , つくばチャレンジで使用することを目指したモニ...
の開発をした . 結果として実際のつくばチャレンジで使用する...
たが . 今後のつくばチャレンジでもモニタリングシステムは推...
る . 次回以降のつくばチャレンジで使用するシステムとして ,...
パス構内での実験を進めてきた .
通信システムとして SSH のポートフォワーディングを利用し ,...
をサーバとし , ロボット , モニターを接続する設計を完成さ...
PC から座標を取得しロボットの TCP クライアントから座標を...
標を受信し , その受信座標をクライアントであるモニターへ送...
ある .
座標を受信したモニターでは全体のマップとロボット付近の拡...
する . 角度の情報も追加で送信するためロボットの向いている...
うに , ロボットは長方形で示してある . ロボット移動中は緑 ...
いる . しかし考察でも述べた通り受信座標のちらつきから表示...
点滅するようになってしまった . 明らかに停止している場合で...
め , この処理は残念ながら意味をなしていない . 手法を改善...
桐生キャンパス構内での実走実験を通して , 開発システムの実...
た . サーバとロボット , モニターの接続は成功していること...
考察で述べた通り SSH の接続に問題がある . スマートフォン...
手法を検討し改善する必要がある . また , 本システムは接続...
続できないという使い勝手の悪さがある . 実際に使用する際に...
いが , この問題もシステムの GUI 化をする際に , 見直してい...
後の展望としては , 送信する情報を追加しシステムを GUI 化...
高いモニタリングシステムを構築することである .
*参考文献 [#v48d7de7]
[1] https://opencv.org/~
[2] https://www.boost.org/~
[3] Scamper による ROS & Raspberry Pi 製作入門・鹿貫悠多...
終了行:
[[太田研 公開用Wiki]]
*つくばチャレンジのためのTCP通信を用いた位置情報モニタリ...
#contents
*はじめに [#m3fe38b6]
**つくばチャレンジ [#k61be0e9]
人間や車が行き交う実環境下において , 自律走行ロボットを走...
の一つに「つくばチャレンジ」というものがある . つくばチャ...
の自律走行以外にもいくつかの課題が用意されている . 例とし...
号認識」 , 「特定の人物検出」 , 「障害物回避」などが挙げ...
と自律走行の達成を目指し , 参加者同士で経験と知識を共有す...
術の向上を図ることがつくばチャレンジの目的である.
以下の画像は実際に使用したロボットと,走行したコースである.
CENTER:#ref(mercury.jpg,center,10%)
CENTER:図1: 走行したロボット
~
CENTER:#ref(course.png,center,50%)
CENTER:図2: コース
**研究背景 [#wd5d8050]
つくばチャレンジの実験走行は一日をかけて行われる , そのた...
する必要がある . 今回のつくばチャレンジ 2019 での待機場所...
START 位置に置かれていた . しかしロボットに帯同する人は ,...
置している公園内まで移動することが少なくなかった . つまり...
は , ロボットの動向を確認することができないということだ ....
で待っている人がロボットの動向を把握できないという状況は ...
側も良くないと考えており , 遠隔でのロボットの状態把握を推...
遠隔でのロボットの状態を把握するための比較的容易な方法と...
ネットを利用したモニタリングシステムを考えた . そこで , ...
つくばチャレンジで使用することを目標とした,モニタリングシ...
る . また本研究はモニタリングシステムの初期段階として,位...
るものである。
*手法 [#p28a2ce3]
**通信システム [#ab062dce]
システムを構成するにあたって必要となるデバイスは , 「ロボ...
「モニター」 , の3つである.~
構成は以下の図に示す.
CENTER:#ref(constitusion2.png,center,30%)
CENTER:図3: 構成
ロボット , モニターには「クライアントプログラム」を , サ...
ログラム」を設置する .~
それぞれ通信には Boost ライブラリの TCP の機能を利用した .~
ロボットから取得した座標 (x, y, θ ) を TCP クライアントに...
太田研究室 PC へ送信 . 太田研究室 PC からクライアントであ...
モニターで位置情報を反映した地図を表示する .
**ネットワーク設計 [#x317b8c9]
モニタリングシステムを開発するにあたって , 初めに重要とな...
ワークの設計である .
つくばチャレンジで使用するロボットにはネットワークへ接続...
ていない . そこでネットワークへの接続には , スマートフォ...
を使用した . その結果 , ロボット~
( スマートフォン ) の IP アドレスは動的なものに
なる . 固定されていない動的な IP アドレスは外部から特定す...
め , モニターから直接接続することはできなかった . したが...
のではなく , 固定 IP アドレスを持った太田研究室サーバを間...
のような設計とした .~
CENTER:#ref(constitusion.png,center,30%)
CENTER:図4: ネットワーク設計
上記の設計でシステムを開発していく過程で太田研究室サーバ...
トフィルタリング」が存在することがわかった . パケットフィ...
可能なポート以外への接続を遮断する効果がある . また , そ...
使用目的が決まっておりその目的以外での使用はできない . そ...
サーバにプログラムを設置してもロボットやモニターからアク...
が判明した . そこでパケットフィルタリングの影響を考慮に入...
**ポートフォワーディング [#o77be1b8]
太田研究室のサーバにサーバプログラムを置いたとしても , ロ...
からアクセスすることはできないことが判明したため , サーバ...
サーバに設置しない方法として「ポートフォワーディング」を...
PC から直接接続することができないサーバ A と ,PC から SSH...
で接続可能なサーバ B を考え , それら2つのサーバが同じネッ...
する . このとき以下の図5のようにサーバ B を踏み台としサー...
ることができる .
CENTER:#ref(port.png,center,50%)
CENTER:図5: ポートフォワーディング
***ポートフォワーディングの利用 [#p176d7db]
以下の図6は実際に太田研究室のネットワーク内で,
ポートフォワーディングを利用したシステムの様子である.
CENTER:#ref(portforward.png,center,30%)
CENTER:図6: ポートフォワーディングの利用
上の図6の通り太田研究室のサーバの左右にはパケットフィルタ...
もともとSSH 用に用意されているポート番号を使用する
( ポートフォワーディングを利用する ) ことで , パケットフ...
ロボットと太田研究室サーバ , モニターと太田研究室サーバそ...
ポートフォワーディングを有効にし接続する . その結果接続は...
ントである ロボット , モニター , から太田研究室ネットワー...
PC) へ接続することができる . このときロボット , モニター...
ログラム」を太田研究室 PC には「サーバプログラム」を置く .~
以下に示す図 7 は更に詳細なポートフォワーディングの様子で...
サーバ側での接続を示す . またモニター , サーバ側も同様な...
CENTER:#ref(robot_server.png,center,40%)
CENTER:図7: ロボット,サーバ間のポートフォワーディング
予めポートフォワーディングの設定ファイルで , ローカルホス...
自身のOSを示す特殊なIPアドレスの XX 番ポートへの接続は,
転送先である太田研究室 PC の IP アドレスの
YY 番へ転送されるという設定をする .
上の図7では以下の表 1 のように IP アドレスとポート番号を...
CENTER:表1 IPアドレス・ポート番号
||CENTER:IPアドレス|CENTER:ポート番号|
|CENTER:ロボット|CENTER:127.0.0.1|CENTER:13389|
|CENTER:太田研究室PC|CENTER:xxx.xx.xx.x|CENTER:31400|
~
SSH の接続を確認したのち , サーバプログラムが置いてある太...
サーバプログラムを起動する . その後ロボットの座標送信プロ...
アドレス (127.0.0.1), ポート番号 (13389) を指定し起動 . ...
ス (xxx.xx.xx.x), ポート番号 (31400) である太田研究室 PC ...
したがって最終的には ( ロボットー太田研究室 PC), ( 太田研...
という以下の図8のような通信路が完成する .
CENTER:#ref(net.png,center,40%)
CENTER:図8: 最終ネットワーク設計
*開発システム [#ec5f664b]
**使用した地図 [#vfd2a755]
本研究での実験場所は群馬大学桐生キャンパス構内となった .
そのため実際に使用した地図は桐生キャンパスのものとなって...
使用するマップは太田研究室修士2年の村上が実際にロボットを...
センサーで取得した3次元の点群データから作成した地図である.
CENTER:#ref(campus_map.png,center,10%)
CENTER:図9: 使用したマップ
**機能 [#k55adf89]
ロボットの座標を矩形で示している . ロボットの制御 PC から...
く角度情報も送信しているため , ロボットの向いている方向も...
いる . 送信される座標に変更がない場合停止判定とし赤で表示...
更がある場合は移動中と判定し緑色で表示する . 下の図の通り...
その右隣にロボット付近の拡大地図を表示する . 元の画像であ...
イズが 6999*9999 と大きいため , 元画像をそのまま使用した...
てしまっている .
CENTER:&ref(green.png,center,40%); &ref(red.png,cent...
CENTER:図10: モニター画面
*実走実験 [#m219bc89]
~
以下の図の通り実際に群馬大学構内で実走実験を行った.
CENTER:#ref(route.png,center,40%)
CENTER:図11: 走行ルート
このルート以外であったとしてもモニタリング可能であること...
る . 以下にロボット走行中のモニターの様子を示す .
CENTER:&ref(1.png,center,30%); &ref(2.png,center,30%...
CENTER:&ref(4.png,center,30%); &ref(5.png,center,30%...
CENTER:&ref(7.png,center,30%); &ref(8.png,center,30%...
CENTER:&ref(10.png,center,30%); &ref(11.png,center,3...
CENTER:&ref(13.png,center,30%); &ref(14.png,center,3...
CENTER:&ref(16.png,center,30%); &ref(17.png,center,3...
*考察 [#z5c51335]
本研究では通信のシステムから始まり , 位置情報の送受信 , ...
わせモニタリングシステムの開発をした .
完成したシステムは位置情報を文字列型にし , その文字列をバ...
信 , 受信側でバイナリを文字列に直すという仕組みになってい...
た文書ファイルを送信する手法とは異なり , データの送受信で...
イルを生成することがないシステムの開発ができた . 実験の結...
功し地図の描画にも成功しており , 位置情報のみの送受信を試...
ステムとしては申し分ない結果と言える .
本システムでは動作しているロボットを長方形で示している . ...
的に前進するという前提のもと長方形で示したが , 実際のモニ...
ろ , 少々分かりずらいところが多々あった . これを改良する...
できるような二等辺三角形にしようと考えている . また移動時...
示しているが実験時のモニターを確認すると , ロボットは停止...
でちらつく様子がうかがえた . これは送信する座標にちらつき...
だが , これはロボットの自己位置推定の結果に拠るため送信座...
る事は難しいと考えられる . したがって改良するならばシステ...
は座標受信ごとに座標の変化を見ていたが , 一定期間ごとの座...
り送信座標が一定時間変更が無ければ停止判定とする . という...
る必要がある .~
桐生キャンパス構内でのモニタリングが成功していることから...
つくば市役所付近の地図がすでに完成しているため問題なく行...
*まとめ [#aed81a25]
本研究では , つくばチャレンジで使用することを目指したモニ...
の開発をした . 結果として実際のつくばチャレンジで使用する...
たが . 今後のつくばチャレンジでもモニタリングシステムは推...
る . 次回以降のつくばチャレンジで使用するシステムとして ,...
パス構内での実験を進めてきた .
通信システムとして SSH のポートフォワーディングを利用し ,...
をサーバとし , ロボット , モニターを接続する設計を完成さ...
PC から座標を取得しロボットの TCP クライアントから座標を...
標を受信し , その受信座標をクライアントであるモニターへ送...
ある .
座標を受信したモニターでは全体のマップとロボット付近の拡...
する . 角度の情報も追加で送信するためロボットの向いている...
うに , ロボットは長方形で示してある . ロボット移動中は緑 ...
いる . しかし考察でも述べた通り受信座標のちらつきから表示...
点滅するようになってしまった . 明らかに停止している場合で...
め , この処理は残念ながら意味をなしていない . 手法を改善...
桐生キャンパス構内での実走実験を通して , 開発システムの実...
た . サーバとロボット , モニターの接続は成功していること...
考察で述べた通り SSH の接続に問題がある . スマートフォン...
手法を検討し改善する必要がある . また , 本システムは接続...
続できないという使い勝手の悪さがある . 実際に使用する際に...
いが , この問題もシステムの GUI 化をする際に , 見直してい...
後の展望としては , 送信する情報を追加しシステムを GUI 化...
高いモニタリングシステムを構築することである .
*参考文献 [#v48d7de7]
[1] https://opencv.org/~
[2] https://www.boost.org/~
[3] Scamper による ROS & Raspberry Pi 製作入門・鹿貫悠多...
ページ名: