VEX AI robota kodēšana

Šajā rakstā tiks apskatīts projekta piemērs, kurā tiek parādīts informācijas panelis, kas ziņo par robota un robota saziņas statusu, izmantojot VEXlink, kā arī statusu Jetson. Projekts ai_demo tiek mitināts mūsu Github. Šis demonstrācijas projekts apkopo datus no Jetson procesora, izmantojot USB seriālo savienojumu. Kad dati ir saņemti, tie tiek parādīti V5 Brain ekrānā un arī pārsūtīti uz partnera V5 robotu, kas ir savienots, izmantojot VEXlink.

piezīme. Šim projektam ir nepieciešama jaunākā VS koda paplašinājuma versija V5. Lejupielādējiet VS koda paplašinājumu V5 šeit.


NVIDIA Jetson Nano uz VEX V5 Brain Communications

Jetson procesors satur lietojumprogrammu, kas apkopo šādus datus no VEX AI programmatūras:

Diagramma, kas ilustrē VEX AI izmantošanas procesu, demonstrē galvenos komponentus un darbplūsmu efektīvai ieviešanai V5 robotikas sistēmās.

Robota atrašanās vietas dati:

  • Robota X,Y atrašanās vieta metros no lauka centra.
  • Robota azimuts (virziens), pacēlums (slīpums), rotācija (ripojums) viss radiānos.

Objektu noteikšanas dati (trīs veidi):

Diagramma, kas ilustrē VEX AI sistēmas komponentus un to mijiedarbību, parādot, kā VEX AI uzlabo robotikas funkcionalitāti V5 kategorijā.

Attēla noteikšana (pirmais veids):
  • Šie dati atspoguļo VEX AI Intel kameras atklātu objektu.
  • Šie dati apraksta objektu, atsaucoties uz kameras attēlu.
  • X, Y, platuma un augstuma vērtības ir norādītas pikseļu vienībās. Pikseļu vērtības attiecas uz attēla un objektu noteikšanas lodziņa augšējo kreiso stūri. Attēla izšķirtspēja ir 640x480.

 

Diagramma, kas ilustrē VEX AI funkcijas un komponentus, izceļ tās lietojumus un priekšrocības robotikā kā daļu no V5 kategorijas apraksta.

Kartes noteikšana (otrais veids):

  • Šie dati attēlo objekta atrašanās vietu uz lauka tajā pašā koordinātu sistēmā kā GPS sensors, kas norādīts metros.
  • Katrs objekts satur arī objekta atrašanās vietu attiecībā pret lauka centru. X un Y vērtības ir norādītas metru vienībās no lauka centra attiecīgajā asī. Z vērtība ir metri no lauka flīzēm (augstums).

Noteikšanas objekts (trešais veids):

Diagramma, kas ilustrē VEX AI sistēmas komponentus un to mijiedarbību, izceļot galvenās funkcijas un funkcijas V5 robotikas platformā.

  • Tas iekapsulē visu informāciju par atklātajiem objektiem.
  • Katrs objekts satur vērtību, kas atspoguļo atklātā objekta klasifikāciju. (Klases ID: 0 = GreenTriball, 1 = RedTriBall, 2 = BlueTriBall)
  • Katrs objekts satur arī varbūtību, kas atspoguļo VEX AI pārliecību par noteikšanu. Tas ir pēc filtra modelī.py, kas noņem zemas varbūtības noteikšanas gadījumus.
  • Turklāt no VEX AI Intel kameras tiek ziņots par objekta dziļumu metros.
  • Attēla noteikšana un kartes noteikšana ir pievienota katram objektam, lai attēlotu objekta koordinātas attēlā, kā arī reālajā pasaulē.

Programmas ai_demo sadalījums:

Main.cpp

Diagramma, kas ilustrē VEX AI funkcijas un funkcijas V5 kategorijā, parādot, kā efektīvi izmantot tehnoloģiju robotikas lietojumprogrammām.

Standarts VEX projektiem ietver:

Diagramma, kas ilustrē VEX AI sistēmas komponentus un to mijiedarbību kā daļu no V5 kategorijas apraksta sadaļā VEX AI izmantošana.

