teleop:手动阶段程序

概要

路径:

Teamcode/java/org.firsinspires.ftc.teamcode/opmode/teleop

我们在询问过操作员后,发现按键按下、放开、一直按着和切换比较常用,所以封装了keyPresskeyDownkeyUpkeyToggle,简化了手柄按键的检测,并且实现了链式调用,让代码更加简洁、易懂。

具体介绍

参数列表

  • key:检测的按键,与FTC SDK中手柄按键名称一致,String类型

  • fn:要运行的函数,建议使用Lambda表达式Runnnable类型

手柄定义

robot.gamepad1
    .update()
    .keyPress("a",Runnable)//按下a
    .keyUp("b",Runnable)//松开b键
    .keyDown("x",Runnable)//按住x键
    .keyToggle("y",Runnable1, Runnable2)//按下y键切换
    
;

对手柄上的按键进行定义。详情可见 gamepadEX

场地中心坐标系

我们通过robot.drivetrain.driveRobotFieldCentric()函数让机器以场地中心坐标来确定自己的方向,但是在实际操作的过程中,操作手可能由于各种原因不了解机器的方向,因此需要使用重新定义一个按键,来重置场地坐标。

如果不习惯场地中心坐标,可以使用robot.drivetrain.driveRobot()函数,让机器以自身为中心坐标。

选取哪种方法取决于操作手的习惯。

手柄摇杆曲线

如果操作手觉得手柄的手感比较滑或者涩,那么可以直接删除/更改该函数。

这对程序没有任何影响。

Last updated