กล้อง ITS-in-a-Box

ชุดทดสอบรูปภาพกล้อง Android (ITS) เป็นส่วนหนึ่งของชุดทดสอบความเข้ากันได้ของ Android (CTS) และรวมการทดสอบที่ตรวจสอบเนื้อหารูปภาพ CTS Verifier รองรับการทดสอบอัตโนมัติของ ITS ด้วยกล้อง ITS-in-a-box; การสนับสนุนการทดสอบด้วยตนเองครอบคลุมปัจจัยรูปแบบอุปกรณ์ Android ทั้งหมด

ITS-in-a-box ประกอบด้วยคุณประโยชน์ดังต่อไปนี้:

  • ระบบอัตโนมัติ ไม่จำเป็นต้องมีการแทรกแซงจากมนุษย์ในระหว่างการทดสอบ
  • แก้ไขปัญหาได้ง่าย ความสม่ำเสมอของสภาพแวดล้อมการทดสอบทำให้เกิดข้อผิดพลาดในการตั้งค่าน้อยลงและเพิ่มความสามารถในการทำซ้ำ
  • ประสิทธิภาพ. ความสามารถในการลองใหม่อีกครั้งสำหรับกล้อง/ฉากแต่ละตัวช่วยปรับปรุงประสิทธิภาพการดำเนินการทดสอบ

เริ่ม

ITS-in-a-box ประกอบด้วยกล่องพลาสติกที่ถูกตัดด้วยเลเซอร์จากแบบเขียนแบบโดยใช้คอมพิวเตอร์ช่วย (CAD) แท็บเล็ตแผนภูมิ และอุปกรณ์ที่อยู่ระหว่างการทดสอบ (DUT) คุณสามารถใช้ ITS-in-a-box ที่มีขอบเขตการมองเห็นกว้าง (WFoV) ซึ่งสามารถทดสอบทั้งกล้อง WFaV (FoV > 90 องศา) และ RFoV (FoV < 90 องศา) หรือกล้องภาคสนามปกติของ -view (RFoV) ในกล่องเดียว

ในการเริ่มต้นใช้งานกล้อง ITS-in-a-box:

  1. ซื้อหรือสร้าง WfoV หรือ RFoV ITS-in-a-box
  2. กำหนดค่าแท็บเล็ต ด้วยซอฟต์แวร์ Camera ITS
  3. เรียกใช้การทดสอบ
  4. รับผลลัพธ์ จาก DUT

กำหนดค่าแท็บเล็ต

ส่วนนี้ให้คำแนะนำทีละขั้นตอนสำหรับการตั้งค่าแท็บเล็ตเพื่อใช้กับ การทดสอบ Camera ITS ที่อยู่ในไดเร็กทอรี CameraITS คำแนะนำเหล่านี้ใช้ Pixel C เป็นแท็บเล็ตตัวอย่าง สำหรับข้อมูลเกี่ยวกับข้อกำหนดและคำแนะนำของแท็บเล็ต โปรดดูที่ ข้อกำหนดของแท็บเล็ต

