Lego Mindstorms NXT

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
„Golf bot”, robot construit cu kitul NXT

LEGO Mindstorms NXT este un kit robotizat programabil atât pe computer, cât și manual, lansat de Lego la sfârșitul lunii iulie 2006. [1] Înlocuiește kitul LEGO Mindstorms de prima generație, care a fost denumit Sistemul de Invenție Robotică . Kitul de bază constă din două versiuni: Versiunea cu amănuntul [2] și Setul de bază pentru educație. [3] Acestea pot fi folosite pentru a concura în meciurile FIRST Lego League . Este utilizat mai ales cu limbajul de programare NXT-G, dar există o varietate de alte limbaje, cum ar fi: NXC, NBC, RobotC și BricxCC. O nouă versiune a setului, Mindstorms NXT 2.0 a fost anunțată în ianuarie 2009; acesta are un senzor de culoare avansat și mai multe funcții îmbunătățite. Acest set a fost disponibil pentru prima dată în Marea Britanie și Germania în magazinele online Lego; mai târziu (1 august 2009) a început să se vândă în SUA și are numărul 8547.

Cărămida NXT

Cărămidă NXT

Componenta principală a kitului este computerul în formă de cărămidă numit „cărămidă NXT” (cărămidă înseamnă cărămidă în engleză). Poate primi intrări de la până la patru senzori și controlează până la trei motoare electrice, prin cabluri RJ12 foarte similare, dar incompatibile cu cablurile telefonice RJ11 . „Cărămida” are un ecran LCD monocrom de 100x64 pixeli și patru butoane care pot fi utilizate pentru a naviga în interfața de utilizator a meniului ierarhic. De asemenea, are un difuzor care poate reda fișiere de sunet eșantionate de 8 kHz. Curentul este furnizat în versiunea pentru utilizatorii normali de 6 baterii AA (1,5 V fiecare) în timp ce în versiunea „educațională” de o baterie Li-Ion reîncărcabilă și încărcătorul de baterie relativ.

Specificatii tehnice

  • microprocesor central pe 32 de biți AT91SAM7S256 @ 48 MHz (256 KB memorie flash , 64 KB RAM, 48 MHz cicluri de ceas)
  • Microcontroler ATmega48 @ 4 MHz pe 8 biți (memorie flash de 4 KB, 512 octeți RAM)
  • Controler CSR BlueCore 4 Bluetooth @ 26 MHz (8 MBit memorie flash externă, 47 KB RAM)
  • Afișaj LCD cu matrice de 100 × 64 pixeli
  • Poate fi programat utilizând Windows sau Mac OS (NBC / NXC acceptă și Linux )
  • Utilizatorul creează un program cu software nou, derivat din National Instruments LabVIEW
  • Un port USB 1.1 cu viteză maximă (12 Mbit / s)
  • Conectivitate wireless Bluetooth (Clasa II), pentru a transfera programe către NXT fără fir sau pentru a putea controla robotul de la distanță (prin telefon mobil sau posibil de pe un PDA )
  • 4 porturi de intrare, platformă digitală cu 6 fire (un port include un port de expansiune compatibil IEC 61158 Fieldbus tip 4 / EN 50 170 ( P-NET ) pentru utilizare viitoare)
  • 3 porturi de ieșire, platformă digitală cu 6 fire
  • Digital Wire Interface, permițând terților să dezvolte dispozitive externe

Pot fi utilizate și alte programe software.

Firmware și trusă de dezvoltare

LEGO a distribuit firmware-ul pentru NXT Intelligent Brick ca Open Source . [4]

Sunt disponibile mai multe kituri de dezvoltare care conțin documentație pentru NXT:

  • Software Developer Kit (SDK), include informații despre driverele USB gazdă, formatul fișierelor executabile și informații despre codul secundar
  • Hardware Developer Kit (HDK), include documentație și diagrame de cablare pentru cărămidă și senzori NXT
  • Bluetooth Developer Kit (BDK), documentează protocoalele utilizate pentru comunicarea prin Bluetooth

Programare

Programe foarte simple pot fi scrise folosind meniul NXT. Programele și fișierele de sunet mai complicate pot fi descărcate folosind portul USB sau fără fir folosind Bluetooth. Fișierele pot fi, de asemenea, copiate între două bricuri NTX diferite prin interfața wireless, iar mai multe telefoane mobile pot fi folosite și ca telecomandă pentru a opera sistemul de la distanță. Până la patru cărămizi NXT pot comunica simultan prin Bluetooth când rulează programe generate de utilizator.

