-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[jsk_tools] add rossetclient #1746
base: master
Are you sure you want to change the base?
Conversation
what is your assumption? 1) the robot run with DHCP address? or 2) robot changes network configuration from local netwrork to LTE/5G or wired connection to wireless connection during operation?
The reason we only rely on ROS_IP is we had MANY trouble on ROS_HOSTNAME, and rely on FQDN is always cause trouble and very hard to find the problem. |
knorth55/jsk_robot#273 での使用のために追加しました。 現在、Fetchはネットワーク監視スクリプトの挙動によりたまにNetworkManagerの再起動が行われ、このときにIPアドレスを一時的に持たない状態になり、ROS_IPの設定ではROSノードが通信できない状態になるらしいです。(この問題の詳細については @iory @708yamaguchi @tkmtnt7000 が詳しいようです。) 一方、この方法だと、fetch上のアクセスポイントへ接続している際にfetch1075では名前解決出来ないので、ROSの通信を行うことができません。そのためにこの使い方をしているときにはFetch体内のROSノード立ち上げの際にROS_IPを10.42.0.1に設定するか、ROS_HOSTNAMEをfetch1075.localに設定したいです。 この設定を簡単に切り替えるために、一つの変数を受け取って、ROS_IPだけでなくROS_HOSTNAMEを設定したいときも適切に設定するためのコマンドとしてこのPRを用意しました。 |
ちゃんとわかっていないけど,NetworkManagerに依存せずに /etc/network/interaces
に直書きする,というのはダメなのかな。
…--
◉ Kei Okada
2022年6月29日(水) 12:45 Koki Shinjo ***@***.***>:
knorth55/jsk_robot#273 <knorth55/jsk_robot#273>
での使用のために追加しました。
現在、Fetchはネットワーク監視スクリプトの挙動によりたまにNetworkManagerの再起動が行われ、このときにIPアドレスを一時的に持たない状態になり、ROS_IPの設定ではROSノードが通信できない状態になるらしいです。(この問題の詳細については
@iory <https://github.com/iory> @708yamaguchi
<https://github.com/708yamaguchi> @tkmtnt7000
<https://github.com/tkmtnt7000> が詳しいようです。)
これに対処するために、自動起動のROSノードはROS_HOSTNAMEをfetch1075などホスト名に設定して起動されています。これで通常時は133に接続されているロボットはfetchへ名前解決ができ、fetchのNetworkManager再起動時もFetch体内のノードは自分自身へ名前解決できるというコンセプトのようです。
一方、この方法だと、fetch上のアクセスポイントへ接続している際にfetch1075では名前解決出来ないので、ROSの通信を行うことができません。そのためにこの使い方をしているときにはFetch体内のROSノード立ち上げの際にROS_IPを10.42.0.1に設定するか、ROS_HOSTNAMEをfetch1075.localに設定したいです。
この設定を簡単に切り替えるために、一つの変数を受け取って、ROS_IPだけでなくROS_HOSTNAMEを設定したいときも適切に設定するためのコマンドとしてこのPRを用意しました。
—
Reply to this email directly, view it on GitHub
<#1746 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADYNXBB6TPOCXKKX7ZZEATVRPBCRANCNFSM52CHCC7A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
ネットワークの設定を固定するならNetworkManager要らないのですが、73B2内で使うのと73B2外で使うので設定を変えていて、簡単に設定を切り替えるのにNetworkManagerを使用しています。 |
これは,本当に長い戦いの歴史があるんだけど,外部PCから使っている人がhostnameを使う場面で,結局DNSが引けていない,間違えている,,,,等の問題が頻出して,結局rossetipが生まれた,という経緯かと思います。 |
1d8bf7d
to
f98385b
Compare
add
rossetclient
command to setROS_IP
andROS_HOSTNAME
.Currently we have
rossetip
commands to setROS_IP
. But this command does not support to setROS_HOSTNAME
to hostname or FQDN likerossetip fetch1075.jsk.imi.i.u-tokyo.ac.jp
.rossetclient
command has almost the same behavior but it setROS_HOSTNAME
to argument when argument is not ip address, nor network device.