自動構築/自動運用は、次の技術要素により実現します。
※2)OSやミドルウェアなどのITインフラの構築と運用をコード化すること
上記で列挙した技術要素は、IT分野で長年にわたって数百〜数千台のサーバ群を構築/運用してきたさまざまなノウハウと、その組み合わせに基づいています。だからと言って、ROSロボット/IoTシステムに大きな方針転換を迫ることは良い選択肢ではありません。
そこで重要になるのが、Raspberry Piで作るエッジコンピューティング端末であるRDBOX-Edgeです。標準インフラレイヤーの拠点では、同一セグメントのプライベートネットワーク制御を担います。この制御がクラウドネイティブな技術/考え方に対する「橋渡し」を担います。ROSロボット/IoTシステムが築いてきたノウハウやエコシステムと、クラウドネイティブなアプリケーション群を共存させることが可能です。
ここからは、RDBOXが提供するKubernetesクラスタの応用例を紹介します。
詳細な説明に入る前に、ROSロボットの結合テストを「シミュレーション環境:箱庭」の中で実行し、その結果を活用することで実現しているCI(Continuous Integration、継続的インテグレーション)のデモ動画をご覧ください。
シミュレーション環境:箱庭と組み合わせて、コミュニティー版GitLab(MIT Licence)が提供する、ソースコード管理機能およびCI Runner機能を使ってCIを実現しています。ソースコードをGitLabサーバにプッシュすると「静的解析→ビルド→ユニットテスト」が順に実行されて、最後に結合テストが実行されます。結合テストは、ROSロボット(HackEV)が搭載している照度センサーを使って、オーバルコースをライントレースで規定時間内に一周するという内容です。他にも走行距離の妥当性(遠回りしていないか? など)もテストに含みます。テスト結果は合否の他に、走行中の様子を収録した動画や走行ログなど(GitLabではアーティファクトと呼称)と合わせてソースコードとひも付けた管理が可能です。
Copyright © ITmedia, Inc. All Rights Reserved.