# Ideas for Robot following a path

1. Feb 4, 2010

### stimulisRK

Im in a competition and we need to build a robot that shoots 3 ping pong balls through 3 holes and then rounds the bases as if on a baseball field- there is a peg at each base it must knock down.

Heres a link that shows the track on page 3: http://www.tcc.edu/faculty/webpages/pgordy/ASEE/ASEE2010/ASEE TYCD 2010 Rules _10-14-09_.pdf"

We have 3 ideas so far
1. have the robot run in a set circle that will knock down all 3 pegs in its path
2. Set up some type of sensor to measure the distance the robot has travelled and program it on a path that will knock down the pegs.
3. Use some type of sensor to keep the robot on the black tape on the track.

Which idea do you think is best and how would we go about implementing one of them?

Also what are some ways to propel the ping pong balls into the holes?

The robot must do this all on its own after we start it, we cant have any remote controlling.

Last edited by a moderator: Apr 24, 2017
2. Feb 4, 2010

### Jim M

I've seen something like this. THe robot I saw had a spinning arm on top that would knock stuff over that just spun all the time with a counterweight.

THe robot also had a light sensor that would run above the ground and detect he reflection of the ground vs the tape.
In this instance the tape was white and reflected more than the rest of the ground. But I think it could be made to work in the reverse. The sensor was mounted on a bar that sat out front of the robot.

Jim

Last edited by a moderator: May 4, 2017
3. Feb 5, 2010

### FlexGunship

Path following is a classic implementation of control theory in robotics. For cost/benefit reasons your best choice would be two IR emitter/detectors (usually about $3-$5 each).

The problem with using "dead reckoning" is that there is no error handling functionality at all. All moves are relative to a starting position and error is cumulative. "Dead reckoning," if you're unfamiliar, is the act of calculating your current position based on your total traversal. It is unreliable and unsuitable for positioning applications (oddly enough, it is also the grounds for inertial guidance which worked perfectly during the Apollo program, albeit in space).

By mounting two IR emitter/detector pairs you can tell when your robot strays from the electrical tape path (and in which direction) so you can initiate a corrective move. The reflectivity of the electrical tape in the IR wavelength should be significantly different than the surface on which it is mounted.

As IR light is shone on the tape you will see a characteristic voltage on the detector. Make this your target voltage (perhaps drive a comparator circuit using some op-amps that switches at this voltage). If the left signal drops out, correct by turning slightly right. If the right signal drops out, correct by turning slightly left.

With just these two you should be able to follow a line without a problem.

If you use four in a square arrangement, you can also tell your current slew (your angle of deviation from the tape's direction). If you know this, then you know how much of a change you need to make. In this case, your response would be different if the back right detector drops out than if your front right detector drops out.

A more complex solution would involve edge detection via a webcam mounted on the robot. I don't recommend that for a simple project.

4. Feb 5, 2010

### FlexGunship

Wait. Aren't you the perpetual motion guy?

5. Feb 5, 2010

### Jim M

Yes...lol. I posted something on it. (before I realized that it was forbidden.)
The PMM machine is one that has been tripping me up for years. I've never put the raw time into the long form calculations. (probably no longer have the skills to do it. It's been awhile since school) What was tripping me up on this, is that from industrial cheat sheets (the ones we use to build machines with) this machine works. (I am a machine designer with 14 yrs in the industry)
I know something is obviously wrong with it just can't put my finger on it. That's why I posted it.

Jim

6. Feb 7, 2010

### engin33r

one could cannibalize a mouse ( the old style with the rubber ball) and use the parts for a crude encoder mounted the drive wheels (may need one on each side.) This would give you some positioning feedback as it follows the line.

7. Feb 8, 2010

### FlexGunship

Cannibalize? Are you implying that the original poster is, in fact, a computer mouse? Eitherway, it's another form of dead reckoning. You could get cheap PWM motors with encoder feedback, but even position feedback from a drive system is only good for velocity control when you're not 100% sure of where you start or 100% sure of your traction.

8. Feb 10, 2010

### stimulisRK

I am in fact not a computer mouse lol

To clarify, we do know our starting position

9. Feb 10, 2010

### FlexGunship

I should be more clear. "Knowing" a position in control theory means knowing it with the same degree of accuracy as your system operates at. Not "I start on the green tile."

Imagine that I blindfold you and put you at the "start." You can't see anything and you only have a vague idea of which direction you're facing (perhaps within +/- 5 degrees). And I tell you VERY precisely: "Turn 30 degrees clockwise, walk 11 and 1/3 steps forward, then turn 90 counter-clockwise. Walk 11 steps and turn 90 degrees counter-clockwise again. Do this twice more to return to your starting position with a 1/3 step deviation in a 30 degree offset from where you started."

If you tried a hundred times you might hit all of your marks once or twice. Even if you counted really carefully, and made sure to try as hard as you can to turn 90 degrees.

The problem is you have no absolute reference. You will never know when you fail or how much you fail by because you have no external reference. If your "90-degree turn" command has a variability of two degrees, that's enough to miss second-base on a baseball diamond that is 3 meters to a side after just skimming first base.

They've given you a line to follow. Follow it.