このページでは、センサー フュージョン テスト リグの動きと ITS-in-a-box の照明を制御する Android 13 コントローラーの組み立て方法について説明します。センサー フュージョン テストは、 Compatibility Test Suite (CTS) のCamera Image Test Suite (Camera ITS) の一部です。 Android 13 コントローラーは、以前のバージョンのコントローラーと比較して、組み立てを容易にし、コストを削減するように設計されています。追加の利点は、電子機器とサーボ間の電源分離と、1 つのコントローラーから最大 3 つのサーボと 3 つのライトを制御できることです。
Android 13 コントローラーの概要
テスト装置のサーボおよび照明制御
センサー フュージョン テスト リグは、再現可能なテストのために電話の固定モーションを提供します。携帯電話をチェッカーボードのターゲットの前で回転させて、さまざまな位置で携帯電話を使用して画像をキャプチャできるようにします。 test_sensor_fusion の場合、サーボは電話を軸のカメラ中心を中心に 90 度回転させ、約 2 秒で元に戻します。 test_video_stabilization の場合、サーボは携帯電話を軸のカメラ中心を中心に 10 度繰り返し回転させ、歩きながらビデオを撮影するときの携帯電話の動きを模倣します。図 1 は、センサー フュージョン テスト リグ内で移動する 2 台の電話を示しています。図 2 は、センサー フュージョン テスト リグ内で移動する 1 台の電話を示しています。
ITS-in-a-box は、外部光源なしで一貫した照明に加えて、テスト タブレットとテスト電話の間の固定距離で一貫したテスト環境を提供します。 test_auto_flash の場合、テスト用スマートフォンでオート フラッシュ機能をトリガーするには、ライトをオフにした暗い環境が必要です。図 3 は、ITS-in-a-box のライトが Android 13 コントローラーによってオフおよびオンになっている様子を示しています。
図 1. test_sensor_fusion のテスト リグでの電話の動き
図 2. test_video_stabilization のテスト リグでの電話の動き
図 3. test_auto_flash のライトのオフとオン
サーボモーター制御
テスト装置のアナログ サーボ モーターは、パルス幅変調 (PWM) を使用して制御される位置サーボです。典型的な位置制御の例を図 3 に示します。制御信号の周期は 20 ms です。パルス幅を最小幅に変更するとモーターはニュートラル位置に移動し、パルス幅を最大幅に変更するとモーターは時計回りに 180 度移動します。
図 4.典型的なサーボ制御の説明
ビデオチュートリアル
これは、Android 13 コントローラーのセットアップ方法に関するビデオ チュートリアルです。
改訂履歴
次の表では、Camera ITS WFoV リグの改訂履歴について説明し、プロダクション ファイルの各バージョンへのダウンロード リンクを示します。
日にち | リビジョン | 生産ファイルのダウンロード | 変更ログ |
---|---|---|---|
2022 年 12 月 | 1.1 |
| |
2022年3月 | 1 |
|
Android 13 コントローラーの実装
ホスト コンピューターを介してサーボ モーターの動作とライトを制御するには、センサー フュージョン テスト リグに USB 接続が必要です。 Android 13 コントローラーは、上部にカスタム ルーティング ボード (またはシールド) が取り付けられた USB 接続の Arduino UNO R3 ボードを使用します。 2 層シールドはオープンソースのオンライン PCB 設計ツールで設計されており、 https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populatedで入手できます。カスタム ルーティング シールドの上面図と底面図を図 5 と図 6 に示します。
図 5.カスタム ルーティング シールド (上面図)
図 6.カスタム ルーティング シールド (底面図)
Android 13 コントローラーは、1 台のホスト コンピューターから最大 3 つのセンサー フュージョン リグと 3 つの ITS-in-a-box を制御できます。上面図は、中心軸に沿って 3 つの 3 ピン モーター ヘッダーと 3 つの LED 電源ジャックを取り付けるためのシルクスクリーンのアウトラインを示しています。下の図は、UNO、5 V 電源ジャック、および 10 uF バイパス コンデンサと嵌合するために必要な 4 および 8 ピン ヘッダー接続のシルクスクリーン アウトラインを示しています。
サーボと照明電流を分離するために、サーボの電源は外部 5 V ジャックから供給されます。 UNO 電子機器は、USB コネクタを介して個別に給電され、2 つのボード間で電力が共有されることはありません。 UNO の既存の外部電源ジャックは使用されておらず、コントローラーに電源を接続する際の混乱を避けるために筐体設計で覆われていることに注意してください。
図 7. Android 13 コントローラに接続された照明と 12V 電源
照明電源のバレルサイズに応じて、必要に応じてアダプターを使用してください。
図 8.照明電源をコントローラーに接続するアダプター
Android 13 コントローラーの組み立て
部品表 (BOM)
数量 | 説明 | PN/リンク |
---|---|---|
1 | 厚さ 1.6 mm の CameraITS Arduino シールド | https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated |
1 | Arduino UNO R3 | https://store.arduino.cc/usa/arduino-uno-rev3 |
6 | 2.1x5.5 mm、5 V スルーホール、直角バレル ジャック | 101179 |
2 | 35 V、10%、10 uF タンタル コンデンサ | 2290863 |
2 | 50 V、5%、100 pF セラミック 1206 マウント コンデンサ | 12065A101JAT2A |
3 | 1kΩ、表面実装抵抗 | CRCW08051K00FKEAC |
3 | パワーMOSFET | RFP30N06LE |
3 | 1x3x、100 ミル (2.54 mm) ピッチ、スルーホール オス ヘッダー | 732-5316-ND |
1 | 1x8x、100 ミル (2.54 mm) ピッチ、スルーホール オス ヘッダー | 732-5321-ND |
1 | 1x4x、100 ミル (2.54 mm) ピッチ、スルーホール オス ヘッダー | 732-5317-ND |
3 | 11 mm メス-メス ナイロン スタンドオフ (幅 5 mm、M3-0.5 ネジ) | 92319a317 |
4 | 6 mm オス/メス ナイロン スタンドオフ (幅 5 mm、M3-0.5 ネジ) | 95783a004 |
3 | M3-0.5 6 mm なべ頭ナイロンねじ | 92492A716 |
4 | M3-0.5 8mm皿小ネジ | XM2510008A20000 |
2 | M3-0.5 6mm皿小ネジ | XM2510006A20000 |
6 | #4、1/2 インチ丸頭板金ネジ | 90925A110 |
1 | 5 V、15 W UL 認定電源、2.1x5.5 mm プラグ (モーター) | KSAS0180500300VU-VI |
1 | 12 V、60 W UL 認定電源、2.1x5.5 mm プラグ (ライト) | GSM60A12-P1J |
その他必要なツール
- はんだごて、はんだ、はんだ吸い取り機
- 小型プラスドライバー
- サイズ T10 トルクスドライバー
ルーティング ボードの実装
ルーティング ボードの上部と下部に、パーツをアウトラインに合わせて配置します。ボードの下部については、ヘッダーを Arduino ボードの正しい位置に配置し、ルーティング ボードをコネクタの上に配置することで、オス ヘッダーを整列させることができます。次に、1x8 および 1x4 ヘッダーを所定の位置にはんだ付けして、Arduino とルーティング ボード間の良好な位置合わせを保証します。電源ジャックについても同じことができますが、組み立て後に電源ジャックが Arduino に載らないため、しっかりと組み立てるためにシムが必要です。バイパス コンデンサをはんだ付けした後、ボードの上部にモーター制御用の 6 つの 1x3 オス ヘッダーを取り付けることができます。ヘッダーは、スナップイン コネクタの下部がモーターに向くように向きを合わせて、モーター マウントに最大限のスペースを確保する必要があることに注意してください。
すべてのコンポーネントがはんだ付けされたら、スタンドオフとネジを使用してシステムを組み立てることができます。 Arduino とプラスチック筐体の底部の間に機械的な安定性を確保するために、4 つのオス - メス 6 mm スタンドオフがあります。ただし、Arduino の 1 つの穴 (SCL ピンに近い穴) が Arduino のメス ヘッダーに近接しているため使用できないため、Arduino とカスタム シールドの間には 11 mm のメス - メスのスタンドオフが 3 つしかありません。 3 つのメス - メス スタンドオフを 3 つのオス - メス スタンドオフにねじ込み、スタンドオフを Arduino に固定します。次に、3 本の M3 ネジを使用してルーティング ボード シールドをスタンドオフに取り付けます。図 9 は、Arduino シールドの回路図を示しています。
図 9. Arduino シールドの回路図
コントローラーエンクロージャー
コントローラには、カスタム エンクロージャが含まれています。組み立てられたコントローラーは、エンクロージャーの底板を通る 4 つの皿ネジでエンクロージャーに取り付けられます。 6 つの丸頭ネジと 2 つの平頭ネジを使用してエンクロージャを組み立てます。サーボや 5 V 外部電源などの関連情報は、プラスチック製の上部にエッチングされています。図 10 は、組み立てられたエンクロージャー内のコントローラーのイメージを示しています。
図 10.エンクロージャー内の実装済みシールドと組み立て済みシステム
ホストからのソフトウェア制御
マイクロコードをUNOにダウンロードして、PWMピンをモーター信号に割り当て、さまざまな角度のパルス幅範囲を定義できます。 6 つの HS-755MB モーターのサーボ回転制御用のマイクロコードは、その他のリソースに含まれています。このセクションには、サーボを回転させるrotator.py
という単純なプログラムへのリンクも含まれています。
Android 13 コントローラーの使用
カメラ ITS の使用法:
python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion
付属のテスト スクリプトを使用すると、次のようになります。
python rotator.py --ch 1 --dir ON --debug
以前のコントローラーと互換性
Rev. 2 コントローラーと Rev. 1 コントローラー (図 11 と 12 を参照) は、Android 13 と互換性がなく、test_preview_stabilization、test_video_stabilization、および test_auto_flash をサポートしていません。コントロール。
図 11. Rev. 2 Arduino コントローラー
図 12. Cana キット コントローラー