Now that teams have had a chance to hopefully try out your vision implementations, what do you guys think on the performance and ease of use of RoboRealm vs SmartDashboard Extension vs running it inside your robot program?
While we haven’t gotten much of a chance to test anything, it sounds like (from what I’ve heard) Roborealm is the easiest but requires a lot of computing resources, whereas OpenCV/JavaCV require more time and effort but are a bit lighter on CPU resources, while cRIO vision processing is the slowest but somewhere in the middle in terms of effort.
I really liked how easy and powerful RoboRealm was. The high resources is a downfall for the usage of an E09 Classmate as a Driver Station, but the software itself is phenomenal after the bugs were fixed in what I could do with it. The NetworkTables module made it very easy to send data although writing the Java code isn’t that much harder. Being able to display variables allowed us easily test our calculations and what RoboRealm spits out. There are many modules for vision processing that allows a huge range of filters and other processing.
Our programmers use RoboRealm this year and love it, compared to Java programming (on robot with cRIO) or offboard (on SmartDashboard). The benefit incudes:
interactive nature of the programming environment makes it very easy to tune the filters to get results faster. No code, compile, build, deploy cycles.
rich built-in constructs with good help to help novice understand vision processing concepts
VB and C-like scripting engine included to do more complex decisioning if necessary
very helpful support and quick turnaround for bug fixes.
Overall, I find it very well suited for FRC style of work because you can visualize the results of each change immediately and you can experiment with ideas very quickly. Yes, OpenCV is more powerful and more efficient, but the tool does not fit the job as well, IMHO.
We use a cheap Netbook with Atom N2600 processor on board; and it’s fast enough (approx. 10 fps with our RoboRealm code running).
We have the E11 Classmate with an N455… can anyone speak to the performance on that processor? I don’t know if RoboRealm is multithreaded, but I did notice that multithreaded benchmarks gun a good 40% faster on the N2600 than the N455.
What framerate is “good enough” for vision tracking?
Is the cRIO II sufficiently powerful to run vision processing locally, or is it still better to run it on the classmate?
Is the “flash” method possible in RoboRealm (turning the camera light on and off to isolate the target, rather than using color)?