Our team this year is trying to track the tape by the pegs to score in autonomous. On our practice field at home and practice field at a regional, it has worked great! However, as soon as we connect it to the field system for a match it will not track the tape. As we are competing in Houston, I’d really like to get it working, especially seeing as we’re so close. I’m stumped however because i’m not sure why connecting through the field system or running it in a different arena would cause it not to work. I thought it might be due to different lighting on the actual field, but when the field was open for calibration the robot was getting a good reading from the tape. We’re using a Microsoft lifecam and I’ve modified the code to track the vertical peg tape. I’ve attached some screenshots of the code below. The basic structure of the code is to first have the robot dead reckon to place itself in front of any peg and then start tracking the tape. When it gets close enough it will start to eject the gear to place it on the peg. Thanks in advance for any help, this really has me stumped!
It could be as simple as slowing down your frame rate, and image size. The game field has the WiFi bandwidth throughput limited.
If you have a practice bot setup cut down your image size / frame rate. See how far you can lower them, and still have your vision function. The upside to lowering your bandwidth will also help your driver control response.
This was actually one of the first things I tried. I brought the loop timer all the way up to 250ms, frame rate to 5FPS, and compression to 50%. I’ve attached the image processing vi below for anyone interested in the specific settings i’m using.
We had this exact problem at our off season Regional last year. To me it seemed like a problem with the Microsoft life cam exposure settings being different on the field. I have tried and tried to trouble shoot the issues, but every time I solve one, a new one pops up with the life cam. It also makes it difficult to pin down because it only happens through the field. I would recommend skipping it, and using the axis camera for vision tracking. We had a good experience with the axis cam this year. It worked perfectly on and off the field.
Come find us on Newton. We can try to help.
Where can you still get an Axis camera?
Unfortunately, I don’t think my team has access to an axis camera. I’m not sure I follow what you’re saying about exposure settings being different on the field. Do you mean the exposure setting somehow gets changed when connecting through the field system?
I’ll definitely take you up on that. This has me stumped!
You can use the M1014. We used the Axis Camera set up that comes with LabVIEW and it worked great. You can get one of them from Amazon.
I have a few things here that I need answers to:
First how are you doing your vision acquisition?
In your anton code you need that to execute as quickly as possible. I would make the wait around 33 msec (100msec is too slow). This would be the rate needed to achieve 30 FPS. We are able to get 35 FPS and find the peg on the field. We do use an Axis camera and we do all of the processing on the driver station. I will be releasing my code very soon. Take a look at how we do it. I will try to remember to post back here when I post the code.
I’m using the vision example that came with labview that tracks the boiler, but I have modified it to track the vertical tape by the pegs. It is running on the roborio. In practice I’ve had the camera frame rate set at 10FPS and the loop timer at 100ms. At this level the robot was very responsive. Even at 250ms and the frame rate set to 5FPS, the robot still scores on the peg fine. The real problem is somehow connecting/playing on an official field changes something and causes it not to track.