Pasludiniet Jetson klases gadījumu. Šī klase tiek izmantota, lai nosūtītu datu pieprasījumus Jetson, kā arī saņemtu datus, izmantojot USB seriālo savienojumu.

#define MANAGER_ROBOT 1

Diagramma, kas ilustrē VEX AI funkcijas un komponentus V5 robotikas kontekstā, izceļot galvenās funkcijas un lietošanas vadlīnijas.

Deklarējiet klases robot_link gadījumu. Šis objekts tiks izmantots, lai savienotu un pārsūtītu datus starp šo robotu un partnerrobotu. Šo pašu projektu var lejupielādēt divos atsevišķos robotos. Vienam robotam būs nepieciešama līnija:

//#define MANAGER_ROBOT 1

Pirms koda ielādēšanas otrajā robotā jums būs jākomentē šī rindiņa:

Robot_link klase iestata robota VEXlink un apstrādā datu pārraidi un saņemšanu starp diviem robotiem. Šajā rakstā mēs nerunāsim par to, kā šī klase darbojas. Būtu laba ideja vispirms saprast, kā darbojas VEXlink. Lai iegūtu sīkāku informāciju par V5 VEXlink API izmantošanu, šajā dokumentā ir izskaidrotas jaunās bibliotēkas un kā tās efektīvi izmantot saziņai starp robotiem un robotiem.

  • Sacensību pasākumu rīkotāji

    Diagramma, kas ilustrē VEX AI funkcijas un komponentus V5 robotikas sistēmā, izceļot tās spējas uzlabot robota veiktspēju un programmēšanu.

    Viena no lielākajām atšķirībām starp VAIC un VRC ir tā, ka nav vadītāja kontroles perioda. Tā vietā ir divi autonomie periodi, izolācijas periods un mijiedarbības periods. Šajā piemērā katram autonomajam periodam ir atsevišķas rutīnas. Tā kā VEX API neatbalsta divus dažādus atzvanus, programmā ir jābūt karogam, lai noteiktu, kura rutīna ir jāizpilda. Šajā programmas piemērā “firstAutoFlag” tiek izmantots, lai izsauktu Izolācijas funkciju, kad pirmo reizi ir iespējota autonoma, un mijiedarbības funkciju, kad autonoma ir iespējota otro reizi. Viena lieta, kas jāņem vērā, ir tāda, ka, ja kāda iemesla dēļ atbilstība ir jāatiestata, demonstrācijas programma ir jārestartē, lai varētu atiestatīt pirmo AutoFlag.

  • Galvenais()

    Diagramma, kas ilustrē VEX AI funkcijas un funkcijas V5 kategorijā, izceļot galvenās sastāvdaļas un to mijiedarbību uzlabotai robotikas programmēšanai un automatizācijai.

    Tas ir šī projekta galvenais uzdevums. Tas sākas, izsaucot vexcodeInit(), lai pareizi iestatītu VEXcode vidi. Pēc tam tiek deklarēts vietējais AI_RECORD objekts, lai saglabātu datus, ko saņemam no Jetson. Atsevišķs uzdevums ir arī iestatīts, lai apstrādātu ekrāna atjaunināšanu ar jaunākajiem datiem. Šī uzdevuma kods ir ietverts failā dashboard.cpp. Autonomā atzvanīšana ir arī reģistrēta, lai to apstrādātu, kad tiek uzsākti autonomie periodi.

    Galvenā while() cilpa sākas, kopējot jaunākos datus no objekta jetson_comms mūsu lokālajā AI_RECORD objektā. Pēc tam tas nodod robota atrašanās vietas informāciju saites objektam, lai to varētu pārsūtīt mūsu partnera robotam. Kad datu apstrāde ir pabeigta, tas pieprasa vairāk datu no Jetson un guļ 66 milisekundes. Šo datu aptaujas frekvence ir 15 Hz. Nav iemesla veikt aptauju ātrāk, jo AI sistēmas dati tiek atjaunināti ar aptuveni 15 Hz.

    piezīme: Jetson kartes dati ir jāpieprasa tikai vienam uzdevumam.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: