Go to Post Off time, at a regional? What is that? - DonRotolo [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-01-2010, 08:37
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Semi-Omni-Arcade Drive

Our programming team was discussing things we should do, and we were on the topic of better Drive, as the Drivetrain has just finished telling us what they were making. Thinking about how we had lost our best driver last year (senior), I thought of a Semi-Omni-Arcade Drive (SOAD) since we were not going to be using swerve/crab, mechanum,or omniwheels. You point the joystick in a direction, and the robot (using gyro or the like) then turns and goes in that direction.
Is there anyone who has done something similar, and if so, how did you do it?
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
  #2   Spotlight this post!  
Unread 20-01-2010, 13:25
RyanCahoon's Avatar
RyanCahoon RyanCahoon is offline
Disassembling my prior presumptions
FRC #0766 (M-A Bears)
Team Role: Engineer
 
Join Date: Dec 2007
Rookie Year: 2007
Location: Mountain View
Posts: 689
RyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond repute
Re: Semi-Omni-Arcade Drive

There have been teams that have done something related, in that when using an omnidirectional drive they had the strafing be independent of robot orientation (and then spin was controlled separately): pushing the joystick in a direction would always make the robot move that direction with respect to the driver station. This sounds like essentially the same task you're tackling.

The usual approach those teams used is to try to track the robot orientation using a gyro, but since you only get angular velocity from the gyro, you end up with accumulating error in your angular position measurement. Some people have tried using a digital compass, but the usual reported result is that there's enough ferrous material in the field and the robots (not to mention magnetic fields from the motors) that these don't work.

Something you might consider instead is having a set of buttons that would command the robot to turn predefined angles (90* 180* -90* etc) using the gyro, that way you wouldn't have the problem of long term gyro drift.

--Ryan
__________________
FRC 2046, 2007-2008, Student member
FRC 1708, 2009-2012, College mentor; 2013-2014, Mentor
FRC 766, 2015-, Mentor
  #3   Spotlight this post!  
Unread 20-01-2010, 15:13
Josh Fox Josh Fox is offline
Registered User
AKA: Foxy
FRC #0027 (Team RUSH)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2007
Location: Michigan
Posts: 389
Josh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud ofJosh Fox has much to be proud of
Re: Semi-Omni-Arcade Drive

If I'm not mistaken, I believe 1114 did that for their 2008 robot.

If I'm correct I would say try to contact them, because it obviously worked out pretty well for them.
__________________
Team RUSH Alumnus and Mentor, Mechanical Engineer
  #4   Spotlight this post!  
Unread 20-01-2010, 15:18
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Semi-Omni-Arcade Drive

Quote:
Originally Posted by FoXy92 View Post
If I'm not mistaken, I believe 1114 did that for their 2008 robot.

If I'm correct I would say try to contact them, because it obviously worked out pretty well for them.
EDIT: I thought I had seen their '08 code, but it was their '07 code that I was thinking of.

Regardless, I don't think that 1114 drove in this manner in 2008.

Last edited by Jared Russell : 20-01-2010 at 16:45.
  #5   Spotlight this post!  
Unread 20-01-2010, 15:26
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: Semi-Omni-Arcade Drive

what would be the average gyro drift for a 2 minute match?
Next meeting we are going to test a basic form of this. I wrote up a basic drive:
PHP Code:
(In Telopgy is a gyrodrive is a RobotDrivestick is a Joystick)
double offset=0;
double offset=0;
while (
IsOperatorControl())
{
    
//(1+cos(pi*x))/2; speed function
    //-xx+2x; turn function, graph these at http://www.walterzorn.com/grapher/grapher_e.htm
    
GetWatchdog().Feed();
    
float speed=0;
    
float turn=0;
    if (
stick.GetX()!=0&&stick.GetY()!=0)//UN Preliminary check for are we moving. this might be unnesecary?
    
{
        
//get the diff in the gyro and joystick, making sure no overflow occurs, and normalizing to 0 to 359
        
offset=((int)((int)(stick.GetDirectionDegrees()-(((int)(gy.GetAngle()*360))%360))+360)%360);
        
//Detect the location, and change speed/turn multipliers
        
switch ((int)(offset/90))
        {
            case 
0//top right
                
speed=1;
                
turn=1;
                break;
            case 
1//bottom right
                
speed=-1;
                
turn=1;
                break;
            case 
2//bottom left
                
speed=-1;
                
turn=-1;
                break;
            case 
3//top left
                
speed=1;
                
turn=-1;
                break;
            default: 
//should never occur, print error?
                
speed=1;
                
turn=1;
                break;
        }
        if (
offset>180)//start folding into 90 range
        
{
            
offset=fabs(offset-360);//escape greedy %
        
}
        
//bring into normalized values in 0-90 then 0-1
        
offset=((int)offset%90)/90;
       
        
speed*=((1+cos(Pi*offset))/2)*stick.GetMagnitude();//multiply turn (switch from above) times function, times speed
        
turn*=(-(offset*offset)+(2*offset))*offset;//multiply turn (switch from above) times function, times dir
    
}
    
drive.ArcadeDrive(speed,turn,false);//DRIVE!
    
Wait(0.01);                // wait for a motor update time (using victors)

__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
  #6   Spotlight this post!  
Unread 20-01-2010, 15:38
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Semi-Omni-Arcade Drive

Quote:
Originally Posted by byteit101 View Post
what would be the average gyro drift for a 2 minute match?
There is not a simple answer to this. It depends on:

1) Whether you at any point saturate your sensor (turn faster than it can detect).
2) The sampling frequency.
3) The frequency profile of the turns your robot is making.
4) How well you've calibrated the gyro.
5) The gyro's own thermomechanical noise properties.
6) Any filtering that you do.

