4.2 Software Development Kit (SDK)

Software Development Kit reprezintă o colecție de clase care se pot folosi pentru a personaliza codul pentru robotul construit de dumneavoastră. Codul se va copia în folderul TeamCode după care se va modifica astfel încât să corespundă configurației robotului de pe Robot Controler.Apoi programul va fi modificat astfel încât robotul să îndeplinească task-urile cerute.

FTC (First Tech Challenge) Software Development Kit (SDK) este un set de instrumente și resurse oferite pentru a ajuta echipele să dezvolte software-ul necesar pentru a controla roboții lor. SDK-ul FTC include biblioteci, exemple de cod, documentație și instrumente care facilitează programarea roboților folosind limbaje de programare Java și Kotlin.

Elemente Cheie ale SDK-ului FTC

  1. Biblioteci și API-uri: SDK-ul include diverse biblioteci care oferă API-uri pentru a interacționa cu hardware-ul robotului, cum ar fi motoarele, senzorii, servomotoarele și alte componente.
  2. Exemple de Cod: SDK-ul include numeroase exemple de cod care demonstrează cum să folosești diferite părți ale API-urilor și cum să implementezi funcționalități comune.
  3. Documentație: Documentația detaliată oferă informații despre structura SDK-ului, descrierea claselor și metodelor, și ghiduri pas cu pas pentru configurarea și programarea roboților.
  4. Instrumente de Dezvoltare: SDK-ul este conceput pentru a fi folosit cu Android Studio, un mediu integrat de dezvoltare (IDE) care suportă dezvoltarea aplicațiilor Android și a software-ului pentru roboții FTC.

Configurarea Mediului de Dezvoltare

Pentru a începe cu SDK-ul FTC, trebuie să configurezi mediul de dezvoltare folosind Android Studio. Iată pașii de bază:

  1. Instalarea Android Studio: Descarcă și instalează Android Studio de pe site-ul oficial Android Studio.
  2. Descărcarea SDK-ului FTC: Clonează sau descarcă SDK-ul FTC de pe GitHub-ul oficial al FTC.
  3. Importarea Proiectului: Deschide Android Studio și importă proiectul SDK descărcat.
  4. Configurarea Hardware-ului: Conectează controlerul robotului și telefoanele Android (Driver Station și Robot Controller) la computerul de dezvoltare.

Structura Proiectului SDK

Proiectul SDK este organizat în mai multe directoare și fișiere importante:

  • TeamCode: Acest director este destinat pentru codul specific echipei tale. Aici vei crea și gestiona codul pentru OpMode-urile personalizate.
  • FtcRobotController: Conține codul și resursele pentru aplicația Robot Controller.
  • doc: Conține documentația SDK-ului.
  • examples: Conține exemple de cod care demonstrează diverse funcționalități ale API-urilor FTC.

Crearea unui OpMode

OpMode-urile sunt programele care controlează robotul în timpul meciurilor. Există două tipuri de OpMode-uri: LinearOpMode și OpMode.

LinearOpMode

Un LinearOpMode rulează codul într-o manieră liniară, secvențială. Iată un exemplu simplu:

import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;

@TeleOp(name = "Linear OpMode Example", group = "Examples")
public class LinearOpModeExample extends LinearOpMode {

private DcMotor motor;

@Override
public void runOpMode() {
motor = hardwareMap.get(DcMotor.class, "motor");

waitForStart();

while (opModeIsActive()) {
motor.setPower(gamepad1.left_stick_y);
telemetry.addData("Motor Power", motor.getPower());
telemetry.update();
}
}
}

OpMode

Un OpMode permite mai mult control asupra ciclului de viață al programului, dar necesită gestionarea stării manual:

import com.qualcomm.robotcore.eventloop.opmode.OpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;

@TeleOp(name = "Iterative OpMode Example", group = "Examples")
public class IterativeOpModeExample extends OpMode {

private DcMotor motor;

@Override
public void init() {
motor = hardwareMap.get(DcMotor.class, "motor");
}

@Override
public void loop() {
motor.setPower(gamepad1.left_stick_y);
telemetry.addData("Motor Power", motor.getPower());
telemetry.update();
}
}

Utilizarea Instrumentelor de Debugging

Android Studio oferă instrumente puternice de debugging care pot fi utilizate pentru a identifica și corecta erorile din codul tău:

  • Logcat: Un instrument care afișează log-urile generate de aplicație.
  • Breakpoints: Permite oprirea execuției codului la anumite linii pentru a inspecta variabilele și starea programului.
  • Telemetry: Utilizează telemetria pentru a trimite informații înapoi la Driver Station în timpul execuției.
telemetry.addData("Key", "Value");
telemetry.update();

Resurse Suplimentare

  • Documentația oficială FTC: FTC Documentation
  • Forumurile FTC: Un loc pentru a pune întrebări și a împărtăși cunoștințe cu alte echipe.
  • Tutoriale video: FTC oferă diverse tutoriale video pe YouTube care pot fi foarte utile pentru învățarea SDK-ului.

SDK-ul FTC oferă toate resursele necesare pentru a dezvolta aplicații robuste și eficiente pentru roboții tăi, asigurându-te că ai tot ce îți trebuie pentru a reuși în competiții.