Difference between revisions of "Team 1640 2010 Summer Program"

From DEW Robotics
Jump to: navigation, search
(11-July Update: sponsor advertising)
(Possessor Consumables Replacement Processes)
Line 255: Line 255:
 
:9B. Screw the bearing block back in.<br>
 
:9B. Screw the bearing block back in.<br>
 
:10B. Put the new bands over the newly resurfaced pulley. A good technique is to pull a small section of band on and turn the pulley to move on the rest.<br>
 
:10B. Put the new bands over the newly resurfaced pulley. A good technique is to pull a small section of band on and turn the pulley to move on the rest.<br>
 +
 +
===12-July Update===
 +
Driving Practice.
  
 
==Mirror==
 
==Mirror==

Revision as of 01:39, 13 July 2010

Objectives

Objectives for the 2010 Summer Program are focused on our desire to perform well at IRI. Towards this end, we are:

  1. Performing basic maintenance on the robot, especially the drive-train to compensate for the wear and tear of our competitions and demonstrations;
  2. Developing and implementing a possessor which really works;
  3. Getting the control code right & tested, including the angle-drive autonomous; and
  4. Adding a mechanism to raise the mirror.

Necessary Repairs & Maintenance & Drive-Train

Basic maintenance & upgrade work started 2-June and comprised:

  • Pull all pivots. Add spacers between driven sprocket lower 1" bearing. Check condition and refurbish as needed. All treads will need to be changed (they're beat). I will order more treads.
  • Replace Steering Jaguars with Victors and test.
On Wednesday, 2-June, we followed the above plan, without finishing.
  • Pivots removed
  • (4) 0.520" PVC Spacers cut from 1" PVC pipe (we've got miles) - thanks, Douglas & John
  • General cleaning & tread replacement. Steering sprockets pulled from pivots.
  • Drilled holes for Jaguar > Victor switch. We made a template first, so that holes were drilled in the correct spots.
Generally, pivots are in good condition excluding tread wear and carpet fiber accumulation on the transfer axle. No "broken" pivots as at PARC. All steering sprockets are 0.52" above lower bearing (same as model dimension - 0.521") except Pivot #3 at 0.33" (thereby our steering chain problem). Pivot #3 steering sprocket set screws were loose (not quite finger tight).
The Pivot Replacement Process was documented.
On Wednesday, 16-June, we continued:
  • Molly & Garrison joined us - welcome!
  • Steering Jaguars replaced with Victors. All drive Jaguars are black.
  • Pivots 1 & 4 reinstalled. 2 & 3 still in service.
  • PVC spacers installed.
Work was completed on 19-June, just in time for the Upper Uwchlan Block Party.

Possessor