Versiunea cu amănuntul a kitului include software pentru a scrie programe care pot fi rulate pe PC și Macintosh. Software-ul se bazează pe National Instruments LabVIEW și oferă un limbaj de programare vizual pentru scrierea de programe simple și descărcarea lor în „cărămida” NXT.

NXT-G

NXT-G v1.0 este software-ul de programare inclus în NXT. Există două interfețe de programare diferite. Una este inclusă în kiturile de vânzare cu amănuntul și educaționale, iar cealaltă poate fi achiziționată separat. Acest software este potrivit pentru programarea de bază, cum ar fi acționarea motoarelor, colectarea intrărilor senzorilor, efectuarea de calcule și învățarea structurilor de programare simplificate și a controalelor de flux . Iată câteva avantaje / dezavantaje ale utilizării versiunii 1.0 a acestui software:

Pro:

  • NXT-G este simplu de instalat pe mașinile Windows XP și Vista, iar Mac OS X este, de asemenea, acceptat.
  • NXT-G poate transfera date prin Bluetooth sau prin cablul USB inclus.
  • NXT-G oferă un ușor de utilizat drag and drop mediu grafic.
  • Graficele includ instalarea cablurilor care arată fluxul de date bloc-la-bloc.

Împotriva:

  • Programele NXT pot fi mult mai mari decât programele identice dezvoltate cu un limbaj de programare furnizat de terți (de exemplu: 12 kiB vs 2 kiB).
  • Încărcarea programelor durează mult mai mult decât programele terță parte.
  • Când creați programe mari, NXT-G tinde să se blocheze și să piardă date nesalvate.
  • Software-ul NXT-G rulează lent, chiar și pe computere puternice.

Majoritatea acestor probleme au fost rezolvate cu versiunea v1.1 a software-ului NXT-G. [5]

Trusa de instrumente LabVIEW

NXT-G se bazează pe LabVIEW , un standard de programare industrial. Creat de National Instruments, LabVIEW folosește programarea fluxului de date pentru a crea un instrument virtual. Pentru a permite o programare mai avansată, într-un sens grafic, National Instruments a produs un set de instrumente pentru NXT. Versiunea 1.0 este în vânzare din decembrie 2006. De la data lansării, au fost găsite mai multe erori și au fost creați noi senzori. În timp ce trusa de instrumente permite crearea de noi senzori, National Instruments nu a lansat încă o actualizare oficială.

Următoarele coduri de octeți și nu eXactly C

Next Byte Codes (NBC) este un limbaj open-source simplu cu sintaxa limbajului de asamblare care poate fi folosit pentru a programa „cărămida NXT”.

Not eXactly C (NXC) este un limbaj open-source de nivel înalt [6] , similar cu limbajul C , construit din compilatorul NBC. Poate fi folosit și pentru programarea cărămizii NXT. NXC este în esență NQC pentru NXT. [7]

RobotC

RobotC este un alt limbaj de programare bazat pe limbajul C pentru Vex , First Tech Challenge și Lego Mindstorms .

URBI

URBI este un limbaj și un eveniment paralel bazate pe evenimente ( bazate pe evenimente) cu interfețe către C ++ / Java și MATLAB. De asemenea, are o arhitectură componentă (UObject) pentru calcul distribuit. Urbi este compatibil cu mulți roboți precum NAO (vezi Robocup ), Bioloid sau Aibo . [8] .

leJOS NXJ

leJOS NXJ este un limbaj open source de nivel înalt bazat pe limbajul Java care folosește firmware ad-hoc dezvoltat de echipa leJOS. [9]

LEJOS OSEK

Pentru a putea scrie în C / C ++, poate fi folosit LEJOS OSEK . De asemenea, în acest caz este necesar un firmware ad-hoc. [10]

MATLAB și Simulink

  • MATLAB este un limbaj de programare la nivel înalt pentru calcul numeric, achiziție și analiză de date. Poate fi folosit pentru a controla roboții Lego Mindstorm NXT printr-un port serial Bluetooth .
  • Simulink este un mediu bazat pe MATLAB pentru modelarea și simularea sistemelor dinamice. Folosind Simulink , un utilizator este capabil să proiecteze algoritmi de control, să genereze automat codul C pentru acești algoritmi și să descarce codul compilat de pe Lego Mindstorm NXT .

Navigare FLL NXT

FLL Nxt Navigation este un program open source pentru a ajuta mișcările de pe masa competiției FLL (First Lego League). Utilizați fișiere NXT-G și .txt pentru a scrie programe.

