From b52a092cc31c02b24fbd5e34cba3c615e34109f6 Mon Sep 17 00:00:00 2001 From: Westside Robotics Date: Sun, 20 Aug 2023 11:29:58 -0700 Subject: [PATCH] 8-20-23 post first draft for review by @texasdiaz (content created at his request for ftc-docs) --- Webcams-for-FTC-VisionPortal.md | 106 ++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Webcams-for-FTC-VisionPortal.md diff --git a/Webcams-for-FTC-VisionPortal.md b/Webcams-for-FTC-VisionPortal.md new file mode 100644 index 0000000..6f34ed5 --- /dev/null +++ b/Webcams-for-FTC-VisionPortal.md @@ -0,0 +1,106 @@ + + +8-20-2023 first draft for review by @texasdiaz + + +## Introduction + +This is a short list of common webcams that are known to work with the [**FTC VisionPortal**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_overview/visionportal-overview.html) and the [**FTC Camera Controls**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_camera_controls/visionportal-camera-controls.html). + +VisionPortal is a comprehensive new interface for FTC vision processing, including AprilTag and TensorFlow Object Detection (TFOD). + +Many more webcams can work with the FTC VisionPortal; this is a short list of models with built-in calibrations suitable for AprilTag [**pose estimation**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_pose/apriltag-pose.html). + +## Logitech C270 + +

[[/images/Webcams-for-FTC-VisionPortal/010-C270.png]]

+ +The [**Logitech C270**](https://www.logitech.com/en-us/products/webcams/c270-hd-webcam.960-000694.html) is available at the FIRST Storefront for new FTC teams, and at many online retailers. + +**Supported Resolutions:** 160x120, 176x144, 320x176, 320x240, 352x288, 432x240, 544x288, 640x360, 640x480, 752x416, 800x448, 800x600, 864x480, 960x544, 960x720, 1024x576, 1184x656, 1280x720 + +The FTC SDK provides **built-in calibration values** for the FTC VisionPortal default resolution of 640x480, and no others. Learn more at [**ftc-docs**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_camera_calibration/apriltag-camera-calibration.html). + +

[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]

+ +## Logitech C920 + +

[[/images/Webcams-for-FTC-VisionPortal/020-C920.png]]

+ +The [**Logitech C920**](https://www.logitech.com/en-us/products/webcams/c920s-pro-hd-webcam.960-001257.html) is available at many online retailers. + +**Supported Resolutions:** 160x90, 160x120, 176x144, 320x180, 320x240, 352x288, 432x240, 640x360, 640x480, 800x448, 800x600, 864x480, 960x720, 1024x576, 1280x720, 1600x896, 1920x1080, 2304x1296, 2304x1536. + +The FTC SDK provides **built-in calibration values** for the FTC VisionPortal default resolution of 640x480, and five others: 640x360, 800x448, 800x600, 864x480, and 1920x1080. Learn more at [**ftc-docs**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_camera_calibration/apriltag-camera-calibration.html). + +

[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]

+ +## Logitech C310 + +

[[/images/Webcams-for-FTC-VisionPortal/030-C310.png]]

+ +The [**Logitech C310**](https://www.logitech.com/en-us/products/webcams/c310-hd-webcam.960-000585.html) is available at some online retailers. + +**Supported Resolutions:** not published; probably similar to Logitech C270. + +The FTC SDK provides **built-in calibration values** for the FTC VisionPortal default resolution of 640x480, and for 640x360. Learn more at [**ftc-docs**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_camera_calibration/apriltag-camera-calibration.html). + +

[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]

+ +## Microsoft LifeCam HD-3000 v1/v2 + +

[[/images/Webcams-for-FTC-VisionPortal/040-LifeCam-3000.png]]

+ +The [**Microsoft LifeCam HD-3000**](https://www.microsoft.com/en/accessories/products/webcams/lifecam-hd-3000) is available at some online retailers. + +**Supported Resolutions:** not published; up to 1280x720. + +For v1 and v2 of this webcam, the FTC SDK provides **built-in calibration values** for the FTC VisionPortal default resolution of 640x480, and no others. Learn more at [**ftc-docs**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_camera_calibration/apriltag-camera-calibration.html). + +

[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]

+ +## Other Webcams + +Many other webcams are available online, with and without published [**UVC compatibility**](https://en.wikipedia.org/wiki/List_of_USB_video_class_devices). The FTC SDK supports **only** UVC compatible webcams. Many modern webcams are UVC compatible without specifically advertising it; often indicated by "no drivers needed". + +In general, other webcams (not listed above) will require user-provided [**calibration values**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_camera_calibration/apriltag-camera-calibration.html) for AprilTag [**pose estimation**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_pose/apriltag-pose.html). + +A digital camera opens its shutter to allow light ("the image") to reach the detector's array of small sensors (pixels). (Webcam shutters are typically electronic, not mechanical.) Most webcams use a **"rolling shutter"**, where the the image data is read **one pixel row at a time**. + +Another type of webcam, called **"global shutter"**, reads all pixels at the same time. This can help when the webcam (robot) is moving fast. Teams are encouraged to research the characteristics of rolling shutter vs. global shutter. + +One difference is that many global shutter cameras use a compressed video format called **MJPEG**. This saves bandwidth, to offset a higher frame rate (frames per second or FPS). The FTC VisionPortal uses a default (uncompressed) video format called **YUY2**, but does allow specifying MJPEG. + +Below is one example of a global shutter webcam, tested to work with the FTC VisionPortal. + +

[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]

+ +## Arducam Global Shutter 120 FPS + +

[[/images/Webcams-for-FTC-VisionPortal/050-Arducam.png]]

+ +The [**Arducam Global Shutter 120 FPS**](https://www.arducam.com/product/arducam-120fps-global-shutter-usb-camera-board-1mp-720p-ov9281-uvc-webcam-module-with-low-distortion-m12-lens-without-microphones-for-computer-laptop-android-device-and-raspberry-pi/) is available at some online retailers, including [Amazon](https://www.amazon.com/Arducam-Distortion-Microphones-Computer-Raspberry/dp/B096M5DKY6). + +**Supported Resolutions** in YUY2 format: 1280x720, 1280x800. Note frame rate limitations. + +**Supported Resolutions** in MJPEG format: 320x240, 640x480, 800x600, 1280x720, 1280x800. + +The FTC SDK provides **no** built-in calibration values for this webcam. Learn more at [**ftc-docs**](https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_camera_calibration/apriltag-camera-calibration.html). + +Two other tested global shutter webcams (offering different resolutions than the Arducam) are from [**Kayeton**](https://www.aliexpress.us/item/3256804287066234.html) and +[**ELP**](https://www.aliexpress.us/item/2251832829079715.html), both available from AliExpress and other online retailers. + +

[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]

+ +============ + +Questions, comments and corrections to westsiderobotics@verizon.net