モバイルロボットソフトウェアの自動テストの課題への対応

モバイルロボットソフトウェアの自動テストの課題への対応

自動化されたモバイル ホーム ロボットの複雑さを探り、セットアップの特有の課題と制約の克服に焦点を当てて、スムーズな開梱体験を実現します。

前回の記事では、April Tag テクノロジーを使用して E2E ホームロボットを自動化する方法について説明しました。家庭用ロボット、あるいはあらゆるロボットの自動化には大きな課題があります。デバイスをセットアップするにはどうすればよいですか?デバイス、電話、モバイル アプリの世界では、デバイスは USB 経由でホスト デバイスに接続され、常に電源に接続されます。現在、ロボットのテストには、ロボットが移動中にどのようにテストするかという独特の課題が生じています。ホストデバイスに物理的に接続することはできません。開封体験をどのように検証するのでしょうか?心配しないでください。この記事で説明します。

複雑さと課題

ロボット自動化テストのセットアップ段階におけるさまざまな課題について簡単に紹介しましたが、ここではさらにいくつかの課題について詳しく説明したいと思います。

ロボットは移動しており、ホストデバイスに物理的に接続することはできません。一部のコンポーネント レベルのテストでは可能かもしれませんが、E2E テストでは不可能です。

開梱体験は、デバイスが Wi-Fi に接続されていないときに行われます。ホスト デバイスは、デバイスが新品の場合、どのようにデバイスと対話しますか?これは、日常的なロボットテストでは非常に一般的な状況です。

エラーや例外が発生した場合にロボットを回復します。自動テストの主な目的は、ロボットの潜在的なソフトウェアおよびハードウェアの問題を発見することです。何か問題が発生した場合、どのように報告してデバイスを回復すればよいですか?

ロボットのバッテリーは切れてしまうので、ロボットのバッテリーに電力を供給するための信頼できる電源が必要です。

同じセットアップを複数のラボおよび自宅環境に拡張します。 1 つの環境だけでボットに署名したりテストしたりすることはできないため、これは重要です。

これらの質問に時系列順に取り組んでみましょう。

Raspberry Piを使用してロボットをプリセットする

この問題を解決することは極めて重要です。ある場所にあるテスト自動化ラボに設置されたロボットを考えてみます。会社の内部ネットワークに接続されたホスト デバイスがあり、コマンドの送受信、さまざまなソース コード、内部ツール、インフラストラクチャへのアクセスに使用されます。 Raspberry Pi をデバイスに接続し、Raspberry Pi 上で REST サービスを実行して、ホスト デバイスとデバイスと通信します。以下にこの設定を示す図を示します。

Raspberry Piを使用してロボットをプリセットする

開封体験のユースケースを解決する

ここでは、Raspberry Pi を使用してテスト環境を事前に設定する方法を説明します。それでは、デバイスが Wi-Fi に接続されないという初期状態の問題を修正する方法を見てみましょう。

これが、Raspberry Pi 上の RESTful サービスが行うことです。 RESTful サービスには、次のエンドポイントがいくつか含まれている必要があります。

  • 点滅装置
  • OOBEを完了する
  • Wi-Fiの設定など
  • DUTのIPアドレスを取得する

これで、デバイスにワイヤレスで接続するのが簡単になり、デバイスはテストの準備が完全に整いました。

エラーや例外が発生した場合にロボットを回復する

これは非常によくある状況です。こうした種類の質問に圧倒されたり落胆したりしないでください。この時点で、デバイスの低レベルコンポーネントを使用して、デバイスを元の位置に戻す必要があります。たとえば、さまざまなソフトウェア スタックに関する前回の記事で述べたように、ロボットを元の位置に戻すには、プラットフォームまたはモビリティ レイヤーにアクセスする必要があります。これは最も難しくて難しい作業なので、April Tag などの他のテクノロジーやその他の外部システムを使用してデバイスを元に戻します。これで次の問題に移ります。次のテスト実行に備えて、デバイスを充電ドックに戻す必要があります。

複数のテスト環境への拡張

