Hi, this is the first year that we use Java programming. We are using the Extreme 3D Pro controller to drive our robot. The controller has three axises for basic driving, x, y, and z for rotation. This is different from the arcadeDrive and tankDrive methods which only take two axises for input. So how can I program the Extreme 3D Pro to use driving our robot?
What are you using the three different axises for? I’m assumin Y = forwardness
I highly recommend that you never use the Logitech Extreme 3D Pro controller’s Z axis. That axis is so easy to turn that every time I move the joystick in a direction, I’m usually accidentally turning it as well.
With a single joystick, you can do arcade drive. However, if teams use joysticks to drive, they usually have two different joysticks. If they’re using tank, well… tank. If they’re using arcade drive, one joystick’s Y is usually the throttle and one joystick’s X is the rotation.
TDLR: Don’t use the z axis for anything.
or give that axis a massive deadzone. so inputs to it need to be deliberate. it can be very tempting/useful to use that axis, carefully.
Unless you have an omni-directional robot (IE, swerve or mechanum) there’s literally no reason to have a 3rd axis in your control scheme. Just use Y for forwards/backwards, and X for Left/Right (IE, Arcade Drive). That said, IMO, Tank Drive with two joysticks is the far better way to control a robot (you get more fine-detailed control when turning)
Now, if my assumption is wrong and you ARE driving an omni-directional robot, then you’re probably going to have to either create your own custom drive method or create a sort of hybrid method using one of the existing ones (unless there are mechanum/swerve drive methods out there already).
Use the Z axis to aim your turret
Thanks you all! I used the axis 1 for moveSpeed and axis 2 for rotateSpeed.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.