Future Programming Help (not urgent)

Our competition season for this year is basically over (not counting off seasons). And I got to thinking about what I’ve learned to do this year programming wise (PID, driver station modifications, button toggling, and some other stuff) and I realized there is a TON of stuff I cant even begin to understand. Programming matrices, DMA, Image manipulation and processing, Communications programming (I2C, serial, ect.), watchdog, advanced loops, and things I can’t even imagine.

So my point is that where should I start. Aside from stuff I listed above I’ve gone through the whole WPI Library and tested most things on our robot (occasionally at inappropriate times) already. I’ve done pid and closed loop controllers (although I can’t tune them myself). Any links, tips, or help would be appreciated.

And go to college isn’t the answer I’m looking for but I know someones gonna think it when they read this.

Start with something you want the robot to do, and choose a tool to use in order to accomplish the goal. Don’t just reach into the toolbox, pick up something, and ask what you can do with it.

Do you want to try automatic gear shifting with traction control? Try using I2C to interface with accelerometers. Do you want to try implementing “reflex” actions like autonomously hanging a logo piece under operator command? Try using the image processing features to locate and track vision targets. Do you want to make your manipulators move quickly and precisely? Try using PID control in carefully-timed loops, perhaps implementing “gain scheduling” based on expected external forces (e.g. gravity), and analyzing sensor feedback using various published schemes to determine the optimum PID tuning.