Programming an arcade drive for joysicks

I’m having a lot of trouble coming up with an algorithm on programming an arcade drive on a single joysick. We’re using one joystick for our shooter, so our other one must drive the entire robot, here is what i know:

For both(joysticks):

Y values:
Up is -1
Down is 1

X values:
Left is -1
Right is 1

i know there is something to do with triangles, but i’m not quite sure. Any help / links are really appreciated, thanks!

You don’t need to invent your own algorithm (unless you want to).

The Java WPILib already has a ready-made Arcade Drive object.

It’s in the file “”

Thank you very much! do you know where i can find an example of this class in action? i seems a bit confusing to me, i’m not sure where to place the robotDrive code(in a move function or when initialized?).

Doesn’t your FRC Java installation come with a complete example project, complete with drive code, which shows where everything goes?

It includes a sample project on how to pick up reflective tape and aim, but nothing on the arcadeDrive object

EDIT: got it working! thanks for the help, though i came across another problem when i got the arcade drive working…
I had to remove my calls to the jaguars to initialize the arcade drive object, so i need to also modify my shoot function. it WAS like this:

if(gShoot.getAngle < finalAngle) {
    //slowly turns motors until angle is reached

i tried using arcadeDrive(0.0, .15) but the robot just stood still, should i use the drive functin instead?
//function goes on…



though 0.15 is hardly ANYTHING, i cant get my robot to move (due to jaguars not putting enough force) without a 0.25 move