View Full Version : Off season controls projects
DjScribbles
30-04-2012, 12:32
I am a new programming mentor in FRC (this was my rookie year), and my team has never used much in the way of sensors beyond limit switches (as far as I know) before this year. I was also the primary programmer for the robot this year, because our team never had much interest in programming, and I didn't know enough about the environment to learn and teach at the same time, but I want to change that as much as I can.
I'm looking for any and all controls projects that maybe valuable for kids to learn, to help our team (and area teams) build a more competitive field in south-west Michigan.
Here are a few ideas I've come up with:
Path-following drive train: Building a drive train using encoders with the ability to follow a predetermined path reliably.
Shooter Speed control: How to close the loop for shooter wheels.
Light Sensor Line following: Using light sensors to track a line on the floor.
Game piece detection: using optical sensors to track your manipulation of game pieces (such as ball possession).
Camera Tracking: Using the axis cams to track rectangles, extracting info from the image such as distance, angle, etc.
So, what else do people do? What has been useful in the past? What do people think will be useful going forward?
My goal in all of this is to get with some other engineers in the area, and host any interested kids from area teams (we have about 10 teams in the area), to help populate our area with good robots and great programmers!
taichichuan
03-05-2012, 14:00
I am a new programming mentor in FRC (this was my rookie year), and my team has never used much in the way of sensors beyond limit switches (as far as I know) before this year. I was also the primary programmer for the robot this year, because our team never had much interest in programming, and I didn't know enough about the environment to learn and teach at the same time, but I want to change that as much as I can.
I'm looking for any and all controls projects that maybe valuable for kids to learn, to help our team (and area teams) build a more competitive field in south-west Michigan.
Here are a few ideas I've come up with:
Path-following drive train: Building a drive train using encoders with the ability to follow a predetermined path reliably.
Shooter Speed control: How to close the loop for shooter wheels.
Light Sensor Line following: Using light sensors to track a line on the floor.
Game piece detection: using optical sensors to track your manipulation of game pieces (such as ball possession).
Camera Tracking: Using the axis cams to track rectangles, extracting info from the image such as distance, angle, etc.
So, what else do people do? What has been useful in the past? What do people think will be useful going forward?
My goal in all of this is to get with some other engineers in the area, and host any interested kids from area teams (we have about 10 teams in the area), to help populate our area with good robots and great programmers!
Those are all pretty good projects and right in line with the topics that our software team will be working in the off season. They encompass many key topics including encoders, digital and analog I/O, using the camera for range detection, etc. Many of these can be done on processors like Arduinos that do not require access to a cRio. That always seems to be the long pole in the tent. The cRio is a great little processor, but the cost makes it prohibitive for having more than a couple for use in off-season development. The Arduino is cheap and there's now a connection board that allows you to use the digital sidecar with an Arduino-compatible library. We used an Arduino on our bot this season for the ball shooter angle and RPM reading on the shooter wheel. It worked well for us.
So, I'd say you're right on track with your projects. Being able to get most of them working will prepare your team quite well for almost any challenge.
Good luck,
Mike
Greg Young
03-05-2012, 14:40
That's a good list that will get you (mostly) ready for next season. There are always things you can't anticipate.
Path-following drive train: Building a drive train using encoders with the ability to follow a predetermined path reliably.
Add a gyro to this one and you can readily close a 30 foot path to within a few inches.
Mark McLeod
03-05-2012, 14:50
Other interesting sensor projects:
Potentiometer, maybe slave the robot orientation or a turret orientation to a Driver Station pot, or do the same with a multijointed arm.
gyroscope project, maintain a stable turret orientation while the robot moves about under it, or turning a drivetrain to different angles.
Rangefinders (ultrasonic, IR), maintain an adjustable distance from an object.
pfreivald
03-05-2012, 16:25
Path-following drive train: Building a drive train using encoders with the ability to follow a predetermined path reliably.
Shooter Speed control: How to close the loop for shooter wheels.
Light Sensor Line following: Using light sensors to track a line on the floor.
Game piece detection: using optical sensors to track your manipulation of game pieces (such as ball possession).
Camera Tracking: Using the axis cams to track rectangles, extracting info from the image such as distance, angle, etc.
Looks like a very good start! We used four out of five of these on our 2012 robot, and the only reason we didn't use the first is because we ran out of time to test/prototype pre-season!
Clayton Yocom
03-05-2012, 18:12
We're doing several projects. We have 2 R&D bots that will be working on that are both powered via an arduino (actually the same ones that power the [new] new year's eve ball). It will be fun to program them.
We're definately reviving the ball drive robot for historical sake AT-LEAST. We'll be sure to replace the old 1st generation trick wheels with some new omnis, and maybe the switchover to arduino control. (Depends on how the other two projects go)
We're also doing more work on auto-targeting, software optimization, and working on getting some of the super cool things we did in code out to you guys soon!
I am a new programming mentor in FRC (this was my rookie year), and my team has never used much in the way of sensors beyond limit switches (as far as I know) before this year. I was also the primary programmer for the robot this year, because our team never had much interest in programming, and I didn't know enough about the environment to learn and teach at the same time, but I want to change that as much as I can.
I'm looking for any and all controls projects that maybe valuable for kids to learn, to help our team (and area teams) build a more competitive field in south-west Michigan.
Here are a few ideas I've come up with:
Path-following drive train: Building a drive train using encoders with the ability to follow a predetermined path reliably.
Shooter Speed control: How to close the loop for shooter wheels.
Light Sensor Line following: Using light sensors to track a line on the floor.
Game piece detection: using optical sensors to track your manipulation of game pieces (such as ball possession).
Camera Tracking: Using the axis cams to track rectangles, extracting info from the image such as distance, angle, etc.
So, what else do people do? What has been useful in the past? What do people think will be useful going forward?
My goal in all of this is to get with some other engineers in the area, and host any interested kids from area teams (we have about 10 teams in the area), to help populate our area with good robots and great programmers!
Heres a project make a bot sense where a 3 near by ball is (ultrasonic sensor) then have it track picking up the three balls (photo sensor) and have a photo sensor loading system (ie ball in place stop belt, ball gone start belt until balls found.) then have another photo sensor track whether its on the key. and then have image processing aim. then have it vision processing track the lower center basket and have the bot programmed to line up with it on the fender. then have the bot turn 180 (gyro) have it go to the bridge (x seconds or possible encoders) have it lower bridge then have it auto balance (accelerometer) and then you have a fully autonomous rebound rumble bot. except in actuallity all the unaccounted for variables (mainly robots) would prevent it from working in competition.
Alexa Stott
03-05-2012, 19:56
Other interesting sensor projects:
Potentiometer, maybe slave the robot orientation or a turret orientation to a Driver Station pot, or do the same with a multijointed arm.
gyroscope project, maintain a stable turret orientation while the robot moves about under it, or turning a drivetrain to different angles.
Rangefinders (ultrasonic, IR), maintain an adjustable distance from an object.
This is exactly what I was going to say!
Try mounting some sensors onto your current robot and see what you can do with them. Write a few autonomous modes that rely on sensor input and such.
If you have robots from previous years that use sensors, that is another great teaching tool.
Getting a robot to reliably drive to different coordinates on the field autonomously (by whatever means necessary) is useful in virtually every game's autonomous mode. It's a challenge that requires relatively advanced code and a lot of debug time, making it not the sort of thing you want to do in the possibly short time between robot completion and bag day.
It seems like FRC is making camera tracking with retroreflective targets a thing, so getting some experience with that in the offseason could be good. This is especially true if you want to do fancy math on the targets to get their position in space.
By contrast, light sensors tracking game pieces could be useful, but the main challenge here is in the logic; once you have the right program flow, a ball elevator (for example) doesn't need too much tuning. Shooter wheels are the opposite; the programming logic is mostly simple but requires a lot of testing. Both of these are game specific, too.
TL;DR: Slap some encoders and a gyro on the drivetrain and make it dance!
techhelpbb
03-05-2012, 20:04
This one is probably a little more advanced.
Try using camera tracking to identify where your robot actually is on a field and what direction it is rotated.
Too funny Ziv...you were thinking what I was thinking at the same time.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.