We've got a adequate possessor for demonstrations. At PARC, Monty Madness and (BR)2, we were dissatisfied with our possessor's performance. While it seemed to perform well enough at the STEM Defined demonstration, in the heat of competition, it tends to either fail to possess the ball, or to cause or allow the robot to drive over the ball. We really cannot effectively herd balls into the goal either (because of a tendency to drive over them). This is an area which needs work for IRI. Options seem to be:

  1. A vacuum possessor (like Team 25's)
  2. A Possessor with a low roller
  3. Adapt the possessor to grab the ball by pinching it (without lifting it off the floor) rather than just applying a backwards spin

Vacuum Possessor

Preliminary analysis in Inventor indicates that it is feasible to accommodate a vacuum-type possessor similar to Team 25's in the DEWBOT VI chassis. The driver would have to accurately center the ball. Analysis and design were not pursued past this point.

Low roller Possessor

We've observed that robots with effective possessors often have passive rollers at or below the ball centerpoint. Installing such a low roller on DEWBOT VI without a major redesign is not trivial. Key challenges are:
  1. Avoiding interference with the kicker
  2. Avoiding interference with the pivots
  3. Maintaining our ability to cross bumps without difficulty. A low-position roller intrinsically is in the way when climbing a bump

Trirol Possessor Design

A possessor was designed having an articulated, low, 3rd roller.
  • The low roller is a ½" steel rod (like the middle roller)
  • The low roller is set in needle (roller) bearings for free rotation
  • The low roller articulates by pivoting forward and up out of the way for bump crossing.
  • Two 3/4" diameter x 4" stroke pneumatic cylinders provide the actuation. Both run from a single solenoid. Restrictor valves will need to be installed on the solenoid vents.
  • A hard stop is provided for the possessor in the lowered, working position (the design does not rely on the pneumatic cylinders to provide this stop). This hard stop is necessarily quite close to the pivot axis.
  • While rotating between the deployed and retracted states, the low possessor assembly does not break the frame perimeter.
  • It is proposed that the low possessor will automatically retract when the operator relaxes the kicker to cross a bump; and automatically deploy when the kicker is armed; normal kicking will not change the possessor state.
  • In addition, it is likely that the combination of reversing the driven possessor and retracting the lower possessor roller would be a useful, low-velocity means to positively eject balls into the goal from the goal's ramp (without having to drive the robot entirely into the goal).
  • The kicker is modified by having its lower portions cut away so that it clears over the 3rd roller.

As designed, this is a back-rolling possessor, not a pinching possessor. It could in principle be converted to a pinching possessor if the low roller bearings were removed or disabled.

View the detailed drawings.

Prototype Testing

3rd roll prototype installed on DEWBOT VI
At Jon Davis's suggestion, a fixed 3rd roll prototype was installed and tested on 30-June. Key observations:
  • Possession performance appears unaffected by the 3rd roller - poor-to-mediocre
  • On the other hand, it is now impossible to override the ball
  • and herding now works very well, possessor on or off
Overall, some small improvement, but not at all what we were hoping for.
Adding friction tape to the bottom roller resulted in no observable improvement.

Hi/Lo Roller Pinching Possessor test

We were planning to replace the middle steel roller with fiberglass, but before installing the fiberglass rod, we tested the possessor without the middle roller. This provided a phenomenal improvement in possessing performance. This Hi/Lo 2-roller possessor really works! It hangs on to the ball. The Hi/Lo 2-roller possessor is definitely a pincher. The bottom roller needs to be high-friction and needs to not roll easily (or at all). The bottom roller also needs to be stiff (so steel is better than fiberglass). No ball overdriving problem. The possessor will lose the ball if the ball touches the Ball Dam Gusset on either side. Transverse driving is therefore a problem if taken too far, but it can also serve to center the ball. We tested filling in the top roll spiral gaps with friction tape, but this had no obvious effect. Existing spirals are definitely not beneficial (they do not center the ball), but don't seem to hurt performance either.

Back to the Drawing Board (3 & 4-July)

The elimination of the middle roller makes access for actuation of the low roller simpler. Narrowing the top roller is no longer necessary. A design with this change was started, then abandoned. The possessor went through two major redesigns in two days.
Our tests make it clear that a great deal of backwards force is applied on the low roller. The Trirol's low roller mount was not designed with this sort of force in mind. We therefore need a more robust approach for the articulated low roller.
In light of this need for robustness, we started investigating vertical retraction (linear motion) design. Robust linear motion 80/20 roller wheel assemblies (80/20 part # 2751) were gallantly liberated from DEWBOT IV. Mounted on the existing 80/20 kicker spring mounts, a quick prototype test indicated promise. CAD design and physical prototyping and testing ran together in parallel. The revised design is simpler, more easily executed and more robust. Things are still tight and require careful design and fabrication. Key points:
  • The low roller is no longer intended to roll. No bearings provided.
  • The (2) 3/4" diam x 4" stroke pneumatic cylinders will still be employed (they have already shipped, so this is good)
  • The actuators will act in the direction of linear motion. Actuators will be hard-mounted (not pivoting).
  • Actuator mounts are moderately complex and must be welded to the chassis frame
  • The low roller is further forward and, when lowered, expected to occupy a lower position than the Trirol low roller
  • The height of the low roller will be mechanically adjustable
  • When retracted, the low roller mechanism will be entirely within the ball dam gusset envelope and therefore protected from impact with the bump
  • The kicker width will be reduced from 15" to 13". The cutting of the lower extremities of the possessor for clearance will be less extreme than for the Trirol design
  • The pinching design puts a lot of stress on the possessor drive motor and the polycord drive belts. We destroyed the original motor in testing.
Regarding the last of these points (the excessive load on the possessor motor & drive):
  • Our first thought was to limit current to the motor via a current-based feedback loop (a control/electronic solution)
  • but an alternative approach would be to reduce the friction coefficient or the normal load between the possessor drive belt and either the motor pulley or the possessor tube, turning this into a poor man's clutch. This would continue to apply pinching force while at the same time avoiding motor stall, motor burn-out, excessive battery drain, and polycord melting. for example:
  • reducing polycord tension by slightly increasing the belt length would reduce normal loads; while
  • a different surface on either the pulley or possessor tube could reduce the friction coefficient;
  • this approach could allow us to keep unloaded possessor velocity high, provide force for pinching; preserve the motors and drive parts; save battery power; and limit force on the low roller.
The Possessor is effectively narrower.
Additionally, benchmarking of other successful bottom rollers (which neither roll nor facilitate rolling) revealed an inordinate number of teams using 1/2" angle. Prototyping (with aluminum) seems to reveal why. The ball tends to roll (and thus fall out) much less than with even the misnamed bottom roller bar, and holds somewhat better in snake and much better in strafing. (Strafing is a beneficial aspect of our drivetrain could prove very helpful on defense against a certain looper bot at IRI.) The system isn't yet to death-grip standard, but I (Siri) wouldn't be overly surprised if changing the roller(s) surface(s) and/or speed (recommended at 2x robot speed) got us quite close.
We appear to be having sporadic DS-robot communication malfunctions, both during bootup and randomly mid-test. It'd be great to determine the root cause(s).

Hi/Lo Possessor Installation & Testing

Tempus fugit!. Only a week and a bit before IRI! Time to finish our work and test it all out.
Almost like a week taken from build season.

10-July Update

Mother nature played a little joke on 10-July. Morning rain was so intense that it flooded the robot shop via the outside door (at the bottom of a ramp). Fortunately, we arrived at the start of the flood and were ably to stay ahead of the water, so no damage was done. We pulled over 30 gallons of water off the shop floor. Opportunity was taken to organize the shop.

11-July Update

We have a Vulcan death grip (and it doesn't just convince the Romulans). The ball goes in. The robot goes forwards, backwards, sideways, slantways, longways, backways, and spinways. The ball stays in--approximately 2.75" but not more than 3", and not off the floor. It passes the ruler test, the paper test, and (most importantly) the Rizzo-the-Ref test. The only way to release the ball is to turn off/run backwards the possessor or kick. We don't even need to reduce the torque, though we can, since the vertical IR ball sensors work. The death grip doesn't visibly affect the kick range or arc (both of which are quite nice). The only way to pick up another ball is to get rid of the first--no way to possess two a once since the first on stop the top roller.
There is a catch, though. The system has quite a few consumables:

  • Lo Bar friction tape: The Lo Bar is completely wrapped in spiraled friction tape, roughly 1/2" shift per turn. When this wears out (maybe every ~10 matches), the possessor goes from a death grip to more of a standard nerve pinch and continues to deteriorate from there. The kicker needs to be back (with the cocking arms up for safety) to remove and replace this. Also, don't use the Fuzzy Soccer Ball for practice--it turns the roller white.
  • Possessor motor pulley friction tape: We've added friction tape to the possessor motor to make the driving band slip on the Hi Roller rather than the pulley. This prolongs their life considerably. (But only in a relative sense, they're still consumables.) It needs to be wrapped to tighten as the possessor spins inwards: counterclockwise as viewed from the outside of nearest long side, or away as viewed from the front. This should last us maybe 5 matches (a little more than the polycord, but less than the Lo Bar tape). We've like to use 1/2" friction tape for this so it doesn't fold up the sides of the pulley. Either way, we'll need more friction tape--lots.
  • The possessor bands: (2) 15-11/32" (?) polycord bands, or a 6% reduction between the physical geometry and the band length. These don't take as much abuse now that we've added friction tape to the roller, but they've still got a pretty short lifetime. We're thinking 4 matches or so. We've got a forearm full of spares (18) for IRI and the replacement process isn't horribly painful.

The Lo Bar cylinder mounts also limit bumper wingnut access. It's pretty annoying. (But not DEWBOT IV level.) We'll live though; the drive team has put their hands on a diet.

Possessor Consumables Replacement Processes
Checks
  1. Check the Lo Bar friction tape. It should be completely opaque (can't see the gray of the rod) with uniform roughness matching the stock tape.
  2. Check the roller bands. These will turn black on the sides rather quickly. That's not so much a bad thing. The real issue is marks of melting, chewing, or shininess (loss of surface texture, increase reflectivity) on the contact side of the bands.
  3. Check the pulley friction tape. It may be worn down some, though the bigger problem is unraveling or extreme wear. If in doubt, test it and see where the bands slip--it should be on the Hi Roller. At its most obvious, this will bunch and build up on the side of the pulley. (Also a potential jamming problem.) We could use some more experience in this area. Fortunately, we'll get it.
Lo Bar Friction Tape Replacement
  1. Tilt the robot or at least keep it on the cart.
  2. Cock the kicker by raising the cocking arms (C on the solenoids). Do not arm, i.e. close the latch and lower the cocking arms; it's safer simply cocked.
  3. Peel the friction tape off. This is easy.
  4. Wrap new tape. The spiral can go in either direction, and should have about a 1/2" shift per turn. Include one wrap parallel to the end 80/20 bar.
Pulley Friction Tape Replacement
  1. Take out enough screws (1/8" allen) on the lid to relatively easily access the roller. It'd be easier to leave the stripped screw out.
  2. Remove the old friction tape in whatever condition it is in.
  3. Slip off the bands. This is most easily done by pulling a small section off and turning the pulley to remove the rest. It would (may?) be nice to try keeping them on the collar for easy access, though it might impede rolling.
  4. Wrap new tape by turning the pulley away from you (as seen from the front), which is also counterclockwise from the outside nearest long side.
Continue for 3 cycles, until you can no longer see the cross-wise ridges. (Not the 2 that run the circumference of the pulley--the other way.)
If still using the wider tape, take care to keep it from folding too much. You can cut it narrower--in fact starting the cut is sufficient to allow relatively easy in situ ripping.
  1. Replace the bands in a fashion mirroring their removal. a flathead scredriver-like lever may be of use.
Driving Bands Replacement

Note: This method allows replacement without removing the robot's polycarbonate top. If we make this easier or it's already, it's not such an issue and the Full Replacement process can be used in relevant part.

  1. Unscrew the possessor bearing block on the motor side (1/8" allen).
  2. Slip the bands off the pulley and Hi Roller.
  3. Take off the bearing block and remove excess polycord and/or friction tape dust.
  4. Slip the new bands on the pulley and the Hi Roller.
  5. Put the bearing block back on.
  6. Force the Hi Roller down and get 2 screws in at least half way.
  7. Release the Hi Roller slowly and ensure the screws are in far enough to hold it correctly.
  8. Put in the rest of the screws.
Full Replacement
1L. Cock kicker (C only on the solenoids)
2L. Lower the Lo Bar? (far button from back on solenoid? - we should label these)
3. Tilt robot?
3L. Remove the Lo Bar friction tape.
4L. Replace the Lo Bar friction tape.
The spiral can go in either direction, and should have about a 1/2" shift per turn. Include one wrap parallel to the end 80/20 bar.
4PB. Remove enough screws (1/8" allen) from the robot top to reach the possessor motor pulley and bands.
4B. Remove the outside screws holding the motor-side possessor bearing block (also 1/8" allen).
5B. Remove the bearing block from the Hi Roller.
6B. Clean excess polycord and/or friction tape dust from the area.
6B. Remove the possessor bands from the pulley and Hi Roller.
7P. Wrap new friction tape (preferably 1/2") on the pulley.
Ensure it's wrapped so as to tighten when the possessor spins inwards. In essence, turn it away from you (as seen from the front), which is also counterclockwise from the outside nearest long side.
Continue for 3 cycles, until you can no longer see the cross-wise ridges. (Not the 2 that run the circumference of the pulley--the other way.)
If still using the wider tape, take care to keep it from folding too much. You can cut it narrower--in fact starting the cut is sufficient to allow relatively easy in situ ripping.
7B. Put the new bands over the Hi Roller.
8B. Put the bearing block back on the Hi Roller.
9B. Screw the bearing block back in.
10B. Put the new bands over the newly resurfaced pulley. A good technique is to pull a small section of band on and turn the pulley to move on the rest.

12-July Update

Driving Practice.

Mirror

Looks really good, but we should:

  • Verify that it stays within the frame perimeter.
  • It would be good to have a means of raising it during competition. A servo might be adequate.
  • A working possessor, or a sensor to kick automatically would be a benefit now that we can find the hidden balls.

3-July Update

  • The mirror was moved back 1" to keep it within the frame perimeter (Jen).
  • Initial prototyping and CAD took place for a servo raise/lower mechanism (DJ).

4-July Update

Much effort - little progress. Servos do not appear to have the necessary torque to raise the mirror.

Plan B would be to use a 3/4" pneumatic actuator.

7?-July Update

It works! With a little help from Foster and his VEXing, the servo pushes the mirror up with ease. It does not bring the mirror down. That's ok (in fact, it was in the functional specs), we'd rather have it up. A second latex tube has been added to the other side to prevent torquing.

11-July Update

We've loosened the second latex tube to prevent the mirror from re-extending outside the frame perimeter. We've also added a simple latch (a deliberately damaged wire tie to allowed unlatching) to hold the mirror down during maintenance. The mirror is not raised during autonomous, though it can start up. Retrospectively, the servo placement makes bumper wingnut and lifting handhold access a bit more complicated. (The non-possessor motor side would have been better.) We'll live, though. We've also realized that we've gained some primo advertising real estate on the back of the mirror, and that we can add a polycarbonate back shield for the same reason. This is good, especially since we'll have to cover up some of the current sponsor logo space with our autonomous tape guides. Plus, this new space is vertical.

Mirror photo gallery

Programming

Programmer Jobs

  1. Review the final code specs (below).
  2. Communicate and distribute assignments. Ensure team knows what you are working on and when your draft will be done.
  3. Indicate on meeting work plans what you will be doing during the meeting. Check off items (and upload your code) when you complete them.
  4. Use the Mercurial version control. Ensure versions are kept up-to-date and well labeled. Store code locally before competition (don't rely on internet at competition venues).
  5. Write, debug, and comment (describe how it works, possible issues/changes, etc) on your code.
  6. Ask questions as needed.
  7. Meet your deadlines and/or inform the team of issues.
  8. Inform the design team/meeting management what you need to test your code and how long you think it will take.
  9. Consolidate individual assignments into a single code body. Upload and test this as well.

Current Mercurial Assignment

  1. Create a local working copy of the repository on your own computer.
  2. Create a text file in the "wall" directory announcing your presence. (Hint: You will need to let Mercurial know about the new file by "add"ing it.)
  3. Get your new file to the repository.

Final Functional Specifications for Code

Current Driver's Interface File
Key:
P#=Priority (number), this code is not tested
D#=Done (number), untested (number indicates debug priority order)
T=Tested individually, but not in consolidated code
W=Working, tested in consolidated code
C=Confirmed in competition (but not in not-yet existent IRI consolidated code)

Pre-Match Routine

Update: As of 11 July 2010, 1-3 happens in autonomous. The overall routine does not need to be hard coded, just the individual steps. (Though if you're bored...P6.)
1. (C) Calibrate wheels
2. (W) Set wheel angles

Home zone, n = 1, implies 30° CW (really cool)
Mid zone, n = 2, implies 9.5° CW (quite possible)
Away zone, n = 3, implies 0° CW (marginally problematic)

2. (C) Check if kicker is fully armed (cocking arms down, latch closed, limit switch triggered)

Arm if necessary
Ensure limit switch triggers
(P4) If limit switch still does not trigger...

3. (W) Extend Lo bar if necessary
4. (C) Ensure upstream air pressure is 120 psi (minimum xx) and downstream is 60 psi (minimum yy)

Autonomous

(W) Forward-Sensor Mode

1. (C) Link up, turn on
2. Prepare robot

Check that kicker is armed; arm if necessary
Calibrate wheels
Set infrared sensors' baselines
Turn on possessor going inwards?

3. Drive

Drive forward at xx ft/s (current autonomous speed)
Read IR sensors

4. Wait for one or both values (or the average of several readings) to change by yy tolerance

Do not kick until 0.25s after arming.
If the value doesn't change during autonomous, don't worry.
(P2) Is there a way to know this didn't happen after the fact? In order to diagnose the issue if and when we don't kick. This could also be helpful in telop (P3). Initial answer (Paul): Theoretically? don't know, maybe. Now? no so much.

5. (C) Fire (unlatch kicker)

Ignore IR sensor values when the kicker is unlatched

6. (C) Rearm (raise cocking arms, wait for limit switch to trigger, close latch, lower arms)
7. Loop from step 3 to 6 for duration of autonomous

Need to confirm we won't run into anything.
(W) n-Ball & Angled Drive Autonomous (Default)

Differentiation is based on pre-set wheel angles and robot & ball placement.
1-2. Same as Forward-Sensor. Also in 2:

Read n switch (specifies number of balls, 1-3, based on starting zone/autonomous plans)
(W) Set/confirm wheel angles
Home zone, n = 1, implies 30° CW (really cool)
Mid zone, n = 2, implies 9.5° CW (quite possible)
Away zone, n = 3, implies 0° CW (marginally problematic)

3-6. Same as Forward-Sensor 7. (D4?) Stop 3-6 loop after 1<n<3 completions.

Is this really necessary?

Non-Code: Drive team needs to practice placement of robot and soccer balls. Need to add tape guides.

(P6) Anti-469

Just an idea...
1-2. Same as Forward-Sensor
2. Move rightward at a 45 degree angle, wedge in the tunnel enough to block to block but not enough to fully cross the line. (Can the line sensors work?)
i.e. Do what the mid zone blue robot does here. (The red robot is 469. Blue still lost, but by much less than most did. 11-14 instead of 18-5, 13-0, 21-0, 26-1...) --Siri 16:17, 8 July 2010 (UTC)

(P5) Other Nice Versions
Be able to delay the start of driving (step 3).

(C) Drive Modes

Ability to specify mode.
Crab mode: angle all wheels based on arcade joystick input
Snake mode: angle back and front wheels sets based on dual arcade joystick inputs
Rotate mode: angle wheels to rotate around the front of the robot/ball

Kicker Modes

Ability to specify mode. (4? on Joystick)

(W) Semi-Auto (default - great!)
1. Wait for broken beam and fire inputs
2. When one happens...
Check that kicker is armed and arm if necessary
Possible Issue: If something triggers the beam break on the bump, the kicker will arm. So maybe don't do this...
3. When the beam breaks...
4. When the beam is broken and the driver has pressed fire...
Wait until at least 0.25s after arming to fire.
Fire
Do not read beam break sensor while the kicker is unlatched
5. Rearm
(C) Manual Override
1. Receive fire input
2. Check that kicker is armed, arm if necessary
3. Fire
4. Rearm
Relax Kicker Routine
1. (W) Retract Lo Bar
2. (C) Relax Kicker: Raise cocking arms, unlatch kicker, lower arms
Arm Kicker Routine
1. (C) Arm Kicker: raise cocking arms, wait for limit switch to trigger, lower cocking arms
2. (W) Check that Lo Bar is extended, extend Lo Bar (or only run extension routine when exiting relaxed mode)

Possessor Modes

Indicate possessor status: in/out/off and ball possession: ball/no ball on the dashboard throughout telop.
Default possessor speed: xx f/s
(C) Gather & Hold ball: run inwards at xx f/s
(C) Release ball(s): run outwards
(W) Raise Lo bar manually
(W) Raise Lo bar when kicker relaxes (see kicker modes)

Issues/Questions

What we know but should to write down (preferably here):

  1. Minimum starting up- and downstream psi
  2. We need a map of the operator joystick.
  3. Which way did we settle on for the possessor on the xbox: right=in or left=in?
  4. Current drive speed in autonomous

What we need to determine

  1. Possessor speed/use in autonomous (can vary by n switch)
  2. Desired drive speed in autonomous (can vary by n switch)
  3. When to stop/do we run into anything?
  4. Practice robot and ball placement for all three zones.
  5. Do/when do we want to check the status of the kicker (armed/relaxed), Lo Bar (extended, retracted), wheels (calibration/angles in autonomous), etc? What (processing power, time, etc) does this take?

Answered

  1. Possessor intake speed/torque. Answer: 3/4 on joystick.
  2. Possessor holding torque/duty cycle. Answer: None!
  3. Pre-kicking possessor status (do we need to grip it less?) Answer: Nope.

Item List

Confirmed in Competition
(Re)Arm kicker
Calibrate wheels
Drive modes (crab, snake, rotate)
Check air pressure
Fire
Gather & hold balls (possessor in, need speed)
Link up, turn on
Manual (override) kicking
Relax kicker
Release ball (run possessor outwards, need speed)
Working in Consolidated Code
Extend Lo Bar manually
Retract Lo Bar manually
Retract Lo bar when kicker relaxes
Extend Lo bar when kicker relaxes
Forward-sensor mode
Semi-auto kicking
n-ball & angled drive autonomous
Set wheel angles pre-match
Ignore n switch after initial reading (ensure a stray ball hitting it does not affect autonomous plans)

Also done: pre-programming code into the spare cRio.

Priority (not done)
2. Procedure to know beam break values during autonomous after the match
3. Procedure to know beam break values during teleop after the match.
4. Procedure if limit switch will not trigger
5. Anti-469 autonomous
5. Hard-coded pre-match routine

Current Autonomous Critique

Not effective yet. Main points seem to be:

  • Sensor for kicking does not seem to be reliable.
  • Angles for off-axis shooting need to be checked. They appear to shoot off-field is the robot is aligned to drive along the central ball column. I'll check, but we should test too.
  • Keeping in a straight line by blind dead reckoning is often ineffective.
  • Keeping the possessor off seems to work better (insofar as something which doesn't work can be said to work better).
My initial angle calculations for autonomous were incorrect, as observed at (BR)2. My bad. the real angles can be found (with math) in Auto Angles (xls format).
Without special (BR)2 rules, reasonable autonomous sequences are:
  • Autonomous Near Field - choice of either:
  1. Set ball C2-R1
  2. Set wheels to 30° CW
  3. Set robot to drive down C(olumn)2 (use tape guide on robot top for alignment)
  4. Stop after 1 kick (not critical)
or:
  1. Set ball C2-R1
  2. Set wheels straight with Calibration (delay is beneficial here)
  3. Set robot to drive through ball towards goal
  4. Stop after 1 kick (critical)
  • Autonomous Mid-Field:
  1. Set balls at C2-R1 & C2-R2
  2. Set wheels to 9.5° CW
  3. Set robot to drive down C2 (using a 2nd guide tape)
  • Autonomous Far-Field
  1. Set balls at C1-R3, C1-R2 & C1-R1
  2. Set wheels to 0° (mathematically, this is 2.5° CW, but this proves negligible. Or rather it would, if it didn't appear to confuse the bot.)
  3. Set robot to drive down C1
Where not specified, wheels should be pre-calibrated, wheel angles pre-set, and kicker pre-armed by tether prior to the match. This requires planning with alliance partners before queuing up for the next match.--Clem 1-June-2010
  • As of 11 July 2010, we have to set wheel angles in autonomous because wheels won't retain robot orientation without active PID control.

Version Control

Photo Gallery


Catch up on other team information at FRC Team 1640