どこでも動く!!つよつよロボットの為のITインフラ構築(産業用ラズパイ「RevPi」を使って。contentどこでも動く!!つよつよロボットの為のITインフラ構築(産業用ラズパイ「RevPi」を使って。)RaspberryPiROSROS2RevPiRDBOXはじめに21世紀、、、私が子供の頃は、21世紀の「ちまた」にはロボットが溢れているに違いない!!と確信しておりました。!20年経ってもそうなっていない現実に少し寂しさを感じております。(Pepperくん、ルンバ君など一部芽は出つつありますが。)この記事を書いた背景ここから真面目な話。System)を採用したロボットは、ROS2の登場もあって徐々に現場導入に耐えうるモノへと成長していくことが予想されています。向けプラットフォームであるRDBOX」では、ロボット開発者の面倒を取り除くためのネットワーク/コンピューティング環境構築のための多くの機能を実装してきました。4やx86アーキテクチャ対応など、多くの実行環境の選択肢を提供しています。Piの現場環境下への投入に不安を覚えるという声も多く聞かれます。RDBOXでは、x86アーキテクチャをサポートしているため産業クラスタ用のPCでの実行余地がありますが、それらは非常に高価で、特にRDBOXの「メッシュネットワーク」を構成し敷地内へとバラ撒くエッジ端末としてはオーバースペックでもあるためその導入に躊躇する側面もあります。産業用IoTデバイス」があります。Linuxカーネルやデバイスドライバを専用としている場合が多く、市場に多種存在するそれら一つずつ全てに対応することは、現実的であるとは言えません。非常に魅力的なものです。RevPi??バックグラウンドRevPiは、日本代理店ハーティング様のHPでは、次のように紹介されています。K.K.ラズベリーパイが誇る圧倒的なコストパフォーマンス、そしてラズベリーパイ上で使えるオープンソースソフトウェアと世界中のエキスパートユーザー達がインターネット上で発信する驚異の技術ナレッジベース。ラズベリーパイプラットフォーム上で日々生まれる最先端IoT工学技術を製造現場でいち早く展開したいという声で生まれたのが、ヨーロッパ生まれの産業用ラズベリーパイです。ベースとして、専用筐体/専用ボードに収めること、専用設計電源で高い信頼性を得ています。Raspbianに対してRTパッチが当ててあるものがプリインストールされています。Piとある通り、オープンソースプロジェクトとして実装されていることが分かります。kunbusからは「ユーザフォーラム」「ソースコード」それぞれが提供されています。産業用PCとして備えるH/Wの特徴としては、次の点が挙げられます。eMMCストレージ採用(非SDカードなので信頼性が高い。)24V電源入力(非常に安定性の高いDC-DCコンバータを使っているのでUnder-Voltageになることはない。導入が長くなりましたが「RevPi」は、少しばかしタフな環境で働くロボットのためのインフラを作ることに、非常に有力な選択肢であると言えます。「つよつよのロボット」本体を作る実力値は低い私ですが、ITインフラの側面からその発展を支えられないか?と思いいろいろ挑戦してみました。本記事では、購入した際プリインストールされているOSを上書きします。バックアップを取れば大丈夫だとは思いますが、その実施は自己責任でお願いします。使ったRDBOX-HQ(KubernetesのMasterや、VPNServer)は既に構築済みである前提で進めます。5.各サーバの構築-step1まで終わらせて下さい。物理配線RevPiの日本代理店であるハーティング様の記事を参考にセットアップをしました。QiitaRDBOX開発チームでは、ねじ端子台付きDCジャックではなくDCジャックが片側がメスになっているキットを使いました。OS念の為バックアップを取っておいた方が良いかもしれません。取れない場合も、以下のハーティング様の記事の通りに再セットアップを実施することも可能なようです。Moduleをディスクとして認識させてからddコマンド等を用いてバックアップします。Documentation以下、Macを用いた場合のバックアップ手段を示します。USBケーブルとPCの接続方法もこちらの記事で書かれています。ここでUSBケーブルを接続する。ここで接続されたRevPiがどのドライブとして認識されているか確認する。bs=1mRDBOXの書き込みRevPiをマウントした状態のまま作業を継続します。してセットアップします。rdboxGARIBAN-0.1.4.dmgインストールMac/Windowsそれぞれ実行形式ファイルをダブルクリックし、指示従い操作。Drive」ボタンを押して、ドライブとして認識しているRevPiをそれぞれ選択します。イメージはRevPi用に作ったstretch版を必ず選択して下さい。ドライブは既に自動的に選択されていることもあります。RDBOX(stretch)DebianStretch版のRDBOXをテスト的に作成。user-data」ボタンを押して、ウィザード形式で必要な情報を順に入力していきます。条件を揃えるための設定項目については以下の通り設定をあわせて下さい。クラスタ名はチュートリアルの通り、「rdbox」とします。SimpleMesh」とします。Master」を選択します。外部ネットワークへの接続方法を「Wi-Fi」にします。全ての設定が終わると「Flash!」ボタンが押せるようになります。「Flash!」ボタンを押して、RevPiにRDBOXを書き込みます。書き込みが終わったら、OS毎のデバイス取り外し方法に従い、RevPiをPCから安全に取り外します。Wi-Fiドングル」を「2本」接続します。USB端子の配置間隔が狭いのでL字に曲げるやつとかUSB延長ケーブルなんかを使って上手に繋げる必要があります。Wi-Fiが搭載されていないのは痛い。)また、各USBポートは500mAまでしか流せない仕様なのでセルフパワーのハブを使うか、2ポート使って接続する必要がある点に注意。USBドングルの消費電流は500mA程度)電源を繋げるBootが始まります。徐々にWi-Fiのアクセスポイントなどが立ち上がってきます。Firmwareの更新など含めて約10分ぐらいでセットアップが完了します。セットアップの完了はWi-Fiのアクセスポイントに繋いで、SSHでログイン。以下のプロンプトが表示されるようになったことを以て確認できます。192.168.179.40処理が途中の場合は、次のような内容が表示されます。(RDBOXのロゴが表示されていません。【注意】次の手順にて、一般的なRaspberryPiを使う際の設定項目を削除します。削除しない場合、再起動時に動かなくなるので絶対に実施してください。一般的なRaspberryPi用の設定を削除するまた、起動引数を次の通り編集してください。plymouth.ignore-serial-consolesその後、kubernetesのノードとして参加したことの確認と操作からチュートリアルを再開して下さい。RDBOXとして動いていることの動作確認並びに、ロボットへのセットアップを継続して実施することが出来ます。RDBOX(Slave)も同様にRevPiを使ってセットアップすることが可能です。rdboxGARIBANは先程設定したアカウントやWi-Fiの各設定をヒストリーとして保存しているため、2回目以降は参照作成が可能なのでより手早くRDBOXを量産可能です。RevPiとして再セットアップここまででの手順で、非常に堅牢な「RDBOX」のエッジ端末が完成しました。RDBOXとして使用する場合はそれでもいいのですが、せっかくのRevPiです。RevPiとして、各産業機器への接続に使えるように再セットアップをします。raspberrypi-kernelのバージョンはその時々、最新のものを指定すること。rebootだとRevPiが不安定になるためShutdown。プラグも一度抜くのが良いかも。Dockerの再インストール新しいカーネルに合わせてカーネルモジュールを作り直しさせるため、Docker周りのモジュールを再インストールします。containerd.io【注意】インターネットに繋がらない(名前解決に失敗)っぽいエラーが出たら、/etc/rdbox/dnsmasq.resolver.confに適切なDNSサーバを追加して、dnsmasqサービスを再起動して下さい。rebootだとRevPiが不安定になるためShutdown。この環境にはRevPiの拡張用I/Oモジュールなどが無いため検証できることが少ないですが、この段階でeth0が正常に認識されるようになっていることが確認できます。(Macアドレスが、RevPi開発元であるKUNBUSのものになっています。ドライバーインストール前は違いました。)また、piraight,pileftというNICも新たに追加されています。ff:ff:ff:ff:ff:ffRDBOXのWi-Fiに繋いで、デフォルトのIPアドレス(192.168.179.1)にアクセスすると、WebUIも見ることができます。ユーザ&パスワードは本体横のラベルに書かれているモノを使用します。終わりにちょっとタフな環境(建築現場とか、地下鉄の構内とか、工場の中とか←ここに関しては一部協働型ロボットが既に動いている)で動かすためにRevPiをRDBOXとしてセットアップしてみました。Piのエコシステムは素晴らしいと改めて感じております。電子工作用途から、RevPiのようなに過酷環境に耐えうる専用実装までいろいろなニーズに応えてくれます。RDBOXでも、ROSロボットの学習ハードルをITの側面から下げるのはもちろんのこと、今後はもっと信頼性の高いネットワーク/コンピューティング基盤を提供していけるよう開発を進めてまいります。Tatsuya@fudekunロボットエンジニアです。便利なものを作っています。https://個人の見解.jp/https://rdbox-intec.github.io/homepage_en/Follow株式会社インテック未来を「ひらく」、技術で「つなぐ」、世界を「変える」、豊かなデジタル社会の一翼を担う会社です。※各記事の内容は個人の見解であり、所属する会社の公式見解ではありません。upLoginユーザーは見つかりませんでした。