View Single Post
  #12   Spotlight this post!  
Unread 11-10-2014, 08:29
mwtidd's Avatar
mwtidd mwtidd is offline
Registered User
AKA: mike
FRC #0319 (Big Bad Bob)
Team Role: Mentor
 
Join Date: Feb 2005
Rookie Year: 2003
Location: Boston, MA
Posts: 714
mwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond reputemwtidd has a reputation beyond repute
Re: Vision: what's state of the art in FRC?

1. For me, I think this mostly depends on whether or not you want to processes as you move. If you're able to process from a stopped position, then you should be fine processing from the crio. Pray for more reflective tape, because that stuff makes life 100x easier. Also make sure you grab a camera that you can modify the exposures on, and ideally one that will hold those exposure settings after a reboot.

That being said, if you're looking to process while moving, I'd recommend going with a coprocessor. Where it may be feasible to do it on the roborio, its probably safer to do it on a coprocessor, and you'll get much better performance/resolution utilizing a coprocessor. Like 900 I'm very excited about the Jetson TK1, and with the new voltage regulator, getting set up with it should be simplified.

2. I have stayed away from RoboRealm. This is more of a personal preference but any software that requires licenses immediately makes it more challenging to work in a distributed fashion. This year we utilized both NI Vision and Open CV. The NI Vision library was used for hot and cold, and Open CV for Java was used for distance to target calculations. I was fond of this set up, because it allowed us to work in the same language offboard and onboard. That being said, I think the advantages the TK1 presents may outweigh the advantages of working in a single language.

NI Vision was a lot easier to get started with. Once the camera was calibrated correctly, it was relatively simple. We spent 90% of our time trying to make it more efficient (essentially a moot point). Once we landed on only doing hot cold detection onboard, that made things easier.



Open CV took a lot more to get set up with. If you haven't done vision processing in the past, and opt to go with something like open cv, be prepared to spend most of the season on it and even with that, it may never find its way on the robot. In the backpacking world we have an expression "Ounces make pounds", and it's definitely true in first. Expect a coprocessor to be one of the first things to go when you have to shed weight.

3. They're out there, but you'll have to dig, and you'll have to dig through full code bases to find it. From what I've seen teams often release their whole code base as a whole rather than a set of libraries.

4. As many others, I'm not on a beta team, but if you're using NI Vision, the Axis Camera is actually a fairly nice solution. The big things I've found is that WPIlib is already configured for the Axis Camera specs. Also, it holds it's values after a reset, so you don't have to worry about your exposure settings resetting in between matches.

All that being said, I think 900 is probably a good reference point for the state of the art solution/execution. The way they implemented their single frame vision processing was rather clever. Also, it sounds like they're following the FIRST roadmap by getting started on the Jetson TK1 early. I think that is where a lot of the beneficial state of the art stuff is going to go. Teams have been utilizing the kinect and doing object detection for several years now, but it seems to me these are more bullet points for awards as opposed to practical implementations.

For me, the state of the art stuff I'm interested in, is that which eases implementation while addressing the various constraints for the platforms we work on.
__________________
"Never let your schooling interfere with your education" -Mark Twain

Last edited by mwtidd : 11-10-2014 at 10:19.