Confusion On How GRIP Works

Hi everyone, I have some confusion about GRIP.

  1. How will the robot know that it needs to move into position to shoot. So let’s say in my GRIP pipeline I have all of the images for the high goal on the boiler masked out with Contours. Will the the driver need to drive into a position where the camera (Lifecam-3000) can see the reflective tape, and GRIP will assume “Oh, I see a matching image to the contours for the tape, I will run [insert code here]”.

  2. Do I need to remask and take new pictures for every competition I go to? I’ve been told that teams take new pictures at every competition, mask them out, etc. Is that necessary or can I use the same images for the entire season?

I hope my questions are understandable, if not I’d be happy to clear anything up. Also I’ve looked and looked for code examples or tutorials. All I have been able to find is the introduction to grip screensteps tutorial, which doesn’t really show anything but putting out values from images.


  1. You can do something like that, your driver gets into a position to shoot where he can also see the reflective tape, then press a button that’s function is to run the pipeline, turn to center on the boiler and calculate the power to shoot, that way it won’t be active all the time and will take up less CPU and bandwidth.

  2. It’s probably a good idea, yes, because every competition you go to the lighting will be different, so the color you receive back from the tape will be a little different. Take a few pictures, find the new values for the color and everything else should be the same.

Adding to #2, I’m not sure how exactly you would use still images… However, every competition should allow teams some “field calibration” time. You can take your robot onto the field, turn it on and calibrate your GRIP filter settings for that environment.

Yeah, that would help as well, and I said picture because if you take an image using the robot’s camera you could tweak the values even outside of the field.