我們正在為 FTC Skystone 制定停車代碼,其中顏色傳感器正在尋找色調(diào)值的變化來(lái)停止機(jī)器人。大多數(shù)情況下它都能工作,但如果我們按下停止按鈕,代碼就會(huì)繼續(xù)執(zhí)行,并會(huì)出現(xiàn)錯(cuò)誤,OpMode 會(huì)卡在 stop() 中。除此之外,傳感器只會(huì)讀取五次中的四次,我們不知道還能做什么來(lái)讓它發(fā)揮作用。這是我們的代碼:@Overridepublic void runOpMode(){ // Drive train initialization motorFrontRight = hardwareMap.dcMotor.get("FR"); motorFrontLeft = hardwareMap.dcMotor.get("FL"); motorBackLeft = hardwareMap.dcMotor.get("BL"); motorBackRight = hardwareMap.dcMotor.get("BR"); motorFrontLeft.setDirection(DcMotor.Direction.FORWARD); motorFrontRight.setDirection(DcMotor.Direction.REVERSE); motorBackLeft.setDirection(DcMotor.Direction.FORWARD); motorBackRight.setDirection(DcMotor.Direction.REVERSE); // Color sensor initialization sensorColor = hardwareMap.get(ColorSensor.class, "color_sensor"); color2 = hardwareMap.get(ColorSensor.class, "color2"); sensorDistance = hardwareMap.get(DistanceSensor.class, "color_sensor"); // Color Sensor Values float hsvValues[] = {0F, 0F, 0F}; final float values[] = hsvValues;. final double SCALE_FACTOR = 255; telemetry.addData("Status: ", "Initialized"); telemetry.addData(">", "Press Play to start op mode"); telemetry.update(); waitForStart(); while (opModeIsActive()){ // Color Sensor Code Color.RGBToHSV((int) (color2.red() * SCALE_FACTOR), (int) (color2.green() * SCALE_FACTOR), (int) (color2.blue() * SCALE_FACTOR), hsvValues); Color.RGBToHSV((int) (sensorColor.red() * SCALE_FACTOR), (int) (sensorColor.green() * SCALE_FACTOR), (int) (sensorColor.blue() * SCALE_FACTOR), hsvValues); } }
OpMode 卡在 stop() Android studio 中
喵喵時(shí)光機(jī)
2023-10-19 21:09:56