CIR-KIT / fifth_robot_pkg

CIR-KIT5 の開発レポジトリ
BSD 3-Clause "New" or "Revised" License
10 stars 7 forks source link

USBポートの帯域食いつぶし問題 #55

Closed yasu80 closed 7 years ago

yasu80 commented 7 years ago

いままでUTM-30LX-EWメーカを使っていたため, これの送ってくるデータは100BASE Ethernet Port 経由で受け取れていました

現状, それを返却しているので, UTM-30LXメーカを使っていますが, これはUSBシリアルポート経由でデータを送受信します.

どうやら, USBポートの帯域が埋まって通信ができないようです. 正常に起動し, cmd_vel トピックにリモコンからのコマンドが吐き出されているのですが, これをモータが受け取っていない模様です.

具体的には, レーザを停止するとリモコンから操作ができ, 起動しているとリモコン入力で動いてくれないという状況です.

ただし, scanトピックには通信中常時値が出力され続けているので, おそらく通信自体には成功している模様です.

@tanacchi と私のマシンで微妙に挙動が異なり, 彼のでは urg_node がInvalid error で落ちていますし, 接続が「不安定, たまに Invalid value が帰ってきます.

目下の対策としては, ・ 転がっているLRFでEthernet経由のやつがないか調べる ・ LRFを読むマシンと yp-spur と通信するマシンを adhockモードでネットワーク形成し,分散処理を試みる(達成まで時間がかかるかも) ・ バスコントローラが贅沢な感じのマシン持ってる人に動かしてもらう(最悪の方法) などが考えられます

今後, 検証し報告します.

yasu80 commented 7 years ago

UST-20-LXで確認してみましたが, Invalid valueが見えてます 問題の切り分けに時間がかかりそうです.

forno commented 7 years ago

Ethernetでもinvalid value になるってことでいいのかしら

yasu80 commented 7 years ago

そうです 今ルーティングテーブルいじったりしてますけれど, 親(PC)と向こう(LRF)が同じローカルにいるはずなんですけれど, その他にはUnknown ErrorとかCould not open とか言ってきて割とこのLRF怪しい気がしてきてます

yasu16@yasu16-Vostro-3546:~/Documents/workspace/robots/cirkit5/fifth_robot_pkg/src/fifth_robot_launcher/launch$ roslaunch setup_robot.launch ... logging to /home/yasu16/.ros/log/a3697cc6-0251-11e7-bfc2-4cbb586fce60/roslaunch-yasu16-Vostro-3546-4689.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://yasu16-Vostro-3546:35559/

SUMMARY

PARAMETERS

NODES / laser_transform (tf/static_transform_publisher) urg (urg_node/urg_node) ypspur_coordinator (ypspur_ros_bridge/ypspur-coordinator.sh) ypspur_ros_bridge (ypspur_ros_bridge/wait_and_ypspur_ros_bridge.sh)

auto-starting new master process[master]: started with pid [4700] ROS_MASTER_URI=http://localhost:11311

setting /run_id to a3697cc6-0251-11e7-bfc2-4cbb586fce60 process[rosout-1]: started with pid [4713] started core service [/rosout] process[ypspur_coordinator-2]: started with pid [4720] ++++++++++++++++++++++++++++++++++++++++++++++++++ YamabicoProject-Spur Ver. 1.14.0 ++++++++++++++++++++++++++++++++++++++++++++++++++ with SSM

SSM is not available. Device Information Port : /dev/serial/by-id/usb-T-frog_project_T-frog_Driver-if00 process[ypspur_ros_bridge-3]: started with pid [4730] process[urg-4]: started with pid [4734] process[laser_transform-5]: started with pid [4735] Warn: Baudrate setting is not supported on this device. Applying parameters. YP-Spur coordinator started. Command analyzer started. Trajectory control loop started. [ERROR] [1488793535.278508677]: Error connecting to Hokuyo: Could not open network Hokuyo: 192.168.0.10:10940 could not open ethernet port. ^C[laser_transform-5] killing on exit [urg-4] killing on exit [ypspur_ros_bridge-3] killing on exit [ypspur_coordinator-2] killing on exit

Command analyzer stopped. Trajectory control loop stopped. [rosout-1] killing on exit [master] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done

[ERROR] [1488793519.746529457]: Unknown error connecting to Hokuyo

yasu80 commented 7 years ago

ちなみに, 相手方のipがデフォルトであることは確認済みです.(192.168.0.10) なんかこのLRF壊れてるくさいですね

yasu16@yasu16-Vostro-3546:~/Documents/workspace/robots/cirkit5/fifth_robot_pkg/src/fifth_robot_launcher/launch$ ping -c 3 192.168.0.10 PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data. 64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=0.147 ms 64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=0.151 ms 64 bytes from 192.168.0.10: icmp_seq=3 ttl=64 time=0.158 ms

--- 192.168.0.10 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.147/0.152/0.158/0.004 ms

yasu80 commented 7 years ago

動きましたが, 三個くらい要因があり

・ 一個壊れているLRFを踏んづけていた(エラーシグナルを履いていた) ・ /dev/ttyACM0を serial_by_idなんとかにしたら動いた ・ おそらくUSBコントローラの帯域輻輳ではなく, 電流不足ではないかという @RyodoTanaka 氏のご意見をいただきました

yasu80 commented 7 years ago

RosIpでうごかなかった理由は未確定なので, しばらくあけておきます. serial_by_idかな?

yasu80 commented 7 years ago

Rounting Table の設定不良であった可能性が高いので, ここは閉じておきます