View Single Post
  #1   Spotlight this post!  
Unread 11-04-2016, 12:38
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,041
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Problems with three cameras

1418 has two lifecam cameras so the operator can view the front and back of the robot, and at CHCMP we added a third lifecam camera so that they could reliably score in autonomous mode. We also added a USB hub and a memory stick so that we could log images and tune on them if necessary.

The first problem of course that we ran into was USB bandwidth and opening the third device failed. We were able to overcome this by switching the two viewing cameras to 160x120, and kept the vision camera at 320x240. So far so good, and after various bugs and tuning, in our last match it finally scored in autonomous (woo!).

However, in the first quarterfinal match, the USB devices decided to randomly swap, such that the vision camera was /dev/video0, and the other two were 1 and 2. This hadn't happened at all prior to that point, and some quick testing in the pits showed it happening again. After another autonomous failure in the next match it was decided to let the Robobees score from the low bar, the vision camera and usb stick were removed, and the remaining two cameras had no issues for the rest of the day.

We'd like to have the vision camera back by the time CMP rolls around. I'm curious if anyone else has tried using this many devices on the roborio, or have had similar issues, and how have you resolved them?

I know that you can use udev rules to make sure that devices are assigned to static symlinks, but I haven't looked into it too deeply yet. It appears that the lifecam devices do not have serial numbers associated with them, so it might be a bit harder to statically assign them. I've attached the output of lsusb with all devices attached.
Attached Files
File Type: txt lsusb.txt (117.8 KB, 13 views)
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
Reply With Quote