.


:




:

































 

 

 

 


FTC 16/17




 

: 30- , 30 , .

 

 

, . :

() , - , . , , .

:

● ...........5

● ...........10

● ............ 5

● ........... 10

● ........... 15 /

● ........... 5 /

● - ........... 5

● () ......... 30 /

( , )

, . , . . , . :

● .......... 5 /

● ..........1 /

 

30 . , - . :

● ꅅ. 10 /

● - , 76 셅. 10

● - 76 셅. 20

● - 充. 40


 

 

;

 

. Velocity Vortex.

, . ( ), , , , . - , , , - , .

, FTC.

- , . , , . , . Make pink goose great again!

, . . . , , . . , - . . .. , . .


 

 

.

 

 

, - , , . 3- , . , , , . , , .

 

 

, , . JAVA, . , .

 

 

, . : , .

- . : , .

https://vk.com/ftc_ru?z=video51298751_456239024%2Fdb67bb9eec6161da4a%2Fpl_post_-84781876_813

, , , .

 


 

 

 

. , . . , . - , . , .

 

 

.

 


 

 

, , (4 , 2 ), . , , , . , , , . FIRST. , .

3D , . 1, 22 2,44 .

, . :

● 18 - 1/2

● 9 - 1

● 32 - 3

● 20 - 9

● 32 90* - 2.

● 32

● 20 - 28 .

● 3220

: , , , . , , , 20 . 32 , , , , 18 2 "" 14 20 . 18 - .

FTC.ru , . https://vk.com/wall-84781876_754


 

 

.

 

 

, : . , , . . .

 

 

.

, .


 

 

 

- . , .

https://vk.com/ftc_ru?z=video162992858_456239021%2F3fc8d4128634d0b1c1%2Fpl_post_-84781876_800

, .

 

 

, . . , , .

 

 

, : , , . , , .

, .


 

 

, : . 3 , 45 . - , .

 

.

 

 

, , 5 . : , , , , . , , , .

, , . . , 95 .

 

 

, .


 

 

. , , , . , . , , .

https://vk.com/im?sel=145537964&z=video132959757_456239043%2Fae2b80bc869716888e

, , - . 3D-. . . . . https://vk.com/ftc_ru?z=video51298751_456239028%2F1415f8eb6543ce6bd9%2Fpl_wall_-84781876

 


 

 

. , , . , . , .

 

, . , , , .

 

 

3 , .

 

 

 

, . 3D- . 5 . -, . , , . .

 

- end-game. , , , .


 

 

. : , , , - .

, , . , , : , . , , , . : , , . .

 

, .

 

 

, . .

, .

 

 

. 5 5 .

https://vk.com/ftc_ru?z=video51298751_456239026%2Fc3986aa98bb7fe49a7%2Fpl_wall_-84781876

, - end-game .


 

 

 

. .

, , . , ( ), . , , , .

 

, .


 

 

 

, - . , . , . , , .

.

. .

 

. , , . , .

 

.

 

, . . , , , . , .

. . . , .


 

 

 

( ) . , . Lego .

 

 

- . : , , , .

 

 

, , - . , .


 

 

 

, , , .

4 , 2 , 2 2 . , .

 

, , .


 

 

, , (, ) , - .

 

, . , , . .

 

 

.

https://vk.com/im?sel=51298751&z=video51298751_456239031%2F561c36a73224fbd932

, , .

 


 

 

( , , , , , ).

 

: , , .

, - . .

 

 

, , , , .

Masquerade .


 

:

package com.qualcomm.ftcrobotcontroller.opmodes;

 

import com.qualcomm.robotcore.eventloop.opmode.OpMode;

import com.qualcomm.robotcore.hardware.DcMotor;

import com.qualcomm.robotcore.hardware.DcMotorController;

import com.qualcomm.robotcore.hardware.Servo;

import com.qualcomm.robotcore.util.Range;

 

public class GooseTeleOp extends OpMode {

 

public DcMotorController c1;

public DcMotor leftMotor;

public DcMotor rightMotor;

public DcMotor shooter; //

public DcMotor collector; //

public DcMotor up;

public Servo arm; //

 

public static final double SHOOTER_POWER = 1;

public static final double COLLECTOR_POWER = 1;

 

double armPosition = 0;

long time;

 

public GooseTeleOp() {

 

}

@Override

public void init() {

c1 = hardwareMap.dcMotorController.get("c1");

leftMotor = hardwareMap.dcMotor.get("m2");

rightMotor = hardwareMap.dcMotor.get("m1");

shooter = hardwareMap.dcMotor.get("shooter");

collector = hardwareMap.dcMotor.get("collector");

arm = hardwareMap.servo.get("hand");

up = hardwareMap.dcMotor.get("up");

leftMotor.setDirection(DcMotor.Direction.REVERSE);

up.setDirection(DcMotor.Direction.REVERSE);

}

 

@Override

public void loop() {

//

float left = -gamepad1.left_stick_y;

float right = -gamepad1.right_stick_y;

 

left = Range.clip(left, -1, 1);

right = Range.clip(right, -1, 1);

//if(gamepad1.left_stick_y)

//time = System.currentTimeMillis();

if(gamepad1.left_trigger > 0.25 || gamepad1.right_trigger > 0.25) {

left = left / 3;

right = right / 3;

}

 

leftMotor.setPower(left);

rightMotor.setPower(right);

 

//

if (gamepad2.a)

collector.setPower(-COLLECTOR_POWER);

else

collector.setPower(0.0);

 

//

if (gamepad2.y)

shooter.setPower(-SHOOTER_POWER);

else

shooter.setPower(0.0);

 

float upper = -gamepad2.left_stick_y;

 

upper = Range.clip(upper, -1, 1);

 

if(gamepad2.left_trigger > 0.25 || gamepad2.right_trigger > 0.25) {

upper = upper / 3;

}

 

up.setPower(upper);

 

//

if (gamepad1.b && (armPosition <= 0.9)) { armPosition = armPosition + 0.05; arm.setPosition(armPosition); }

if (gamepad1.x && (armPosition >= 0.1)) { armPosition = armPosition - 0.05; arm.setPosition(armPosition); }

 

}

 

@Override

public void stop() {

 

}

 

}


 