หมายเหตุ: สคริปต์ Camera ITS Python จะตั้งค่าตัวเลือกต่อไปนี้บนแท็บเล็ตให้คุณโดยอัตโนมัติ:
การตั้งค่า > จอแสดงผล > สลีป > หลังจากไม่มีการใช้งานเป็นเวลา 30 นาที
ความสว่างที่ปรับได้ > ปิด

  1. ชาร์จแท็บเล็ตและเปิดเครื่อง หากได้รับแจ้งให้ตั้งค่าบัญชี ให้ข้ามไป (Camera ITS ไม่จำเป็นต้องมีบัญชีใดๆ ที่จับคู่กับแท็บเล็ต)
  2. อัปเดตแท็บเล็ตเป็น Android 7.0 หรือสูงกว่า Android 6.x และเวอร์ชันต่ำกว่าไม่รองรับ Camera ITS
  3. เปิดใช้งาน โหมดนักพัฒนาซอฟต์แวร์
  4. กลับไปที่ การตั้งค่า แล้วเลือก ตัวเลือกนักพัฒนา
    เปิดใช้งานตัวเลือก
    • บน
    • ตื่นตัว
    • การแก้ไขข้อบกพร่อง USB (อนุญาตให้โฮสต์เรียกใช้แท็บเล็ตในโหมดแก้ไขข้อบกพร่อง เมื่อคุณเชื่อมต่อแท็บเล็ตกับโฮสต์เป็นครั้งแรก แท็บเล็ตจะแจ้งให้อนุญาต การแก้ไขข้อบกพร่อง USB หรือ ไม่ หากแท็บเล็ตไม่แสดงพร้อมท์การแก้ไขข้อบกพร่อง ให้ยกเลิกการเชื่อมต่อแล้วเชื่อมต่อใหม่ ยาเม็ด.)
    ปิดการใช้งานตัวเลือก
    • อัพเดตระบบอัตโนมัติ
    • ตรวจสอบแอปผ่าน USB
  5. กำหนด DUT และ ID แผนภูมิโดยการรัน $ adb devices เพื่อแสดงรายการอุปกรณ์ที่มีอยู่ หากต้องการกำหนด device_id และ chart_id ให้เสียบและถอดปลั๊กอุปกรณ์ และสังเกตอุปกรณ์ที่เชื่อมต่อและยกเลิกการเชื่อมต่อ
  6. ทำการทดสอบสามครั้งเพื่อระงับคำแนะนำและข้อความแจ้งผู้ใช้ที่อาจบดบังแผนภูมิบนหน้าจอแท็บเล็ต
    1. วางแท็บเล็ตหงายขึ้นบนโต๊ะ (อย่าติดแท็บเล็ตเข้ากับแผงด้านหลังของกล่อง)
    2. เรียกใช้คำสั่งต่อไปนี้:
      python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
      
      ฉาก 2 และ 3 ต้องการให้แท็บเล็ตแสดงภาพ ดังนั้นแท็บเล็ตจึงแจ้ง ให้อนุญาตให้ไดรฟ์เข้าถึงรูปภาพ สื่อ และไฟล์ในอุปกรณ์ของคุณ . ล้างพรอมต์นี้ (และป้องกันพรอมต์ในอนาคต) โดยกด อนุญาต
    3. รันคำสั่งอีกครั้ง แท็บเล็ตแจ้ง ว่า Keep a copy of this file? และแนะนำ Google Drive ล้างข้อความแจ้งนี้ (และป้องกันข้อความแจ้งในอนาคต) โดยกดไอคอนไดรฟ์ จากนั้น คลิกยกเลิก เพื่ออัปโหลดไปยังไดรฟ์
    4. สุดท้าย ให้เรียกใช้ tools/run_all_tests.py และยืนยันว่าฉากต่างๆ เปลี่ยนไปโดยอัตโนมัติเมื่อสคริปต์วนไปตามฉากต่างๆ แม้ว่าการทดสอบส่วนใหญ่จะล้มเหลว (เนื่องจากกล้องไม่ได้ชี้ไปที่แผนภูมิ) คุณสามารถตรวจสอบว่าแท็บเล็ตหมุนเวียนไปตามฉากต่างๆ ได้อย่างถูกต้อง โดยไม่ต้องแสดงข้อความแจ้งหรือป๊อปอัปอื่นๆ บนหน้าจอ

ทำการทดสอบ

ก่อนที่จะรัน ITS-in-a-box ตรวจสอบให้แน่ใจว่าการตั้งค่าการทดสอบของคุณมีฮาร์ดแวร์และซอฟต์แวร์ต่อไปนี้:

  • หนึ่ง (1) ในกล่อง
  • แท็บเล็ตความละเอียดสูง 10" หนึ่ง (1) ตัวสำหรับแสดงฉาก, S/N: 5811000011
  • หนึ่ง (1) DUT ที่ติดตั้งแอป CTS Verifier 7.0_8+ ตัวอย่าง DUT:
    • หนึ่ง (1) พิกเซล NOF26W สำหรับการทดสอบกล้องด้านหลัง (0) S/N: FA6BM0305016 หากต้องการติดตั้งแอป CTS Verifier ให้แตก android-cts-verifier.zip จากนั้นเรียกใช้
      adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
      

