Post

Conversation

俺のロボット設計指針シリーズ 「メカ電気ソフトのトータルなモジュール化を徹底的にやる」 モジュール化は運用フェーズで強力な武器であるが、開発フェーズでもメリットが大きい。機能を分割すれば開発作業を並列化できる。 僕は前職で海外ロボットの輸入販売をやってたが、僕が扱わせて貰ってた海外製品は(当時の技術だが)モジュール化が徹底してた。運用面では、モジュールを交換で修理、というのは我々のような海外代理店サポートするときに強力だった。事情の込み入ったお客様には、基板送るだけで直してもらう事もあった。 ソフトウェア、メカ、電気系でそれぞれにモジュール化は良く考えること。だがトータルにモジュール化するのは結構難しい。ロボット開発経験者でも難しい。例えば、アームのエンドエフェクタで使う回路と、頭部のセンサ処理を同じ基板で実装してたりする。事情は理解できる。ただ、ケーブル引き回しだけでドキッとするし、トータルシステムを組まないと基板をテストできない。結果として色んな意味で信頼度が低い箇所になる。信頼度が低いハードは、ソフトを書いてても最初に疑う箇所になって進まなくなる。同時に動くと電源の容量が足りない、なんてことが起きるが、ソフト開発フェーズだとソフト専門家が担当してるのだが、ソフト専門家だと気付きにくいところであったりする。 簡単に言えばトータルなモジュール化というのは、それぞれが製品のような様相を呈しているのが望ましい。メカがモジュール化されていて取り外しが容易。制御系のマイコンやLinuxを積んだPC等を積んでいてEthernet等のバスで繋げて司令を送る。モジュール内のセンサ等処理回路、電源の電圧変換(レギュレータ)等もモジュール内部に搭載。このモジュールにACアダプタとPCに接続したら動かせる。このあたりが理想。開発運用を並列化できる。一つ一つが製品になるイメージ。 逆にここまでやらないとメリットが出ない。電源を取るためだけに一つのハードを奪い合いながら開発してたりする。資金があれば大規模なハードを開発のために複数建造するんだけど、無駄すぎるし、スコープ外のハードが付属するとテストのコストが増える。 モジュール化は機能のオーバーヘッドが大きいのでバランスが必要だが、開発運用の並列化は実は巨大なメリットで安く観られがち。大抵の場合、思ってるよりもとことんやった方が良い。徹底的にやらないと意味が薄れる。 「メカ電機ソフトのトータルなモジュール化を徹底する」
Quote
Yuki Suga/編み物ラグビー好きフリーランスロボット屋プログラマー
@ysuga
長年、ロボットシステム屋をやってるけど、自分が働くロボットシステム作るときに大事にしてる設計指針のひとつとして 「任意の瞬間の機械の全状態が観測可能とせよ」 というのがある。