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