เรียกใช้ฉากที่ใช้แท็บเล็ต

หากต้องการเรียกใช้ฉาก 0 ถึง 4, 6 และ scene_change บนกล้องด้านหลัง:

cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0

ตัวอย่าง:

กล้อง 0 วินาที/N: FA6BM0305016
รูปภาพ 1 กล้อง 0 S/N: FA6BM0305016

ลองฉากอีกครั้ง

คุณสามารถลองฉากอีกครั้งสำหรับกล้องตัวเดียว:

  • หากต้องการลองฉากอีกครั้งด้วยกล้องตัวเดียว:
    python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
    

วิ่งฉากที่ 5

ฉากที่ 5 ต้องมีการตั้งค่าพิเศษพร้อมแสงเฉพาะ (สำหรับรายละเอียด โปรดดูที่ CameraITS.pdf ใน CTS Verifier ซึ่งคุณสามารถดาวน์โหลดได้ที่ ดาวน์โหลดชุดทดสอบความเข้ากันได้ ) คุณต้องรันฉาก 5 แยกกัน (นอกกรอบ)

ฉากกล้อง5
รูปที่ 2 ฉากกล้อง 5

หากต้องการเรียกใช้ฉาก 5 สำหรับกล้องหน้าและกล้องหลังบนอุปกรณ์เครื่องเดียว:

python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5

รับผลลัพธ์

คุณสามารถดูผลลัพธ์ระหว่างการทดสอบและบันทึกผลลัพธ์ที่เสร็จสมบูรณ์เป็นรายงานได้

  • ดูผลลัพธ์ หากต้องการบันทึกผลลัพธ์ของ Camera ITS เป็นรายงาน:
    1. กด ผ่าน และบันทึกรายงาน
      รายงาน ITS ของกล้อง
      รูปที่ 3 รายงาน ITS ของกล้อง
    2. ดึงรายงานจากอุปกรณ์:
      adb -s FA6BM0305016 pull /sdcard/verifierReports
      
    3. แตกไฟล์รายงานและดู test_result.xml
      รายงานของกล้อง ITS
      รูปที่ 4 รายงาน ITS ของกล้อง

ข้อกำหนดของแท็บเล็ต

แท็บเล็ตจะต้องมีขนาดจอแสดงผลประมาณ 10 นิ้ว โดยมีความละเอียดหน้าจอมากกว่า 1920 x 1200 พิกเซล ต้องตั้งค่า brightness ใน config.yml ตามรุ่นแท็บเล็ต ตารางด้านล่างแสดงรายการแท็บเล็ตที่แนะนำสำหรับการทดสอบ ITS พร้อมด้วยเวอร์ชัน Android ที่วางจำหน่ายสำหรับ DUT ที่แท็บเล็ตใช้งานได้

