8-20-23 post first draft for review by @texasdiaz (content created at his request for ftc-docs)

Westside Robotics
2023-08-20 11:29:58 -07:00
parent fd9b145d79
commit b52a092cc3

@ -0,0 +1,106 @@
<!--
This text does not appear at the published wiki.
- created by request of @texasdiaz (wants a list at ftc-docs for CENTERSTAGE kickoff)
v01 dated 8-19-23 post first draft at WestsideRobotics repo
v02 dated 8-20-23 incorporate comments by @Windwoes
v03 dated 8-20-23 migrate to ftc wiki, for review and conversion by @texasdiaz to ftc-docs
-->
<i>8-20-2023 first draft for review by @texasdiaz</i>
## 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
<p align="center">[[/images/Webcams-for-FTC-VisionPortal/010-C270.png]]</p>
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).
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]</i><p>
## Logitech C920
<p align="center">[[/images/Webcams-for-FTC-VisionPortal/020-C920.png]]</p>
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).
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]</i><p>
## Logitech C310
<p align="center">[[/images/Webcams-for-FTC-VisionPortal/030-C310.png]]</p>
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).
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]</i><p>
## Microsoft LifeCam HD-3000 v1/v2
<p align="center">[[/images/Webcams-for-FTC-VisionPortal/040-LifeCam-3000.png]]</p>
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).
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]</i><p>
## 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.
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]</i><p>
## Arducam Global Shutter 120 FPS
<p align="center">[[/images/Webcams-for-FTC-VisionPortal/050-Arducam.png]]</p>
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).
<i>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.</i>
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Webcams-for-FTC-VisionPortal]]</i><p>
============
<i>Questions, comments and corrections to westsiderobotics@verizon.net</i>