Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Extra Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=68)
-   -   paper: Bomb Squad Swerve Steering Code (http://www.chiefdelphi.com/forums/showthread.php?t=106517)

Jefferson 04-04-2013 00:26

Re: paper: Bomb Squad Swerve Steering Code
 
Quote:

Originally Posted by Ether (Post 1256793)
... and ω=RCW/(R/2)...

Gotcha. I missed that ω!=RCW. Figured there was something I was missing.

Jefferson 04-04-2013 00:31

Re: paper: Bomb Squad Swerve Steering Code
 
Quote:

Originally Posted by Ether (Post 1256808)
I don't want to badger you, but if you have any interest in pursuing this I have a suggestion. Give me a set of operator interface commands for your operator interface, describe what those commands are supposed to make the robot do, and tell me what each wheel speed and angle is calculated by your code at a point in time, given those commands. I will convert that to the associated FWD|STR|RCW and see if we get the same answer.

I'm intrigued by this offer. I'll drag this back up after Razorback this weekend and take you up on it.

Ether 17-04-2013 20:48

Re: paper: Bomb Squad Swerve Steering Code
 
Quote:

Originally Posted by Jefferson (Post 1257071)
I'm intrigued by this offer. I'll drag this back up after Razorback this weekend and take you up on it.

Whenever you're ready.



Jefferson 19-04-2013 14:17

Re: paper: Bomb Squad Swerve Steering Code
 
Quote:

Originally Posted by Ether (Post 1263857)
Whenever you're ready.

Unfortunately, not now. We are all working on a pretty significant retooling on the robot. I will circle back to this, though.

Jefferson 12-07-2013 01:33

Re: paper: Bomb Squad Swerve Steering Code
 
Quote:

Originally Posted by Ether (Post 1263857)
Whenever you're ready.



Better late than never eh?

Our OI consists of a steering wheel and 2-axis joystick.

In what we call Steer mode, the steering wheel simply changes the turning radius of the robot, much like a car steering wheel, and the Y-axis on the joystick is the throttle. We find this setup is intuitive for most people. Our third degree of freedom is fixed in this mode. It is the point in the Y direction of the robot where the center of the turn is. We fix this at the midway point between the front and back wheels, creating a 4-wheel steered robot. We have used a similar setup with the center of the turn fixed on the front wheels, so the back wheels do all the turning and the front wheel directions are fixed... but I digress.
The joystick has a range of 0 to pi with neutral at pi/2. When the steering wheel is at 0, the turning radius is 0 and throttle forward will spin the robot about its axis to the left. At pi/2, all wheels are pointed forward. At pi, the turning radius is again 0, but forward throttle will spin the robot about its axis to the right. All wheel speeds are calculated based on the turning radius of each wheel and multiplied by the throttle (-1 to 1).

Our crab mode is somewhat field-centric in that we zero the gyro when the driver initiates crab by pulling the trigger on the joystick. The direction and speed of crab are defined by the X and Y values from the joystick. The robot can be re-oriented by turning the steering wheel. The X-Y direction and speeds are based on the original orientation of the robot. The orientation is reset when the driver lets off the trigger. Crab (and switching between modes) is MUCH less intuitive for the driver, so practice is an absolute necessity.
We shamelessly stole your calculations to make crab work the way we wanted (and then worked it out for ourselves), so thank for your help in that.

Our 2013 code in case anybody is interested... https://github.com/FRCTeam16/TMW2013


All times are GMT -5. The time now is 04:48.

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