อุปกรณ์ ขนาดการแสดงผล
(นิ้ว)
ขนาดการแสดงผล
(พิกเซล)
ขนาดแท็บเล็ต
(นิ้ว)
แสดง
ความสว่าง
แสดง
บิต
ได้รับการสนับสนุน
ระบบปฏิบัติการ DUT
ได้รับการสนับสนุน
ระบบปฏิบัติการแท็บเล็ต
ซัมซุง
กาแล็กซี่แท็บ A8
10.5 1920x1200 9.72 x 6.37 x 0.27 192 8 แอนดรอยด์ 13+ แอนดรอยด์ 11+
เสี่ยวมี่
แผ่นที่ 5
11 2560 x 1600 10.03 x 6.55 x 0.27 1,024 11 แอนดรอยด์ 12+ ระบบปฏิบัติการ Android 11 เท่านั้น
เลอโนโว
แท็บ M10 พลัส
10.3 1920x1200 9.61 x 6.03 x 0.32 192 8 แอนดรอยด์ 12+ แอนดรอยด์ 9+
ซัมซุง
กาแล็กซี่แท็บ A7
10.4 2000x1200 9.75 x 6.2 x 0.28 192 8 แอนดรอยด์ 12+ แอนดรอยด์ 10+
ชูวี
ไฮ 9 แอร์ 10.1
10.1 2560 x 1600 9.52 x 6.77 x 0.31 192 8 แอนดรอยด์ 7+ แอนดรอยด์ 8+
อัสซุส
เซนแพด 3
9.7 2048 x 1536 9.47 x 6.44 x 0.28 192 8 แอนดรอยด์ 7+ แอนดรอยด์ 6+
หัวเว่ย
มีเดียแพด m5
10.8 2560 x 1600 10.18 x 6.76 x 0.29 192 8 แอนดรอยด์ 7+ แอนดรอยด์ 8+
Google
พิกเซล ซี
10.2 2560 x 1800 9.53 x 7.05 x 0.28 96 8 แอนดรอยด์ 7+ แอนดรอยด์ 6+
โซนี่
เอ็กซ์พีเรีย Z4
10.1 2560 x 1600 10x6.57x0.24 192 8 แอนดรอยด์ 7+ แอนดรอยด์ 5+

คำถามที่พบบ่อย

คำถามที่ 1: ฉันจะทราบได้อย่างไรว่าแท่นทดสอบใดที่ฉันต้องการสำหรับอุปกรณ์ของฉัน

RFoV ITS-in-a-box การแก้ไข 1 ทดสอบกล้อง RFoV สำหรับการทดสอบฉาก 0 ถึงฉาก 4 ในไดเรกทอรี CameraITS/tests RFoV ถูกกำหนดให้เป็น 60° < FoV < 90° สำหรับกล้อง FoV ขนาดใหญ่ แสงอาจปรากฏในรูปภาพหรือแผนภูมิอาจครอบคลุมพื้นที่ใน FoV น้อยเกินไป ซึ่งส่งผลต่อผลการทดสอบ

WFaV ITS-in-a-box การแก้ไข 2 ทดสอบกล้อง WFaV สำหรับการทดสอบฉาก 0 ถึงฉาก 4 ในไดเร็กทอรี CameraITS/tests WFaV ถูกกำหนดให้เป็น FoV >= 90° มีฟังก์ชันการทำงานเหมือนกับการแก้ไขครั้งที่ 1 แต่มีขนาดใหญ่กว่า อุปกรณ์ทดสอบการแก้ไข 2 สามารถทดสอบทั้งกล้อง RFoV และ WForV ใน Android 9 ขึ้นไป

กล่องฟิวชันเซ็นเซอร์ จะทดสอบการชดเชยเวลาของกล้อง/ไจโรสโคป และการซิงค์เฟรมของระบบกล้องหลายตัวกับการทดสอบใน scenes=sensor_fusion จำเป็นต้องมีการชดเชยเวลาของกล้อง/ไจโรสโคปที่น้อยกว่า 1 มิลลิวินาทีสำหรับการตั้งค่าสถานะคุณสมบัติ REALTIME

สามารถทดสอบอุปกรณ์ที่มีกล้องหลายตัวได้ด้วยอุปกรณ์ตัวเดียวสำหรับการทดสอบ ITS แบบคงที่และอุปกรณ์ฟิวชันเซ็นเซอร์ หากกล้องมีแฟล็กคุณสมบัติ REALTIME

ชุดการกำหนดค่าตัวอย่างมีอยู่ในตารางด้านล่าง

ตัวอย่าง กล้อง FoV เรียลไทม์? แท่นขุดเจาะที่แนะนำ หมายเหตุ
1 75° เลขที่ รอบที่ 1 หรือ 2 ระบบปฏิบัติการ Android 7.0 หรือสูงกว่า
2 75° ใช่ ฟิวชั่นเซ็นเซอร์ Rev 1 หรือ 2 + ระบบปฏิบัติการ Android 9 หรือสูงกว่า
3 75° + 95° ใช่ Rev 2 + เซ็นเซอร์ฟิวชั่น ระบบปฏิบัติการ Android 9 หรือสูงกว่า

