View Single Post
  #6   Spotlight this post!  
Unread 08-09-2003, 17:24
The Lucas's Avatar
The Lucas The Lucas is offline
CaMOElot, it is a silly place
AKA: My First Name is really "The" (or Brian)
FRC #0365 (The Miracle Workerz); FRC#1495 (AGR); FRC#4342 (Demon)
Team Role: Mentor
 
Join Date: Mar 2002
Rookie Year: 2001
Location: Dela-Where?
Posts: 1,564
The Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond reputeThe Lucas has a reputation beyond repute
Send a message via AIM to The Lucas
A segway-like machine should go a constant speed appropriate (or balanced) for the tilt of the machine. As the tilt changes the speed must change to maintain balance. Instead of thinking about a "speed limiter" you should think about a "tilt limiter". Speed limitation will follow naturally.

Limiting the power output to your motors would be bad because the motors may need all the power they can get to maintain balance. Instead set an allowed range of tilt and allow your motors to keep it from going out of that range by speeding up more at the extremes of the range. It will probably take a lot of tweaking to figure out the correct function to calculate speed based on tilt. I suggest you start with a small range and work your way up.

As for the tilt sensor itself, I assume you want to use the gyro from the kit. Unfortunately that thing is no match for the 5 gyros on the actual Segway. It is a yaw rate sensor (gives the rate of angular change) so you can integrate the gyro to determine the tilt. Our autonomous program last year used the gyro on the yaw axis (left to right) of our bot. We integrated the gyro during a dead reckoning turn and then switched to correction mode. During this mode we compared the integrated value to a stored value we determined to be about 145 degrees. We turned the robot until the two values matched. After it achieved its angle, it was constantly correcting to make sure the robot stayed straight (even while pushing bins or other bots autonomously). You could use a similar system to keep it from going past the tilt limit.

The gyro has a small flaw which may create major problems in a balancing. The analog value giving by the gyro has a tendency to move up or down by one digit without moving. This could cause your integration to drift off center and your machine to lose balance during extended running periods. For example say your gyro had 127 for a neutral value. It may jump to 128 for a few cycles and then back down to 127. This would make your integration value a little too high. If it does this enough, the value may become way too high and fail (and fall ). If this is a problem then a re-centering button might become necessary. This brings up another problem: If you don't have handle bars, where will you put steering and other controls? I suggest wrist watch controls . It would be so Bond-like to twist a potentiometer on your wrist to turn your machine. Maybe team 007 should consider that for their operator interface next year!
__________________
Electrical & Programming Mentor ---Team #365 "The Miracle Workerz"
Programming Mentor ---Team #4342 "Demon Robotics"
Founding Mentor --- Team #1495 Avon Grove High School
2007 CMP Chairman's Award - Thanks to all MOE members (and others) past and present who made it a reality.
Robot Inspector
"I don't think I'm ever more ''aware'' than I am right after I burn my thumb with a soldering iron"

Last edited by The Lucas : 08-09-2003 at 17:26.
Reply With Quote