Thread: Drive Systems
View Single Post
  #18   Spotlight this post!  
Unread 07-04-2015, 21:09
jfitz0807 jfitz0807 is offline
Registered User
FRC #2877 (Ligerbots)
Team Role: Parent
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Newton, MA
Posts: 67
jfitz0807 is an unknown quantity at this point
Re: Drive Systems

We have a WCD with 6" (well, really 6.25") grippy wheels in the middle and 6"omnis at the front and back. The center axis is a little higher than the others so all six wheels touch the ground. It's working very well for us with no trouble getting over the scoring platform, even though the center wheels come off the ground. All three wheels are belted together on each side.

Our driver came up with a unique set of controls. We use an xbox controller. The left stick is solely for forward/backward and the right stick is solely for turns. We read both sticks and feed them into an ArcadeDrive method. Driving straight is very easy because if he lets go of the right stick and pushes the left stick forward, even if the stick is off a little to one side, we read the "y" value only from the y axis of the left stick and the x axis is 0 since there's no force on the right stick.

We developed an algorithm to "slide" the robot left or right. Basically, you use the TankDrive method to move only one side of the drive train back a bit then move only the other side the same amount. Then move forward a small amount and your are exactly one inch left or right from where you started. We attached this to two buttons (one left and one right). It interrupts the Drive command, but give control back when the slide is complete.

We worked out the trigonometry based on wheel diameter, robot width and distance you want to "slide". We had hoped to compute the required distance using vision processing but we didn't get that far. For now we just go one inch at a time.