Announcement

Collapse
No announcement yet.

What USB camera to buy?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • What USB camera to buy?

    I want my team to start learning to use the now legal USB camera option. I don't think we need anything fancy to start as the team is at the point of just modifying the Vuforia example code enough to go different paths based on the Vumark value.

    So either specific make/model or specs would be helpful. What things are important? Resolution, auto focus, etc.?

    TIA

  • #2
    Great question, as we're looking for similar info. We have several logitech webcams that aren't in use, so we'd love to start working on this as well, however, we have no idea where to start, even just the basics of how the new cameras will be used.

    We had no problem using our phone camera to decode the viewmarks last year, and have some experience programming the Pixiecam (but never deployed it), so we're hoping the new tech will be somewhat user friendly.

    Any details are really appreciated.


    Michael P Clark
    Founding Mentor, FTC 9958
    http://www.redfishrobotics.com
    "We're Hooked on FIRST"

    Comment


    • #3
      Originally posted by RedfishRobotics View Post
      Great question, as we're looking for similar info. We have several logitech webcams that aren't in use, so we'd love to start working on this as well, however, we have no idea where to start, even just the basics of how the new cameras will be used.

      We had no problem using our phone camera to decode the viewmarks last year, and have some experience programming the Pixiecam (but never deployed it), so we're hoping the new tech will be somewhat user friendly.

      Any details are really appreciated.

      Support for USB cameras will be implemented in SDK v4.0, which will be released some time before or shortly after kickoff.

      Comment


      • #4
        Originally posted by 4634 Programmer View Post

        Support for USB cameras will be implemented in SDK v4.0, which will be released some time before or shortly after kickoff.
        Awesome, thanks for the info!
        Michael P Clark
        Founding Mentor, FTC 9958
        http://www.redfishrobotics.com
        "We're Hooked on FIRST"

        Comment


        • #5
          The USB camera will essentially be an alternative to the Phone Camera (to enable better placement).
          The camera's optics will need to be calibrated to provide good spatial localization (navigation).

          Several common cameras (cheap and expensive) will be calibrated by FIRST and their data will be included in the SDK. The list for these cameras will come out in the next week or so.
          The intention is that teams will also be able to perform their own calibration if they have a camera they REALLLLLLY want to use.

          So, if you have a camera on hand, it will probably work for initial testing when the first new code release comes out..
          By then, a "pre supported " list will also be out to enable teams to make a purchase decision.

          Comment


          • #6
            Thanks for the info, Phil. Do you know if the SDK will support multiple USB cameras simultaneously? Or an on-phone camera plus one or more USB cameras simultaneously?

            Comment


            • #7
              Originally posted by Philbot View Post
              The USB camera will essentially be an alternative to the Phone Camera (to enable better placement).
              The camera's optics will need to be calibrated to provide good spatial localization (navigation).

              Several common cameras (cheap and expensive) will be calibrated by FIRST and their data will be included in the SDK. The list for these cameras will come out in the next week or so.
              The intention is that teams will also be able to perform their own calibration if they have a camera they REALLLLLLY want to use.

              So, if you have a camera on hand, it will probably work for initial testing when the first new code release comes out..
              By then, a "pre supported " list will also be out to enable teams to make a purchase decision.
              It's been 2 weeks, any news on the list?

              Comment


              • #8
                Phil,
                It's now about 5 weeks since you said, "The list for these cameras will come out in the next week or so.". Is there even a preliminary list? Be a nice thing to play with in the two weeks before kickoff.
                Thanks,
                Roy

                Comment


                • #9
                  Originally posted by RoyM View Post
                  Phil,
                  It's now about 5 weeks since you said, "The list for these cameras will come out in the next week or so.". Is there even a preliminary list? Be a nice thing to play with in the two weeks before kickoff.
                  Thanks,
                  Roy
                  A reasonable question.

                  The reality is that the combinations of acceptable cameras and varying phone options is proving difficult to nail down.
                  One of the advantages of using the Phone's built-in camera is that the Phone's OS has been fully integrated with that camera.
                  This is definitely not the case with WebCams.

                  Once we started testing different cameras with different phones, the picture got very muddy, very quickly.

                  The initial premise was that Android's support for WebCams would be somewhat consistent. This has proved to be far from reality.
                  As the team discovers each unique Phone/Android/Camera behavior, it's required specific research to discover if the issue is a phone or OS problem.
                  Some cameras work on some phones and not others.

                  Older phones may lack aspects of the required WebCam support. Very new phones seem somewhat untested in certain areas. There is no magic bullet.

                  The one Camera list seems to be evolving into two lists:
                  1) These phone/OS combinations provide better camera support
                  2) These Cameras provide acceptable performance/stability

                  Bottom line.... I would not plan on absolutely being able to use a Webcam on your robot with any arbitrary hardware configuration.
                  I know this isn't a extremely palatable situation, but it's a reality of empowering teams with wider options on allowable phones.

                  My personal feeling is that "Experimentation and Verification" is going to be a key mindset for webcam "early adopters" this year.

                  Comment


                  • #10
                    Phil,
                    Thanks for responding so quickly, and also thank you and the others working on this for not prematurely publishing incomplete or misleading data. Might it be possible to publish a partial list? For example, if we know that one or two cameras are known to work reasonably well, that information would be useful, even if there might perhaps be even more cameras with good performance. And if certain popular phones were known support cameras well, or poorly, that would be useful, just so we'll know if we're going to be looking at buying one or two replacement phones.
                    Thanks,
                    Roy

                    Comment


                    • #11
                      Originally posted by Philbot View Post

                      <snip>
                      The one Camera list seems to be evolving into two lists:
                      1) These phone/OS combinations provide better camera support
                      2) These Cameras provide acceptable performance/stability

                      Bottom line.... I would not plan on absolutely being able to use a Webcam on your robot with any arbitrary hardware configuration.
                      I know this isn't a extremely palatable situation, but it's a reality of empowering teams with wider options on allowable phones.

                      My personal feeling is that "Experimentation and Verification" is going to be a key mindset for webcam "early adopters" this year.
                      Phil,

                      Three follow up questions:
                      1. When would this list potentially be ready?
                      2. Do you know what phones are shipping this year in the Communications package? All it states is "Moto G phones" in the Kit of Parts (https://www.firstinspires.org/robotics/ftc/kit-of-parts). Since we know the differences between the Moto generations can be fairly significant, especially wrt cameras, it would be great to know this up front (so we know to buy a pair with registration or go go to eBay (likely for a higher cost).
                      3. Can you confirm if the Samsung S5, Moto G4 Play, and/or Moto G5 are in the well behaved category (#1 in your list)?

                      Thanks!
                      Technical Coach, Newton Busters FTC 10138, FLL 3077
                      Chicago 'burbs, IL

                      Comment


                      • #12
                        Originally posted by gof View Post

                        Phil,

                        Three follow up questions:
                        1. When would this list potentially be ready?
                        2. Do you know what phones are shipping this year in the Communications package? All it states is "Moto G phones" in the Kit of Parts (https://www.firstinspires.org/robotics/ftc/kit-of-parts). Since we know the differences between the Moto generations can be fairly significant, especially wrt cameras, it would be great to know this up front (so we know to buy a pair with registration or go go to eBay (likely for a higher cost).
                        3. Can you confirm if the Samsung S5, Moto G4 Play, and/or Moto G5 are in the well behaved category (#1 in your list)?

                        Thanks!
                        Unfortunately I don't have a solid answer to any of those questions.

                        Yes, it's frustrating... but at this time, in this case, giving an incorrect answer would be much worse than not giving any answer.

                        If you have to make a purchase decision right now, you just have to accept that a WebCam "may" not be an option you can use this season.
                        If possible, the best option may be to wait.

                        Comment


                        • #13
                          Some context: I was the volunteer who wrote the USB webcam integration logic, and I've personally done the majority of the webcam compatibility testing.

                          I want to echo Phil's caution: compatibility / utility is, um, subtle, as we continue to learn. And you do always have the option of using the builtin phone cameras. As to webcams, there are at least two distinct areas of concern: (1) USB protocol compatibility, and (2) electrical current draw.

                          Regarding (1), I think we know the landscape fairly well at this point: if it's a UVC camera, it will work (specifically: we've never seen a UVC camera that doesn't work and we (I) have tested some 22 different UVC camera models by now). However, not all UVC cameras are equal. They differ (at least) on price, availability, image quality, and features (notably autofocus, and autoexposure). You can get some very inexpensive off-brand UVC cameras, for example, but they tend to be fixed or manual focus, and they tend to suffer on image quality. Of the more well-known brands, Logitech cameras have in my experience consistently good image quality, and they offer a range of models from the fixed-focus C170 ($15 on Amazon) to the high-end C930e ($72). Microsoft also has a range of good cameras, though be sure to avoid the Microsoft 'VX' Lifecam, as they appear not to be UVC compatible (specifics: the Lifecam VX-3000 and Lifecam VX-1000 are *definitely* not UVC; other VX models not yet tested. Microsoft Lifecam models that are NOT in the 'VX' line work successfully). Of all the 25+ camera models marketed as webcams tested so far, only these two VX models and an ancient discontinued HP camera were not UVC compatible: if you buy a random webcam, chances are that it's UVC compatible, and thus will work.

                          TL;DR? Logitech webcams work well.

                          However, there remains the issue of electrical current draw. Webcams are powered over USB from the upstream host. Briefly put, all the UVC webcams tested so far work well on all Android phone models and OS versions tested so far *if* there's a powered USB hub between the webcam and the phone. However, if the powered hub is removed (as is required for competition), and the webcam connected directly to the phone, it turns out that (USB power management standards notwithstanding) mixing Webcam Model A with Phone Model B produces markedly varied stability results, depending on what A and B are. And at this point, I don't have the data to be much more specific than that, though I will say that the lower end phones (ZTE Speeds specifically) seem to perform more poorly than newer models (notably the Motorola Moto G's). Perhaps as members of the community explore this space further, we can find pairings of webcams and robot controller phones that are notably stable and useful.

                          I hope that helps. If someone has a particular webcam model they'd like investigated, please do let me know, and I'll add it to our test matrix if it's not already there.

                          Comment


                          • #14
                            Originally posted by FTC0417 View Post
                            Some context: I was the volunteer who wrote the USB webcam integration logic, and I've personally done the majority of the webcam compatibility testing.

                            I want to echo Phil's caution: compatibility / utility is, um, subtle, as we continue to learn. And you do always have the option of using the builtin phone cameras. As to webcams, there are at least two distinct areas of concern: (1) USB protocol compatibility, and (2) electrical current draw.

                            Regarding (1), I think we know the landscape fairly well at this point: if it's a UVC camera, it will work (specifically: we've never seen a UVC camera that doesn't work and we (I) have tested some 22 different UVC camera models by now). However, not all UVC cameras are equal. They differ (at least) on price, availability, image quality, and features (notably autofocus, and autoexposure). You can get some very inexpensive off-brand UVC cameras, for example, but they tend to be fixed or manual focus, and they tend to suffer on image quality. Of the more well-known brands, Logitech cameras have in my experience consistently good image quality, and they offer a range of models from the fixed-focus C170 ($15 on Amazon) to the high-end C930e ($72). Microsoft also has a range of good cameras, though be sure to avoid the Microsoft 'VX' Lifecam, as they appear not to be UVC compatible (specifics: the Lifecam VX-3000 and Lifecam VX-1000 are *definitely* not UVC; other VX models not yet tested. Microsoft Lifecam models that are NOT in the 'VX' line work successfully). Of all the 25+ camera models marketed as webcams tested so far, only these two VX models and an ancient discontinued HP camera were not UVC compatible: if you buy a random webcam, chances are that it's UVC compatible, and thus will work.

                            TL;DR? Logitech webcams work well.

                            However, there remains the issue of electrical current draw. Webcams are powered over USB from the upstream host. Briefly put, all the UVC webcams tested so far work well on all Android phone models and OS versions tested so far *if* there's a powered USB hub between the webcam and the phone. However, if the powered hub is removed (as is required for competition), and the webcam connected directly to the phone, it turns out that (USB power management standards notwithstanding) mixing Webcam Model A with Phone Model B produces markedly varied stability results, depending on what A and B are. And at this point, I don't have the data to be much more specific than that, though I will say that the lower end phones (ZTE Speeds specifically) seem to perform more poorly than newer models (notably the Motorola Moto G's). Perhaps as members of the community explore this space further, we can find pairings of webcams and robot controller phones that are notably stable and useful.

                            I hope that helps. If someone has a particular webcam model they'd like investigated, please do let me know, and I'll add it to our test matrix if it's not already there.
                            The game manual says that a hybrid of MR and REV is allowed if the PDM is also used. The PDM is a powered USB hub. So webcams should work well if a team uses a MR and REV hybrid, then. So.... perhaps you could nudge the GDC to also allow using a PDM when only using REV Hubs and a webcam?

                            Comment


                            • #15
                              The Modern Robotics Core Power Distribution Module only supports USB 2 'full' speed (12Mbps) not 'high' speed (480Mbps); full speed is insufficient to support video streaming.

                              Comment

                              Working...
                              X