at Peachtree Regional, cRIO overloading, Help

We are team 1683 TechnoTitans, and today was our first day at peachtree regional.

Our programmers programmed the autoaiming and auto RPM adjusting based on the distance we are getting from our camera. It went fine when we were testing at school when we just had our shooters. But today when we put it on the robot, our cRIO overloaded, and it is running at 100%. We cannot get any update on the dashboard (which includes any camera images, and RPM, encoder feedbacks.)

We are in desperate help right now, we will take any suggestions and try it out tomorrow.

Thank you very much

Try to talk to Jeff Downs , your FTA at the event. He is a very smart person and should be able to help out.

I am just worrying that he wont have any time tomorrow morning when the seeding match starts

You’ll need to trim your code whatever language you’re using.

I’d start by disabling anything you can do without to begin with just to make sure you’re operational for the first few matches, then get help making it more efficient.

There will be a Control Systems Advisor (CSA) in the pits. Find them and ask for help. That’s what they do.

We programmed in JAVA.
And that is our plan right now, we are going to comment out the auto aiming code for the first few matches, and at least have somethere there. We will still be able to make shots, but just less accurate.

And tomorrow we will find those people and ask for help

Thank you!

Try reducing framerate or image size or both on your camera code to make things more efficient.

As others have said, make sure you run in your matches then talk to your CSA. If they can’t help they may be able to at least help you track down an experienced Java team that can.

We had the same problem at the Smokey Mountain Regions that we finally figured out today (we are also at the Peachtree Regionals). The issue is the flood lights on the main field (and possibly the ceiling lights). The camera tries to auto calibrate based on the field lighting, which caused the processing on our images to find so many targets that the cRio was not able to keep up with other processing. The solution was to point the camera at the goals (we are using the green LED light array) and then fix the white balance and exposure. We also discovered that you can setup the driver station dashboard to take images during the match, which can be used to optimize the image processing. If you have any questions, please drop by team 3824 and we can show you the setup on the camera. Ask for Aaron.

I second what RufflesRidge and Mark McLeod suggest.

I don’t know if this helps, since we use the Iterative Robot template and C++ , but syntax is syntax - ha!

The Iterative Robot template provides DisabledPeriodic, AutonomousPeriodic and TeleopPeriodic, functions with counters like :

m_telePeriodicLoops … look famaliar?

The Periodic functions loop at 5msec which we have found will swamp the cRio if we have a lot to control. So we use a modulo to schedule most of what we do at slower rates:

	if((m_telePeriodicLoops % 2 ) == 0)
	{ 
                 // do stuff every 10msec
            }

would be a 10msec loop for instance.

We typically find that 10-20 msec loops are more than adequate for smooth control.

I miss not being at Palmetto this year. Good Luck!
Eric

Team 1592 was running into some problems with putting all of our code in the teleop.vi (We are using Labview). We found that if we ran tasks periodically and only ran them every 10-20 ms like Eric suggested, we greatly reduced the load on our cRIO.

I’m not too sure on the difference that it is in JAVA but I would try to run tasks periodically instead of continuously.

Chris