jsk-ros-pkg / jsk_robot

jsk-ros-pkg/jsk_robot
https://github.com/jsk-ros-pkg/jsk_robot
73 stars 97 forks source link

[spot] 散歩中にstrelkaがjoyで操作できなくなった #1726

Closed a-ichikura closed 1 year ago

a-ichikura commented 1 year ago

Strelkaでhead_lead_demoを動かしながら、joyで屋外を散歩させていたら、突然移動操作ができなくなりました。JoyでE-stop、とclaim、sit、standはできたのですが、移動のみができない状態でした。そのときのspot-driverのログです Cc:@mqcmd196 @k-okada

https://pastebin.com/kzV0yyPa

k-okada commented 1 year ago

何時ころだかわかるかな?

mqcmd196 commented 1 year ago

11:30頃だったと記憶しています

a-ichikura commented 1 year ago
a-ichikura commented 1 year ago
(send *ri* :set-impedance-param :linear-stiffness #f(250 50 50) :rotational-stiffness #f(10 10 30) :linear-damping #f(1.5 1.5 1.5) :rotational-damping #f(0.5 0.5 0.5))  

jsk_spot_startup/config/head_teleop_twist_joy.yaml

scale_linear:
  x: 2.0
  y: 2.0

を変更

<param name="~deadzone" value="4" />
 <param name="~maxrange" value="10" />

を変えると rostopic echo /joy_head/joy_rawが変わる

k-okada commented 1 year ago

Spot本体のWIFIにつなげるか,お尻のネットワークにつなげて

 ssh -p 20022 10.0.0.3 -l spot

でCOREにログイン出来る気がしました.

a-ichikura commented 1 year ago

岡田先生 @k-okada

今日、spotで学内を散歩しようとしたら、工学部広場くらいで画像の保存がストップしてしまいました。 コードとしては,rostopicで/spot/camera/hand_color/imageを10秒ごとに取得しようとしていただけで、google chatやdialogflowは使っていません。

ネットワークを必要としないコードだと思い, そのまま散歩に出たのですが、133系が途切れるところらへんでtopicが消えて画像の保存ができていませんでした。

@sktometometo と一緒に調べたところ, spotの/usr/sbin/jsk_spot_startup-start//usr/sbin/app_manager-startの中で export ROS_HOSTNAME=$(hostname) になっていると, 133につなげた状態でsupervisorを立ち上げると133系に繋がっていないところros nodeの通信が切れてしまうことが問題であると発見しました。

【解決策】 1. export ROS_HOSTNAME=localhost にすると, 133に繋がっていなくてもnode間の通信は可能。 しかし、この方法だと,133経由のrosの通信ができない。

2. そのままの状態で, 133に繋ぐドングルを抜いて, supervisorを立ち上げる。 この方法だと,ロボットが133に接続したり切断したりしても, ロボット内のnodeの通信は切れない。 しかし, ドングルの抜き差しと, supervisorの立ち上げ直しが少し面倒。

これがわかったことで、 今までのコントローラが切れる問題もこの設定の影響っぽいです。

とりあえず今は2.の方法で散歩に出ようと思います。

ちなみに,修論の散歩の時にこの問題に気が付かなかったのは, google chatとかdialogflowを使うためにポケットwifiを繋いだ状態で散歩に出ていて, そうするとインターネットにポケットwifi経由で繋がるからであると予想されます。

knorth55 commented 1 year ago

Belkaの/etc/hostsBelkaがいないのが原因ではとおもっている. 現状の/etc/hostsは以下になっています.

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
sktometometo commented 1 year ago

Belkaの/etc/hostsBelkaがいないのが原因ではとおもっている. 現状の/etc/hostsは以下になっています.

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

BelKaを追加したら解決しました