Today, at our first brainstorming meeting, we were discussing the possibility of adding a second camera to our bot for better viewing ability. I was told that this is very likely not possible because of hardware confliction on the cRio. I’d like to be 100% sure that adding a second camera is not possible. I thought of connecting the two cameras through a switch and then connecting the ethernet cables to the cRio RJ45 camera port. I checked the camera manual, and read that IP addresses can be changed, so there’s no problem on that end. But, would the cRio only attempt to read the data from one camera, and if a second camera could be added, what would the performance be when using live view on the new driver stations. I’d suspect that the small PPC processor in the cRio wouldn’t handle two live video feeds well. In any case, is adding two or more cameras to the cRio possible? If so, how could this be done.
Thanks - Ben Sherman
I don’t see a technical reason why that wouldn’t be possible. However the current libraries would not allow for that, and believe the code which you would need access to in order to add that functionallity is not available to us.
I believe that this is possible, but you’ll need to write your own camera program. I know that last year there was a restriction that you could plug in one and only one camera to the 2nd Crio port, but I believe this was eliminated this year so we could use CAN through the port (please correct me if I just skipped over it in the manual).
Either way, I’m fairly sure you’d have to write your own software to receive images from the second camera. Most of is you could probably copy and paste from the existing camera file, but you’d have to change IP adresses and such.
Can you log into those cameras and view the feed in an internet browser?
Do those cameras have a built in web server in which you can view the feed?
There is a web interface to the cameras, I do not know wether you can use it on the field or not. I think it would be better to build it into a dashboard program.
Does the processor in the cRio have enough power to handle streaming the two live video feeds?
The cRIO can stream compressed video feeds pretty easily since it is a simply memory copy. The cRIO doesn’t need to decode and encode the video. To decode and process more video will take more resources, but presumably you are talking about using one or the other camera at a time or just streaming. Anyway, the WPILib camera libs were not well tested with multiple cameras. I know that the LV library was written to support this, but it wouldn’t surprise me that there will be some bugs.
Greg McKaskle