In other words, a gyro that is sitting still for 2 minutes may not drift that much, but one that is on a "twitchy" robot slamming into things for 2 minutes may drift by quite a bit (I have seen ours drift > 180 degrees in match).
  #7   Spotlight this post!  
Unread 20-01-2010, 16:09
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: Semi-Omni-Arcade Drive

Quote:
Originally Posted by Jared341 View Post
(I have seen ours drift > 180 degrees in match).
Yikes! A reset functionality would be essential!
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
  #8   Spotlight this post!  
Unread 20-01-2010, 16:44
buchanan buchanan is offline
Registered User
FRC #2077 (Laser Robotics)
Team Role: Mentor
 
Join Date: Mar 2009
Rookie Year: 2007
Location: Wales, WI
Posts: 68
buchanan is just really nicebuchanan is just really nicebuchanan is just really nicebuchanan is just really nice
Re: Semi-Omni-Arcade Drive

I worked with #1988 doing this two years ago. It's a great concept in that it doesn't require drivers to mentally put themselves "in the robot" to operate the controls. People are amazingly good at this, but it's a coordinate system transform that consumes a fair amount of the brain's "cpu cycles". Our experience was IMO sufficient to validate the concept but the real-life results were severely limited by several factors.

The biggest of these was dealing with the practical constraints of the robot drive system. We used a diamond configuration with differentially steered drive wheels on the side and undriven (slightly raised) omni wheels front and back for balance. The robot was relatively small and essentially round. Though we tried to optimize for manuverability (spin in place, etc) this sort of drive (as do most) requires that the body of the robot be rotated in order to change direction. You don't want to stop to make small course corrections, but you have to stop (or very nearly so) to make large ones. So making it work without slowing down too much means some fairly sophisticated balancing of deceleration/rotation/acceleration rules.

In practical tems the hardest part of this turned out to be dealing with rotational inertia/momentum issues. Going, for example, from high speed at 0 degrees to high speed at 90 degrees means stopping (or almost), rotating exactly the required amount, and taking off again, all as quickly as possible. Linear deceleration/acceleration are not to hard to get right, but making a quick rotation to exactly the right heading without overshoot, undershoot, or time-consuming fine adjustment is not so easy: you have to account for stuff like polar moment of inertia, drivetrain backlash, etc. All possible, but not trivial. We got it working reasonably well on our practice robot, but when the real hardware was done (night before ship, natch) enough things were different that the tuning didn't work well. We didn't have time to readjust the software and the robot turned out to be troublesome in competion.

We used a gyro to track position, and gyro drift was not a big problem. We did relatively straightforward smoothing/averaging and got a system that would stay within a few degrees if you spun the robot through several rotations and back, more than you'd likely ever do in a match. There's also a simple and effective low-tech way to handle drift if it does happen: if you find that "straight downfield" is really going a few degrees to the left, just grab the base of the joystick and rotate it a bit to the right. We replaced the handle on the stick with a straight round handle to keep this from bothering the driver.

My takeaways from the experience were that 1) it's a killer concept if effectively executed 2) it's really hard to effectively execute on a robot without some kind of omnidirectional drive. I want to try this again sometime on a holonomic drive robot, but wouldn't particularly recommend it on more conventional platform.
  #9   Spotlight this post!  
Unread 20-01-2010, 16:50
Chris is me's Avatar
Chris is me Chris is me is online now
no bag, vex only, final destination
AKA: Pinecone
FRC #0228 (GUS Robotics); FRC #2170 (Titanium Tomahawks)
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2006
Location: Glastonbury, CT
Posts: 7,745
Chris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond reputeChris is me has a reputation beyond repute
Send a message via AIM to Chris is me
Re: Semi-Omni-Arcade Drive