คำถามที่ 2: ฉันจะกำหนดได้อย่างไรว่าอุปกรณ์ทดสอบใดที่ใช้งานอยู่

เพื่อกำหนดแท่นทดสอบที่ถูกต้อง ตรวจสอบให้แน่ใจว่าพารามิเตอร์ระยะทางของแผนภูมิถูกต้อง แท่นทดสอบ rev1 (RFoV) มีระยะผัง 31 ซม. และแท่นทดสอบ rev2 (WFOV) มีระยะผัง 22 ซม. ตามค่าเริ่มต้น ระยะห่างของแผนภูมิจะตั้งไว้ที่ 31 ซม.

ระบบปฏิบัติการ Android 10 ถึง Android 11

หากต้องการระบุอุปกรณ์ทดสอบที่ถูกต้องใน Android 10 ถึง 11 ให้เพิ่มแฟล็ก dist ที่บรรทัดคำสั่ง ค่าเริ่มต้นสำหรับ dist คือ 31 รันคำสั่งต่อไปนี้เพื่อเปลี่ยนพารามิเตอร์ chart_distance
python tools/run_all_tests.py ... chart=# dist=22

แอนดรอยด์ 12

หากต้องการระบุอุปกรณ์ทดสอบที่ถูกต้องใน Android 12 คุณสามารถแก้ไขไฟล์ config.yml เพื่อเปลี่ยนพารามิเตอร์ chart_distance ได้
edit config.yml
chart_distance: 31.0 → chart_distance: 22.0

คำถามที่ 3: ฉันจะควบคุมความสว่างของแท็บเล็ตได้อย่างไร

ตามค่าเริ่มต้น ความสว่างของแท็บเล็ตจะตั้งไว้ที่ 96

หากต้องการเปลี่ยนความสว่างบนแท็บเล็ตที่ใช้ Android 7.0 ถึง Android 9 ให้รัน:

edit tools/wake_up_screen.py
DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192

หากต้องการเปลี่ยนความสว่างบนแท็บเล็ตที่ใช้ Android 10 ถึง 11 คุณสามารถเปลี่ยนค่าได้ที่บรรทัดคำสั่งโดยเพิ่มแฟล็ก brightness :

python tools/run_all_tests.py device=# camera=# chart=# brightness=192

หากต้องการเปลี่ยนความสว่างบนแท็บเล็ตที่ใช้ Android 12 ให้รัน:

edit config.yml
brightness: 96 → brightness: 192

คำถามที่ 4: ฉันจะดีบักการทดสอบเดี่ยวได้อย่างไร

การทดสอบสามารถดำเนินการทีละรายการเพื่อจุดประสงค์ในการแก้ไขจุดบกพร่อง แต่ผลลัพธ์จะไม่ถูกรายงานไปยัง CtsVerifier.apk เว้นแต่จะมีการเรียกใช้ทั้งฉาก

หากต้องการเรียกใช้แต่ละฉากใน Android 11 และต่ำกว่า:

  1. โหลดฉากโดยเพิ่มการตั้งค่า scenes ใน tools/run_all_tests.py :
    python tools/run_all_tests.py device=# camera=# chart=# scenes=#
    
  2. กด Control+C เพื่อหยุดการทดสอบหลังจากที่ฉากถูกบันทึกว่าโหลดไปที่ stdout

    หากฉากที่ถูกต้องปรากฏบนหน้าจออยู่แล้ว ให้ปลุกหน้าจอ:

    python tools/wake_up_screen.py screen=#
    
  3. ทำการทดสอบรายบุคคล

    python tests/scene#/test_*.py device=# camera=#

    จากนั้นพล็อตจะถูกสร้างขึ้นในไดเร็กทอรีในเครื่อง จากนั้น stdout และ stderr จะถูกพิมพ์ลงบนหน้าจอ

    หากต้องการข้อมูลเพิ่มเติมสำหรับการดีบัก ให้เพิ่มคำสั่ง print ลงในสคริปต์ หากต้องการเพิ่มเอาต์พุตการทดสอบสำหรับการดีบัก ให้เพิ่มแฟล็ก debug=True

    python tests/scene#/test_*.py device=# camera=# debug=True

ผลลัพธ์จะถูกพิมพ์ไปยังหน้าจอในเครื่องและรูปภาพจะถูกบันทึกในไดเร็กทอรีในเครื่อง แทนที่จะเป็นไดเร็กทอรี /tmp/tmp### ที่สร้างขึ้นเมื่อรัน tools/run_all_tests.py

หากต้องการเรียกใช้แต่ละฉากใน Android 12 ให้ทำดังนี้

  1. แก้ไขไฟล์ config.yml

    edit config.yml
    camera: <camera-id> → camera:  0
    scene: <scene-name> → scene: scene1_1
  2. ดำเนินการทดสอบรายบุคคล

    python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
    

ผลลัพธ์จะถูกพิมพ์ในไดเร็กทอรี /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ ซึ่งจัดเรียงตามเวลารัน

คำถามที่ 5: เหตุใดฉันจึงต้องรันการทดสอบที่ล้มเหลวทั้งฉากแทนที่จะทำการทดสอบซ้ำทีละรายการ

การทดสอบสามารถดำเนินการทีละรายการเพื่อจุดประสงค์ในการแก้ไขจุดบกพร่อง แต่ผลลัพธ์จะไม่ถูกรายงานไปยัง CtsVerifier.apk เว้นแต่จะมีการเรียกใช้ทั้งฉาก

Camera ITS ช่วยให้มั่นใจได้ว่าแอปของบุคคลที่สามมีอินเทอร์เฟซกล้องที่เข้ากันได้ เช่นเดียวกับ การทดสอบหน่วย การทดสอบแต่ละครั้งจะเน้นไปที่ข้อกำหนดเฉพาะในกล้อง เพื่อตรวจจับพฤติกรรมที่ไม่น่าเชื่อถือ การทดสอบเหล่านี้จะต้องผ่านเป็นกลุ่มตลอดทั้งฉาก ตัวอย่างเช่น แม้ว่าการทดสอบที่ไม่น่าเชื่อถือเพียงครั้งเดียวอาจผ่านการฉายซ้ำของทั้งฉาก แต่ก็เป็นเรื่องยากที่การทดสอบที่ไม่น่าเชื่อถือหลายครั้งจะผ่าน

เป็นตัวอย่างที่รุนแรง ลองพิจารณากรณีที่มีการทดสอบ 10 ครั้งในฉากที่แต่ละฉากมีความน่าจะเป็น 50% ที่จะส่งคืน PASS การดำเนินการทดสอบแต่ละครั้งเป็นรายบุคคล มีโอกาสสูงที่ผู้ปฏิบัติงานจะสามารถให้กล้องผ่านการทดสอบ Camera ITS ได้ อย่างไรก็ตาม หากทำการทดสอบโดยรวมเป็นฉากเดียว มีโอกาสเพียง 0.1% เท่านั้นที่ฉากจะผ่าน

คำถามที่ 6: ฉันจะรันฉากเดียวหรือเรียงลำดับฉากที่กำลังรันใหม่ได้อย่างไร

ตามค่าเริ่มต้น script tools/run_all_tests.py จะรันฉากทั้งหมดตามลำดับ อย่างไรก็ตาม สามารถเรียกใช้ฉากทีละฉากหรือตามลำดับที่ระบุและรายงานไปที่ CtsVerifier.apk

หากต้องการเรียกใช้แต่ละฉาก (เช่น ฉากที่ 2) หรือเรียกใช้มากกว่าหนึ่งฉากตามลำดับเฉพาะใน Android 11 หรือต่ำกว่า ให้ทำดังนี้

python tools/run_all_tests.py device=# camera=# chart=# scenes=2
python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2

หากต้องการเรียกใช้แต่ละฉากหรือเรียกใช้มากกว่าหนึ่งฉากตามลำดับเฉพาะใน Android 12 ให้ทำดังนี้

python tools/run_all_tests.py scenes=2
python tools/run_all_tests.py scenes=3,2

พารามิเตอร์เพิ่มเติมถูกตั้งค่าในไฟล์ config.yml

คำถามที่ 7: การทดสอบฉากที่ 1 จำนวนหนึ่งล้มเหลวด้วยการตั้งค่าแท็บเล็ต แต่ผ่านด้วยแผนภูมิกระดาษ เกิดอะไรขึ้น?

ตรวจสอบให้แน่ใจว่าแท็บเล็ตและสภาพแวดล้อมการทดสอบตรงตามข้อกำหนดต่อไปนี้

ข้อมูลจำเพาะของแท็บเล็ต

ตรวจสอบให้แน่ใจว่าแท็บเล็ตมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้:

  • ขนาดหน้าจอ(นิ้ว):10นิ้ว
  • ขนาดการแสดงผล (พิกเซล): มากกว่า 1920 x 1200 พิกเซล

สำหรับรายละเอียดเพิ่มเติม โปรดดู ข้อกำหนดของแท็บเล็ต

ความสว่างของแท็บเล็ต

การทดสอบอาจไม่ได้ผลลัพธ์ที่ถูกต้องหากความสว่างของจอแสดงผลแท็บเล็ตต่ำเกินไป

สำหรับรายละเอียดเพิ่มเติม โปรดดู ฉันจะควบคุมความสว่างของแท็บเล็ตได้อย่างไร

ระดับแสงสว่างของกล่อง (ต้องใช้ลักซ์มิเตอร์)

ตรวจสอบให้แน่ใจว่าค่าลักซ์เป้าหมายเมื่อเปิดแท็บเล็ตอยู่ระหว่าง 100 ถึง 300

หากระดับลักซ์สูงเกินไป scene1/test_param_flash_mode.py จะส่งกลับ FAIL หากระดับลักซ์ต่ำเกินไป การทดสอบหลายครั้งจะล้มเหลว

คำถามที่ 8: ฉันจะดีบักการทดสอบฟิวชันของเซ็นเซอร์ได้อย่างไร

  1. ตรวจสอบให้แน่ใจว่าคุณอยู่ในกลุ่ม dialout

    groups | egrep ‘dialout'
  2. ตรวจสอบให้แน่ใจว่าตัวควบคุมฟิวชันเซ็นเซอร์เชื่อมต่ออยู่โดยพิจารณาว่าเทคโนโลยี Microchip เชื่อมต่อกับพอร์ต USB หรือไม่

    lsusb
    …
    Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
    …
    
  3. รันการทดสอบหลายครั้งเพื่อรับการกระจายความพยายามในการทดสอบด้วยคำสั่งต่อไปนี้

    ใน Android 11 หรือต่ำกว่า:

    python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
    

    ใน Android 12:

    python tools/run_sensor_fusion_box.py num_runs=10
    

    พารามิเตอร์เพิ่มเติมถูกตั้งค่าในไฟล์ config.yml

    เอาต์พุตการรันอยู่ในโฟลเดอร์ /tmp/tmp### ที่สร้างขึ้นภายใต้โฟลเดอร์ sensor_fusion_# โดยที่ # คือหมายเลขการรัน สาเหตุทั่วไปของความล้มเหลวคือ:

    1. โทรศัพท์ไม่ได้อยู่ตรงกลางอย่างถูกต้อง
    2. พบคุณสมบัติไม่เพียงพอในภาพ (มักเป็นปัญหา FoV หรือแสง)
    3. FAIL ที่ส่งคืนนั้นถูกต้อง และต้องแก้ไขการชดเชยเวลาระหว่างกล้องและไจโรสโคป

คำถามที่ 9: ฉันควรรวมข้อมูลใดบ้างเมื่อรายงานข้อบกพร่องในการทดสอบ

