Team 1640 2010 Summer Program

From DEW Robotics
Jump to: navigation, search


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.


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 could not effectively herd balls into the goal either (because of a tendency to drive over them). This was addressed for IRI. Original options included:

  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. [In virtually all benchmarking cases, this involves a low roller/bar anyway.]

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 was not trivial. Key challenges were:
  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. Kicking clearance requires some non-structural kicker modification. Articulation is needed to clear the bump. For full specifications, see Trirol Possessor Design Specifications and Detailed Drawings.

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.


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 Possessor

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! With a stiff (steel, not fiberglass) and frictive Lo Bar, it's definitely a pincher. It makes no attempt to center the ball (but we're ok with that). No ball overdriving problem. Further development produced even better results. 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.

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

The elimination of the middle roller made 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. In addition, 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 needed a more robust approach for the articulated low roller.
After prototyping and CAD work, the final design emerged to be vertical retraction actuated by (2) 3/4" diameter x 4" stroke pneumatic cylinders. For full details, see Hi/Lo Vertical Retraction Details.
The kicker still needed to be modified slightly (cut down from 15" to 13"), and the possessor system is effectively narrower. Neither of these significantly limit possessor or kicking.
The excessive load on the possessor motor & drive presented some damage issues. Possible solutions pursued included:
  • Limit current to the motor via a current-based feedback loop (a control/electronic solution)
  • Reduced the frictional 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.

The first option requires implementing CAN. We did switch the possessor motor from a Victor to a black Jag, but development stopped there given the complexities in adding CAN at this point. The second option proved more practical provided the final solution. Looser polycord belts (from 8% reduction to 6%) reduced the normal loads. Adding friction tape to the motor pulley (in addition to the Lo Bar) increased the pulley-belt frictional coefficient relative to the Hi Roller-belt coefficient, inducing the belt to slip only on the Hi Roller. This is also much less taxing on the polycord.

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).

Final Designing Photo Gallery

Testing & Driving Practice (12-July)

We encountered several problems during driver practice & testing on 12-July. View the night's log here. In summary, we've got some practicing to do. Most of the work will focus around increasing competency with the new possessor, practicing 2 robot (thanks, DEWBOT V) interactions on defense and offense, and addressing any maintenance issues that arise (including training the pit crew).

Post-IRI (28-July)

We persued the action plan from the IRI Post-Mortem to further improve the possessor.

  • Replaced broker cylinder
  • Replaced standard clevises with ball joint rod ends to provide additional degrees of freedom thereby reducing the prospect of bending cylinder rods or binding action
  • Replaced 80/20 roller brackets with Kellom-custom 4-wheel keyed brackets
  • Installed ½" ID latex tubing on bottom rod in lieu of friction tape
  • Installed Deaver magnetic clutch in lieu of crude belt-tension friction "clutch" on possessor drive

The magnetic cluch created a lot of vibration, which keeps the possessor from working. We will continue development and test again next week.


Gary Deaver revised the magnetic clutch by adding a 2nd drive disk with magnets out of phase with the 1st drive disk. The thought was that this arrangement would reduce possessor roller vibrations to the point where the possessor would work. This modification was ineffective and we went back to the crude friction clutch used at IRI.

The issue is that disengagement of the magnets (slippage of the clutch) forces a short period of reverse direction drive before the clutch magnets reengage at the next coupling.

A plate type friction clutch would work. The problem with friction clutches is heat and wear. Also we only have a 1.5 x 1.5" cylinder to fit it into. For now the slipping belts will have to do.


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 Version Control

Implement and use version control to enhance communication and collaboration.

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.

Photo Gallery

Shop Organization

Starting essentially on 10-July, we started reorganizing the shop in earnest. Why 10-July? Well, Mother Nature played a little joke that day. 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.

Glick - 31-July

Ben Kellom introduced me (Clem) to Moses B. Glick LLC today. Basically a salvage yard in Fleetwood PA (East-nor-east of Reading). Glick specializes in metals, tools and machinery. I picked up six sturdy work benches for our remaining time in DEC and of course our new home. Glick has a wide selection aluminum, steel, stainless steel, nylon,... stock in various sizes and shapes. Sold by weight. Aluminum is $1.50/lb. We should definitely look here before placing orders with our traditional supplier.


Catch up on other team information at FRC Team 1640