:

package com.qualcomm.ftcrobotcontroller.opmodes;

 

import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;

import com.qualcomm.robotcore.hardware.DcMotor;

import com.qualcomm.robotcore.hardware.DcMotorController;

import com.qualcomm.robotcore.hardware.LightSensor;

import com.qualcomm.robotcore.hardware.UltrasonicSensor;

import com.qualcomm.robotcore.hardware.ColorSensor;

import com.qualcomm.robotcore.hardware.Servo;

 

public class GooseAutonomous extends LinearOpMode {

 

DcMotorController c1;

DcMotor leftMotor;

DcMotor rightMotor;

DcMotor shooter;

LightSensor lightSensor;

UltrasonicSensor ultrasonicSensor;

ColorSensor sensorRGB;

Servo hand;

 

final static long TURN_RIGHT = 650;

 

long now;

 

@Override

public void runOpMode() throws InterruptedException {

 

lightSensor = hardwareMap.lightSensor.get("sensor_light");

lightSensor.enableLed(true);

ultrasonicSensor = hardwareMap.ultrasonicSensor.get("distance");

sensorRGB = hardwareMap.colorSensor.get("color");

 

c1 = hardwareMap.dcMotorController.get("c1");

leftMotor = hardwareMap.dcMotor.get("m2");

rightMotor = hardwareMap.dcMotor.get("m1");

leftMotor.setDirection(DcMotor.Direction.REVERSE);

 

shooter = hardwareMap.dcMotor.get("shooter");

 

hand = hardwareMap.servo.get("hand");

 

stopDriving();

shooter.setPower(0);

 

waitForStart();

//

drive(-0.70, -0.70, 1100);

sleep(50);

 

//

shooter.setPower(-1);

sleep(5000);

shooter.setPower(0);

sleep(100);

 

// -

drive(0.7, -0.7, TURN_RIGHT);

sleep(50);

 

drive(0.7, 0.7, 1100);

sleep(50);

drive(0.7, -0.7, TURN_RIGHT+100);

sleep(50);

 

while(opModeIsActive() && (lightSensor.getLightDetected() < 0.70) && (lightSensor.getLightDetected() > 0.60)) { drive2(0.5, 0.5); }

sleep(1);

stopDriving();

sleep(50);

 

mayak();

sleep(1);

 

drive(0.7, -0.7, TURN_RIGHT);

sleep(1);

while(opModeIsActive() && (lightSensor.getLightDetected() < 0.70) && (lightSensor.getLightDetected() > 0.60)) { drive2(0.5, 0.5); }

sleep(1);

stopDriving();

sleep(50);

 

mayak();

sleep(1);

 

}

 

public void stopDriving() {

leftMotor.setPower(0);

rightMotor.setPower(0);

}

public void drive(double lpower, double rpower, long waiting) {

now = System.currentTimeMillis();

while(opModeIsActive() && (System.currentTimeMillis() - now < waiting)) {

leftMotor.setPower(lpower);

rightMotor.setPower(rpower);

}

stopDriving();

}

 

public void drive2(double lpower, double rpower) {

leftMotor.setPower(lpower);

rightMotor.setPower(rpower);

}

 

public void mayak() {

while(opModeIsActive() && (ultrasonicSensor.getUltrasonicLevel() > 20)) {

if (lightSensor.getLightDetected() > 0.70) {

drive(0.25, 0, 1);

} else if(lightSensor.getLightDetected() < 0.50) {

drive(0, 0.25, 1);

 

} else {

drive(0.25, 0.25, 1);

}

}

stopDriving();

 

if(sensorRGB.red() >= 100) {

hand.setPosition(0.2);

drive(0.3, 0.3, 100);

} else {

hand.setPosition(0.8);

drive(0.3, 0.3, 100);

}

 

 

}

 

}

 

, .





:


: 2016-12-31; !; : 411 |


:

:

, .
==> ...

1400 - | 1208 -


© 2015-2024 lektsii.org - -

: 0.257 .