เมื่อรายงานข้อผิดพลาดในการทดสอบ ให้รวมไฟล์และรูปภาพที่สร้างขึ้นสำหรับการทดสอบด้วย

  1. หากคุณรันการทดสอบผ่าน tools/run_all_tests.py ให้แนบไดเร็กทอรี zipped /tmp/ เข้ากับจุดบกพร่อง
  2. หากคุณทำการทดสอบด้วยตัวเอง ให้แนบเอาต์พุตหน้าจอทั้งหมดและสร้างรูปภาพให้กับจุดบกพร่อง

รวมถึงรายงานข้อผิดพลาดด้วย หลังจากการทดสอบที่เป็นปัญหาล้มเหลว ให้ใช้คำสั่งต่อไปนี้เพื่อสร้างรายงานจุดบกพร่องและแนบไฟล์ zip ที่สร้างขึ้นเข้ากับจุดบกพร่อง

adb -s device_id bugreport

คำถามที่ 10: ฉันจะรันฉากทดสอบเซนเซอร์ฟิวชันด้วยกล้องที่มีระยะโฟกัสต่ำสุดที่สร้างภาพเบลอที่ระยะแผนภูมิ 25 ซม. ได้อย่างไร

หากกล้องของคุณไม่สามารถโฟกัสที่ระยะ 25 ซม. ให้ถอดแผงยึดแผนภูมิของกล่องฟิวชันเซ็นเซอร์ออก วางแผนภูมิไว้ที่ระยะห่างที่ DUT สามารถโฟกัสได้ และเปลี่ยน chart_distance ใน config.yml เป็นระยะทางที่วัดได้ระหว่าง DUT และแผนภูมิ รูปที่ 5 แสดงตัวอย่างวิธีการวัดระยะทางแผนภูมิในสถานการณ์นี้

ตัวอย่างการทดสอบ TELE ของ sensor_fusion6
รูปที่ 5 แผนภูมิการวัดระยะทางสำหรับฉากทดสอบฟิวชั่นเซ็นเซอร์
  edit config.yml
chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART

คำถามที่ 11: ฉันจะรันฉากทดสอบแท็บเล็ตสำหรับกล้องที่มีระยะโฟกัสต่ำสุดที่สร้างภาพเบลอที่ระยะแผนภูมิ 31 ซม. ได้อย่างไร

หากกล้องของคุณไม่สามารถสร้างภาพที่คมชัดเพียงพอในการทดสอบที่ระยะ 31 ซม. (ความลึกของอุปกรณ์ทดสอบ RFoV) ให้ติดตั้งกล้องของคุณที่ด้านหน้าแท่นขุดเจาะในระยะไกลเพื่อให้ฉากในแผนภูมิเติมเต็มพื้นที่ประมาณ 60% ของพื้นที่กล้องของ มุมมอง (FoV) ด้วยภาพที่คมชัดยิ่งขึ้น ระยะนี้สามารถน้อยกว่าระยะโฟกัสต่ำสุดของกล้องได้ ปล่อยให้ chart_distance ใน config.yml อยู่ที่ 31 ซม. การปรับขนาดแผนภูมิบนแท็บเล็ตถูกกำหนดโดยกล้อง FoV ดังที่แสดงในตารางต่อไปนี้:

กล้องโฟวี ปัจจัยการปรับขนาดแผนภูมิ
60 > FoV > 40 0.67x
40 > FoV > 25 0.5 เท่า
FoV < 25 0.33x

คำถามที่ 12: ด้วย Logical Multi-Camera API การทดสอบใดที่ดำเนินการกับกล้องตัวใด

หากกล้องของคุณใช้ REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA การทดสอบ ITS ที่รองรับทั้งหมดจะดำเนินการบนกล้องลอจิคัลระดับบนสุด การทดสอบ ITS ชุดย่อยจะดำเนินการบนกล้องย่อยทางกายภาพ และการทดสอบเหล่านี้แสดงอยู่ใน tools/run_all_tests.py ใต้ค่าคงที่ SUB_CAMERA_TESTS