We used a usb camera in our last event and weren’t to happy with it. We want to switch to an IP camera. Which one would you recommend and if you use a co-processor which one do you use?

Why was your team not happy with that camera? Was it the Microsoft LifeCam?

The life cam has a 2 second delay on it maybe it is just that we have to use a
co-processor or is it in the programing.

Before you go to the Axis cam, consider the price. I know that when my team broke our Axis cam, a replacement was $200+, while a LifeCam is about $35.

I did notice that our Microsoft LifeCam does stream at a very low framerate, but it definitely doesn’t have a two-second delay. Some programming options would be to decrease the quality of the image, decrease the amount of steps taken to process the image, or maybe have two different threads with one having output to the dashboard and the other doing your vision processing.

We also have a significant delay on our RoboRIO-connected USB cameras outputing to the dashboard, about 1.5s or so. We’ve tried changing quality and image size and the image capture is on a separate thread (CameraServer). We’ve also tried both Java and C++ as well to no avail.

How are you processing your USB camera images?

I would try the Logitech C920 USB2 camera.
That’s what FRC11 has on their robot.

Using the CameraServer in Java on the RoboRIO I noticed a minimal delay on a private network streaming to the dashboard when not on the field.

I’d have to ask FRC11 how it went on the field.

It is possible that your other code on the RoboRIO is using up the CPU such that the USB camera is impacted.
I suppose the IP camera is one way to address that.

I’ll second this. The C920 worked great for us last year, we have 2 this year that we’re working on the code to switch between them.

Just an added concern for those thinking about switching to a network camera. This years radio only has TWO ports. So one port for the Rio and one for the camera… No problem right? Except if you are in the pits and want to hook up your laptop to it via network cable. You will not be able to test vision or camera stuff as you do not have enough ports.

To get out of this jam last weekend we actually zip tied an 8 port hub we had lying around into the robot so we could test vision in the pit. :eek:

TrendNet plastic cased 5 port gigabit switch

Runs off 5V and the old D-Link radio power supply can power it.

We are processing the images using some code from NIVision in Java which isn’t in the API. We found it by using ctrl+space in Eclipse and looking for functions that looked helpful. Basically, we get a HSL Threshold, sort the particles from that by size, and take the biggest one as the high goal. We then use imaqMeasureParticle.(whatever you are looking for) to find the center of the particle.

Make sure you talk to CSA about running a static IP address, even though the manual specifically recommends not using one. Based on ours and a few others this past weekend, its the only way it’ll work.:slight_smile:

We are planning to use a router in the pits with the DHCP enabled in the router. The DHCP in the robot radio gets turned off for FMS play) It will be a little fiddlely having to move cables around, but will mean not waiting for fall back IPs.

I’d normally suggest using the USB connection to the roboRIO for a tether, but that wouldn’t let you access the IP camera from your Driver Station computer unless you try configuring the roboRIO to do network routing.

Thank you for including this information. I was about to post a question asking exactly this question. We need a hub on our robot this year and trying to find the DC input specs has been a challenge. The hubs are we already have around our shop seem to be either 6V or 9V.