मुख्य कंटेंट तक स्किप करें

FTC प्रोग्रामिंग त्वरित प्रारंभ

बेसिक FTC उदाहरण: FTC सैंपल

FTC में, आप अपने Limelight के साथ इंटरैक्ट करने के लिए Android Studio, OnBot Java, और Blockly का उपयोग कर सकते हैं।

अधिकांश एप्लिकेशन के लिए 10 से कम लाइनों का कोड आवश्यक होता है। यहाँ प्रक्रिया का एक त्वरित अवलोकन दिया गया है।

बेसिक उपयोग

  1. Control Hub सेटअप चरण के दौरान उपयोग किए गए नाम का उपयोग करके अपने Limelight3A को इनिशियलाइज़ करें।
  2. वेब इंटरफ़ेस का उपयोग करके कॉन्फ़िगर की गई 10 पाइपलाइनों में से एक का चयन करने के लिए pipelineSwitch() कॉल करें।
  3. प्रति सेकंड 100 पोल्स पर बैकग्राउंड रिजल्ट्स पोलिंग शुरू करने के लिए start() कॉल करें।
public class Teleop extends LinearOpMode {

private Limelight3A limelight;

@Override
public void runOpMode() throws InterruptedException
{
limelight = hardwareMap.get(Limelight3A.class, "limelight");

telemetry.setMsTransmissionInterval(11);

limelight.pipelineSwitch(0);

/*
* डेटा पोलिंग शुरू करता है।
*/
limelight.start();
.
.
  1. नवीनतम LLResult ऑब्जेक्ट प्राप्त करने के लिए अपने ऑटोनॉमस और टेलीऑप लूप्स में getLatestResult() कॉल करें
  2. अपने रोबोट को गाइड करने के लिए LLResult के getTx(), getTy(), और getBotpose() का उपयोग करें।
    while (opModeIsActive()) {
LLResult result = limelight.getLatestResult();
if (result != null) {
if (result.isValid()) {
Pose3D botpose = result.getBotpose();
telemetry.addData("tx", result.getTx());
telemetry.addData("ty", result.getTy());
telemetry.addData("Botpose", botpose.toString());
.
.

एडवांस्ड उपयोग

  1. एडवांस्ड उपयोग के मामलों में LLResult के getColorResults(), getFiducialResults(), आदि के उपयोग की आवश्यकता हो सकती है।
    // प्रत्येक पता लगाए गए टारगेट के लिए कुछ डेटा प्रिंट करें
if (result.isValid()) {
// फिड्यूशल रिजल्ट्स एक्सेस करें
List<LLResultTypes.FiducialResult> fiducialResults = result.getFiducialResults();
for (LLResultTypes.FiducialResult fr : fiducialResults) {
telemetry.addData("Fiducial", "ID: %d, Family: %s, X: %.2f, Y: %.2f", fr.getFiducialId(), fr.getFamily(),fr.getTargetXDegrees(), fr.getTargetYDegrees());
}

// कलर रिजल्ट्स एक्सेस करें
List<LLResultTypes.ColorResult> colorResults = result.getColorResults();
for (LLResultTypes.ColorResult cr : colorResults) {
telemetry.addData("Color", "X: %.2f, Y: %.2f", cr.getTargetXDegrees(), cr.getTargetYDegrees());
}
}
  1. अधिकतम 3D लोकलाइजेशन सटीकता के लिए, updateRobotOrientation() कॉल करें और getBotPose_MT2() का उपयोग करें। MegaTag2 एक IMU-फ्यूज्ड रोबोट लोकलाइजर है जो एम्बिग्युइटी समस्या को हल करने के लिए imu का उपयोग करता है जो AprilTags जैसे सभी प्लेनर टारगेट्स के लिए मौलिक है।
    while (opModeIsActive()) {
YawPitchRollAngles orientation = imu.getRobotYawPitchRollAngles();

telemetry.addData("Yaw (Z)", "%.2f Deg. (Heading)", orientation.getYaw(AngleUnit.DEGREES));

limelight.updateRobotOrientation(orientation.getYaw(AngleUnit.DEGREES));
LLResult result = limelight.getLatestResult();
if (result != null) {
if (result.isValid()) {
Pose3D botpose = result.getBotpose_MT2();
.
.

अधिक जानकारी के लिए, FTC प्रोग्रामिंग पेज देखें