低レベルのコマンドを使用すると、デバイスを充電ドックに戻す際の信頼性が大幅に高まります。トップレベルの移動コマンドまたはナビゲーション コマンドを使用すると、プラットフォーム ドライバーまたはモビリティ レイヤー ドライバーを使用する場合よりも失敗する可能性が高くなり、効率も悪くなります。

セットアップを複数のテスト環境に拡張するためのヒント:

  • セットアップはシンプルにしてください。ソリューションを過度に複雑にしたり、過度に設計したりしないでください。
  • 展開可能な Raspberry Pi イメージを備えているため、新しい Raspberry Pi を簡単にロードできます。
  • テスト コードをリモート リポジトリに配置します。オンプレミスに移動しても拡張できません。

最後に、ロボットによる自動化は単純なことではなく、多くの設計作業と市場にある他の選択肢の検討が必要になります。すべての状況に適合する唯一の解決策は存在しません。最終的な解決策を決定する前に、概念実証を行うことをお勧めします。

代替案

私たちが解決しようとしている問題の性質と複雑さを考えると、「代替手段はあるか?」という質問は簡単にできます。答えは「はい」です。シミュレーター/エミュレーターをテストに効果的に使用して、説明したユースケースのほとんどをカバーすることができますが、実際のデバイスでのテストに代わるものはありません。

<<:  5分間の技術講演 | GET3D生成モデルの簡単な分析

>>:  顔認識の「レッドライン」と「ボトムライン」を理解していますか?

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

ディープラーニングを使って夢に現れる物体を分析する

この記事の主な内容は機械学習と神経科学を組み合わせたものであり、読者にはこれら 2 つの方向に関する...

ガートナー: 2023 年の機械学習の主要トレンド

今週オーストラリアのシドニーで開催されたガートナー・データ&アナリティクス・サミットで、この調査・ア...

画像認識のためのトップ 5 プログラミング言語

この間、ゴミの分別に関するミニプログラムやアプリの登場により、画像認識が再び人々の注目を集めています...

TensorFlow2020: Tensorflow.js を使用してコンピューター ビジョン アプリケーションを実行する方法は?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

テスラのヒューマノイドロボットが再び進化:視覚のみに基づいて物体を自律的に分類し、ヨガができる

数ヶ月沈黙していたテスラのヒューマノイドロボット、オプティマスプライムがついに新たな展開を見せた。私...

将来のデジタル環境を一変させる 5 つのテクノロジートレンド

テクノロジーが世界を変えたというのは議論の余地のない事実です。古代の鋤から今日の印刷機やパソコンまで...

コンピュータマスターのジレンマ!試験に合格するのは難しく、仕事を見つけるのも難しい

3年前、ディープラーニングを専攻し、2019年度に入学したばかりのコンピューターマスターが知乎に質問...

2020年のライフスタイルに関する2008年の予測:そのほとんどが実現

米国のピュー・リサーチ・センターは2008年に、主に以下のような2020年のライフスタイルを予測しま...

人工知能は気候変動に対する新時代の解決策である

人類が地球環境において行った行為を元に戻すために、人工知能が私たちの手助けをしてくれるでしょう。気候...

コードを書けるAIがオープンソース化! Codex よりも優れた C 言語を書き、12 のプログラミング言語をマスターする

Codex よりも優れた C 言語を記述できる AI コード生成モデルがオープンソース化されました。...

...

パフォーマンス最適化技術: アルゴリズム

アルゴリズムとその実装にはさまざまな種類がありますが、この記事ではシングルコア、シングルスレッドのア...

2018 年に先導するオープンソース AI プロジェクトはどれでしょうか?

[[219623]] [51CTO.com クイック翻訳] 最近では、人工知能 (AI) や機械学...

旅の途中+第2世代、「バルペンハイマー」完成までの7つのステップにカルパシーが驚愕 | 実際のテスト体験を添付

数日前、バービー・ハイモアがインターネットで話題になって以来、ネットユーザーたちは、MidJourn...

研究者は人工知能を使ってSARS-CoV-2のような次のウイルスを見つける

ジョージタウン大学の科学者が率いる国際研究チームは、COVID-19パンデミックの原因ウイルスである...