Senzori

Iată ce este inclus în kitul de bază Lego Mindstorms: [11]

  • Trei servomotoare identice împreună cu roți dințate reduse , asamblate cu codificatoare de rotație optică interne care măsoară rotația lor cu un grad ridicat de precizie. [12]
  • Un senzor tactil care detectează dacă este apăsat, lovit sau eliberat. Butonul portocaliu Enter și butoanele gri stânga și dreapta pot fi programate să funcționeze ca senzori. În software-ul de programare NXT-G, o valoare 0 este dată când nu este apăsat, iar o valoare 1 este dată dacă este apăsat. [13]
  • Un senzor de lumină care detectează nivelul de lumină într-o direcție și include, de asemenea, un LED pentru iluminarea unui obiect. Senzorul de lumină poate detecta lumina ambientală cu LED-ul setat sau poate detecta lumina reflectată, cu LED-ul setat pentru a genera lumină. [14]
  • Un senzor de sunet care are un microfon care poate fi utilizat pentru a detecta amplitudinea unui sunet. Folosind senzorul de sunet, un robot poate fi programat să se miște când bate din palme [15]
  • Un senzor cu ultrasunete capabil să măsoare distanța dintre senzor și un obstacol și să detecteze mișcarea. Poate arăta distanța atât în centimetri, cât și în inci . Distanța maximă pe care o poate măsura este de 233cm cu o precizie de 3cm. [16]

Aceste piese nu sunt incluse în kitul de bază Lego Mindstorms NXT și pot fi achiziționate separat: [17]

Senzorii sunt asamblați și programați. În software-ul Lego Mindstorms , puteți decide ce să faceți cu informațiile provenite de la senzori (de exemplu, puteți programa robotul să avanseze până când atinge ceva).

Lego vinde, de asemenea, un adaptor pentru linia de produse Vernier ; acesta din urmă produce dispozitive de colectare a datelor și software conex pentru utilizare în educație.

A declanșa

Inclus în kitul de bază:

Inclus în setul de educație de bază:

Piese suplimentare vândute separat:

Notă

  1. ^ Ce este NXT? LEGO Group dezvăluie LEGO MINDSTORMS NXT Robotics Toolset la Consumer Electronics Show , 4 ianuarie 2006. Accesat la 2 mai 2019 (arhivat din original la 15 iunie 2009) .
  2. ^ 8527 Mindstorms NXT Kit , pe site-ul web Mindstorms , Lego Group . Adus la 26 decembrie 2008 (arhivat din original la 3 februarie 2009) .
  3. ^ Set LEGO MINDSTORMS Education NXT Base , pe site-ul web LEGO Education , Lego Group . Adus 26 decembrie 2008 .
  4. ^ Toate instrumentele pentru a vă duce LEGO MINDSTORMS NXT la Extrem! , pe mindstorms.lego.com . Adus pe 29 martie 2009 (arhivat din original la 6 octombrie 2009) .
  5. ^ LEGO MINDSTORMS NXT Software versiunea 1.1 care va fi lansat în august 2007 Arhivat 12 aprilie 2009 la Internet Archive . (LEGO.com MINDSTORMS NXT News. 2007 - 05-07 ) - Adus 2007 - 06-12
  6. ^ Nu eXactly C
  7. ^ NBC / NXC - Coduri de octeți NeXT și nu eXactly C <
  8. ^ Pagina URBI NXT , pe gostai.com . Adus pe 29 martie 2009 (arhivat din original la 30 aprilie 2007) .
  9. ^ LeJOS, Java pentru Lego Mindstorms
  10. ^ SourceForge.net: nxtOSEK - Project Web Hosting - Software open source
  11. ^ Lego Mindstorms NXT kit de bază
  12. ^ Servomotoare
  13. ^ Senzor tactil , la mindstorms.lego.com . Adus pe 29 martie 2009 (arhivat din original la 17 februarie 2012) .
  14. ^ Senzor de lumină , la mindstorms.lego.com . Adus pe 29 martie 2009 (arhivat din original la 17 februarie 2012) .
  15. ^ Senzor de sunet , la mindstorms.lego.com . Adus pe 29 martie 2009 (arhivat din original la 18 martie 2009) .
  16. ^ Senzor cu ultrasunete
  17. ^ Piese suplimentare , pe mindstorms.lego.com . Adus pe 29 martie 2009 (arhivat din original la 6 octombrie 2009) .

Lecturi suplimentare

Alte proiecte

linkuri externe