This seems "cool" and all, but is it that much more intuitive over a standard arcade or tank drive to warrant so much time being spent coding and debugging such a control algorithm?
__________________
Mentor / Drive Coach: 228 (2016-?)
--2016 Waterbury SFs (with 3314, 3719), RIDE #2 Seed / Winners (with 1058, 6153), Carver QFs (with 503, 359, 4607)
Mentor / Consultant Person: 2170 (2017-?)
.
College Mentor: 2791 (2010-2015)
-- 2015 TVR Motorola Quality, FLR GM Industrial Design -- 2014 FLR Motorola Quality / SFs (with 341, 4930)
-- 2013 BAE Motorola Quality, WPI Regional #1 Seed / Delphi Excellence in Engineering / Finalists (with 20, 3182)
-- 2012 BAE Imagery / Finalists (with 1519, 885), CT Xerox Creativity / SFs (with 2168, 118)
Student: 1714 (2009) - 2009 MN 10K Lakes Regional Winners (with 2826, 2470)
2791 Build Season Photo Gallery - Look here for mechanism photos My Robotics Blog (Updated April 11 2014)
  #10   Spotlight this post!  
Unread 20-01-2010, 23:10
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: Semi-Omni-Arcade Drive

We did it last year with a swerve drive. It works reasonably well. Did not have any problems with gyro drift, it was mostly irrelevant.

Implementation for an omnidrive robot is pretty trivial, its just a little bit of trig. Our code release (see http://www.virtualroadside.com/FRC/) for last year has an implementation by one of our students, he called it 'CompassDrive'. He implemented it for a 2-motor prototype also, and that was a little bit more involved due to trying to correct for drift and such.

What we found is that some people like it, and some people don't. So just make sure you implement both methods of control and see which one works best for your drivers.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #11   Spotlight this post!  
Unread 20-01-2010, 23:13
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
Re: Semi-Omni-Arcade Drive

Quote:
Originally Posted by byteit101 View Post
Yikes! A reset functionality would be essential!
Yes, having the ability to reset is definitely a good thing to have.

The one thing to keep in mind too is you need a way to indicate to the robot its starting position relative to the field (and it should be on the robot so it can read it during autonomous mode). Otherwise when your driver starts trying to drive it he'll get confused *really* fast. We had that happen once when someone didn't set the switches correctly...
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #12   Spotlight this post!  
Unread 21-01-2010, 11:40
Delian Delian is offline
Registered User
FRC #3006
 
Join Date: Dec 2008
Location: Salt Lake City
Posts: 16
Delian is on a distinguished road
Re: Semi-Omni-Arcade Drive

Our team tried this drive last year and then tested our drivers on an obstacle course filled with Orbit balls and goals. We found that it was far more intuitive to leave out the gyro-relative code. Most drivers found it easier to "throw" their orientation to them being on the robot, rather than relying on a gyro.
  #13   Spotlight this post!  
Unread 22-01-2010, 08:41
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: Semi-Omni-Arcade Drive

We tested it out last night, and the 2010 KOP Gyro (and Accel) drifts about 1.5-2 degrees a second, ever increasing.
our sensitivity is set to gyro->SetSensitivity(0.007);
Is everyone experiencing this? if so, how do you fix it?
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
  #14   Spotlight this post!  
Unread 22-01-2010, 09:04
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,753
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Semi-Omni-Arcade Drive

If that is with the robot standing still, that sounds too high. I'd suggest repeating the test and make sure that the robot isn't moved while being calibrated, and make sure the modules are plugged in when the cRIO is turned on, and make sure that your wires aren't picking up noise from motors and such.

Greg McKaskle
  #15   Spotlight this post!  
Unread 22-01-2010, 10:17
thefro526's Avatar
thefro526 thefro526 is offline
Mentor for Hire.
AKA: Dustin Benedict
no team (EWCP, MAR, FRC 708)
Team Role: Mentor
 
Join Date: Aug 2006
Rookie Year: 2005
Location: New Jersey
Posts: 2,599
thefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond reputethefro526 has a reputation beyond repute
Send a message via AIM to thefro526 Send a message via MSN to thefro526
Re: Semi-Omni-Arcade Drive

Quote:
Originally Posted by Chris is me View Post
This seems "cool" and all, but is it that much more intuitive over a standard arcade or tank drive to warrant so much time being spent coding and debugging such a control algorithm?
Chris, I worked with a local team back in 2007 on a similar concept and found that it's an excellent system to have once it's working properly, because it lets less experienced drivers pick up the controls and drive more effectively because they don't have to think as much. At the same time, I didn't like how the system felt, mainly because it was arcade, but also because I felt like there was a layer of sorts between me and the robot.

I personally feel that such a system is only worth spending time on if you have the programming resources though. If your programming resources aren't the greatest then you're time may be better spent elsewhere....
__________________
-Dustin Benedict
2005-2012 - Student & Mentor FRC 816
2012-2014 - Technical Mentor, 2014 Drive Coach FRC 341
Current - Mentor FRC 2729, FRC 708
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming Arcade Drive kyungjin C/C++ 4 06-04-2009 11:28
Arcade Drive Issue and Pnuematics chenvoy NI LabVIEW 10 23-02-2009 20:03
Arcade/Tank Drive Malfunction piedmont Programming 2 19-01-2009 17:37
Arcade Drive Anfony VEX 4 08-11-2006 19:46
vex programming arcade drive setting Michael Leicht FIRST Tech Challenge 3 17-10-2005 21:26


All times are GMT -5. The time now is 21:23.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi