We have successfully been using GRIP on the driver station. We want to do more with it.
Does anyone have information or experience with PC performance, GRIP, and processing power? We seem to get some lag. It isn’t too bad for what we are doing, but we’re a bit nervous about it in competition. It might be network latency, but it doesn’t seem to be as bad if we are just viewing a camera feed in the smart dashboard.
Anyway, we were wondering if beefing up the PC might be likely to improve things. Does GRIP take advantage of multiple cores? An available graphics card that could be used (at least in theory) to handle OpenCV calls? A higher speed processor? Just curious if anyone has some advice on system requirements or recommendations if using GRIP on the driver station PC.
There is a fairly easy way (and relatively accurate) to tell if a program utilizes multiple cores: run it an check the usage of your cores. It works better in linux because the OS is much lighter.
At the heart of GRIP is opencv. GRIP isn’t the problem with performance as it is really just a gui for opencv.
Have you tried compiling opencv to support multiple cores?
The long term plan is to use OpenCV on a coprocessor, but we don’t know if it will be done before our week 1 competition, so we might have to deal with the driver station at the first competition.
Opencv has either inherent threading with openmp in linux (not sure about windows) and it has a TBB API that I know can be utilized in windows. If you need help with this I’d be glad to help.
GRIP uses multiple threads to capture video, run algorithms, and render the GUI, but the computer vision stuff is all in one thread. So, you might benefit from multiple cores, but only up to a certain limit.