robVIewでRobotinoのモーターが動かない

ちょこちょこ発生していたトラブルです.
robView 以外だと動くので,まぁええかと思っていました.

Firewall が邪魔をしている,
ネットワークが異なる(NATで接続しちゃっている).

とかが原因だったのですが,今回見つけたのは,/etc/robotino/rpcd.confです.

robotino@robotino:~$ cat /etc/robotino/rpcd.conf 
; disconnect all non local clients if CPU load goes above maxcpuload
; this can happen if wireless connections break down
maxcpuload=80

んんん….
CPUの負荷が設定値(maxcpuload)を超えたら,ネットワークでつながっている全てのクライアントを切断するってさ.
これは,無線接続が切れたときに起こります.

特に,SmartFactory関係のプログラムが動いていると,それだけど50%以上占めているので,すぐにダメになりそうです….
というわけで,maxcpuloadを大きめの値にしておいた方が良さそうです.

あと,負荷を下げるためにsmartFactory関係を止めた方が良さそうですね.

sudo /opt/smartsoft/start-smartsoft-slave.sh stop
sudo /opt/smartsoft/start-smartsoft-master.sh stop

さてさて,これでどうでしょうか.
—-
追記(2023/10/18)
カメラを使うと,負荷が高くなり,切断されやすいですね.
一度接続を切られたRobViewは,もう一度接続してもモーターは動かないままです.
アプリを閉じて,もう一度起動することで,復帰するっぽいです.
また,maxcpuloadのパラメータは,local clientは切断されないようなので,sshでトンネルを掘ることでlocal経由で接続することが可能です.
具体的には,以下です.

ssh robotinoのIP -L 0.0.0.0:12080:127.0.0.1:12080 -l robotino

なお,自分のパソコンからしかつながないのであれば「0.0.0.0:」の部分は不要です.
他のパソコンのユーザ(特にwindowsマシン)に対して,接続を用意するときに「0.0.0.0:」を使いましょう.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*