如何更正电机相对于游戏手柄移动的方向?

时间:2017-01-10 18:05:01

标签: java android math gamepad

我试图使用Android Studio对Tetrix机器人进行编码。电机没有相应的移动。如果向任何方向移动,左手杆会使机器人旋转。向右移动时右侧杆,使机器人向左移动,向右移动时,使机器人向右移动。我也无法理解代码的数学方面。

double r = Math.hypot(gamepad1.left_stick_x, gamepad1.left_stick_y);
double robotAngle = Math.atan2(gamepad1.left_stick_y, gamepad1.left_stick_x) - Math.PI / 4;
double rightX = gamepad1.right_stick_x;
final double v1 = r * Math.cos(robotAngle) + rightX;
final double v2 = r * Math.sin(robotAngle) - rightX;
final double v3 = r * Math.sin(robotAngle) + rightX;
final double v4 = r * Math.cos(robotAngle) - rightX;

leftFront.setPower(v1);
rightFront.setPower(v2);
leftRear.setPower(v3)
rightRear.setPower(v4);

0 个答案:

没有答案