I was just wondering if my team should use an accelerometer or two gear tooth sensors on each side of our bot to make sure it is moving straight. It seems like the accelerometer is way too touchy to set up on the robot but the gear tooth sensors seem pretty easy to put on and overall more practical. With the gear tooth sensors, we would just compare the gear tooth rate on each side and regulate voltage going to the motors until the gear tooth rates of each side are equal. We have no clue what we would do with the accelerometer. Our team is a complete rookie team but we have a bunch of seniors that are in advanced electronics and advanced engineering, so we have a strong base. What would everyone recommend we do?
This is my rookie year, and I already got delegated to figuring out how to use the camera, gear counters, and the accelo-thingie.
Counting the gear teeth is probably the only logical thing to do with the counters (duh), unless you felt like gearing a manipulator that couldn’t be brute-forced safely.
As for the accel., I guess the best use for it is to detect side-to-side movement during the auto period. Just because your bot moved to the side does not mean that the gears turned, especially with this year’s gearboxes. So, the accel. may (or may not) cover this angle.
Once I find the code, I’m going to try to combine the two to create a point-to-point system. The only trouble is that the accel. seems like it would be a bit twitchy, and figuring out how far it was bumped using g-forces seems like it would be hard. Also, figuring out how to code the auto period so that any recovery manuevers aren’t counted as going to the given point is going to take a while.
Oh well. I might post some code up later, since the meeting is tonight.
Its our meeting tonight too… I was just talking with someone on my team and we came to the idea of having the gear tooth rate balancing program on a toggle switch- turn it on when going straight, turn it off when turning. Whatcha think about that idea?
It might be alot easier if you just check to see if the joystick’s values are within a certain window. This way the driver does not have to flip a switch when he wants to turn.
Closed loop feedback is beautiful.
I would recommend that you use the joysticks to command desired speed and robot turn rate (0 = straight).
Using gear tooth encoders (and a gyro if you want to deal with the slipping wheels problem) you can measure both these actual values.
Compare the Actual to the Desired values to generate error signals. There are many well know methods (including PID control) that allow you to calculate the output you need to drive the error toward zero.
It is a beautiful thing. Your machine goes straight when it should and turns beautifully too – easy on the operator and easy to control.
Joe J.