Proiectul prezinta o varianta de baza, educationala, a unui soft de controlul pentru vehiculelor autonome. Sunt prezentate si posibile directii de dezvolatre ulterioara.
Tehnologii
LEGO MINDSTORMS NXT
Cerinte sistem
Microsoft Power Point pentru prezentare;
LEGO MINDSTORMS NXT Software minimum system requirements:
General
256MB of RAM minimum (512 MB recommended)
Up to 300MB of available hard-disk space
XGA display (1024x768)
1 available USB port
CD-ROM drive
Compatible Bluetooth adapter (optional)*
Microsoft Windows
Windows XP Professional or Home Edition with Service Pack 2
Intel® Pentium® processor or compatible, 800 MHz minimum
(1.5 GHz or better recommended)
Apple Macintosh
Apple MacOS X v. 10.3.9 or 10.4
PowerPC® G3, G4, G5 processor, 600 MHz minimum**
(1.3 GHz or better recommended)
Sal, sper sa nu fiu rautacios, dar asta’ este “tactica” pe aici
Deci sa inteleg, ca ai cumparat un kit, ce cuprinde atat o interfata cat si un software aferent, scris de producator, care permite simularea si constructia unui device, conectat la PC. Intreabarea e punctala, intr-un cat aici este un concurs de programare, adica scrii litere(instructiuni ) intr-un mediu de dezvolatare(.NET, Delphi, etc. ), sau direct in asamblor, spunene care este partea ta de programare, si nu de simulare, in cadrul proiectului tau, inafara de prezentarea in Power point, ca eu asta am inteles din descriere. Tu faci doar o simulare a software-ului si potrivesti piesele din kit? Poti sa faci o simulare cu tolls-urile din Matlab, a montajului tau?
spunene care este partea ta de programare, si nu de simulare, in cadrul proiectului tau, inafara de prezentarea in Power point, ca eu asta am inteles din descriere. Tu faci doar o simulare a software-ului si potrivesti piesele din kit? Poti sa faci o simulare cu tolls-urile din Matlab, a montajului tau?
Kit-ul include si un mediu de programare vizuala pentru dezvoltarea software-ului, numit NXT-G, folosit si de mine in proiect. Insa, exista multe alte medii si limbaje de programare in care poate fi scris codul, Java, C si LabVIEW (fiecare avand un firmaware specific pentru Brick) fiind doar unele dintre acestea. O lista completa gasesti la http://en.wikipedia.org/wiki/Lego_Minds ... anguages_2
reV66
nu prea vad latura educationala a proiectului.
L-am numit "educational" pentru ca exista multe posibilitati de dezvoltare ulterioara, pornind de la event-based programming si pana la aplicatii de AI. De asemea, mi se pare o aplicatie inedita pentru programare :smiley:
Proiectul meu este unul simplu, care isi propune crearea si memorarea unei harti prin parcurgerea unei suprafete delimitate. Odata memorata harta, se pot imagina o varietate de aplicatii (de exemplu gasirea unui obiect pierdut). Eu mi-am propus sa fac o prezentare a sistemului si a posibilitatilor sale de dezvoltare, dar si sa discut si sa aflu pareri despre aceasta idee. :smiley:
Deci in principiul am avut dreptate, tu folosesti un soft, de fabrica, pentru a programa robotelul, [2 pasi la dreapta] [3pasi la stanga], faci niste simulari etc… Anul aceasta au fost cateva concursuri care au avut sectiuni, “made home”, unde au fost prezentate cateva CNC-uri, exemplu: RoboCam, Scanner 3D, un program de recunoasterea formelor, si multe altele… concursurile respective au fost ITFest, PROSOFT@NT, bitgeek, dar totusi, acolo la toate, cei care au prezentat acolo, nu au folosit softuri, factory made, ci au scris iei, pe porturl respectiv au facut o interfata, cum s-au priceput, deobicei in .NET si au programat niste motorase de imprimanta, etc… nu prea ma pricep, dar oricum este o deosebire conceptuala, intre ce prezinti tu, si ce am vazut pe acolo. Deosebirea consta, in soft-ul scris de candiat(intr-un IDE sub windows) chiar daca au folosit un webcam(folosind driveru microsoft), dar interfata, a fost absolut programata de ei.
Deci oricum nu ma pricep, nu am o astfel de lucrare, si iti doresc success, ca esti de varsta apropiata ca mine.
@gigaevil Nici eu nu stiu despre ce e vorba dar daca folosind, sa zicem, un SDK pentru a programa robotelul spre o finalitate mai practica si mai interesanta, o sa ai surpriza sa fie mult mai bine clasat decat cei care au “programat” motoarase de imprimanta. Poti sa faci chestii simple, clar inferioare(din punct de vedere al complexitatii) multora din concurs dar datoria ideii, interfetei sau modului de prezentare sa obtii rezultate mult mai bune decat ei.
Si daca lucrarea aia facuta intr-un WYSIWYG arata mai bine ca lucrarea lui X desenata in graba in photoshop si apoi la fel de in graba codata html/css, ce faci? Eu vad ca se poate scrie si cod pentru un astfel de robot (http://bit.ly/1cPXQ).
@asp Lamureste-ne te rog, lucrarea ta implica si ceva cod? Din cate stiu eu se pune o problema de genu la educational sa ai un procent cod.
@hurrycane exista mai multe firmware-uri pt robot, fiecare permitandu-ti sa scrii cod in alt limbaj, precum Java, C, ruby (ca in exemplul tau) sau altele. Eu nu am scris cod propriu-zis, ci am folosit mediul oferit de LEGO la pachet cu kit-ul , insa softul final are acelasi rezultat, indiferent de limbajul in care este scris. Mie mi se pare interesant tocmai pentru ca sunt multe posibilitati de dezvoltare si multe aplicatii posibile.
@moldo_razvan soft-ul de pe robot este scris tot de mine. ceea ce spuneam mai sus e ca acelasi soft poate fi scris in mai multe limbaje, fiecare avand un compilator si un firmware pt robot. alegerea unuia dintre aceste limbaje este a ta, la fel si software-ul pe care il scrii. doar pt ca soft-ul meu este scris in mediul oferit de cei de la LEGO in pachet si ca nu am trecut la un alt limbaj, precum C sau Java, nu inseamna ca nu este scris de mine.
exprimarea mea era putin neclara; sper ca acum te-ai lamurit
Am downloadat si eu softu(cei drept dupa torrente http://www.mininova.org/tor/590098 ), si am butonat un pic. Super frumoasa jucarie dar problema e ca atunci cand iti programezi telefonu, sau televizorul pe programe si canale nu te numesti programator. Practic firmware-ul permite programare automata a miscarilor, robotelului.
@popovici aplicatia folosita de mine (cea pe care ai download-at-o si tu) este un mediu de dezvoltare vizual bazat pe LabVIEW (un limbaj de programare vizual care foloseste conceptul de “Dataflow Programming”). O folosesc pentru ca o consider porivita pentru cerintele mele: nu este prea complexa si este probabil cea mai buna alegere pentru controlul motoarelor si al senzorilor robotului. Cu siguranta partea de inteligenta si procesare a datelor se rezolva mult mai bine intr-un limbaj mai puternic (precum C++, Java sau altele), insa lucrarea mea este una de baza, iar obiectivul meu este mai degraba sa prezint optiunile si posibilitatile de dezvoltare intr-o alta directie decat cea a programarii clasice
In primul rand, nu mai pomeni despre C++/C, Java, etc, sau de inteligenta, intru cat, creezi mari confuzi. Nu ai cod scris in C/C++, Java sau altele. Ai setat o comporatare a motoraselor, webcamului si etc [ce cuprinde robotelul] asa cu ajutorului unui program de firmware, gata scris.
Nu contesc cunostiintele tale despre robotica, ci doar pe cele de programare. Repet inca o data, daca lucrezi in office, NU inseamna ca esti programator ci UTILIZATOR de software.
Deasemenea nu contesc faptul ca ai invatat sa utilizezi LEGO MINDSTORMS NXT Software, ca si eu am invatat sa folosesc Office-ul.
Si in office se accepta scripturi asta nu inseamna ca atunci cand folosesti Office-ul esti programator.
@popovici daca nu te intereseaza subiectul, nu vad de ce avem aceasta conversatie. incerc doar sa am un schimb de idei pe o tema non-banala cu oamenii interesati. iar din punctul de vedere al rezultatelor mele la olimpiadele de informatica, cred ca imi permit sa vorbesc cate ceva despre C/C++ si inteligenta.
Pentru robotica puteai foarte bine sa folosesti microcontrollere ( http://www.microclub.pub.ro/08/tpl.php?pg=1 ) . SDK-ul vine cu niste librarii si controale care au ca scop integrarea unor componente hardware , integrarea unor software (spre exemplu instantierea unui browser in aplicatia ta) , au ca scop recunoasterea si folosirea tuturor facilitatilor unor masini (fie ele virtuale). Vrem sa vedem munca efectiva a participantului , cum spunea gigaevil ceea ce ai codat tu.
@gigaevil asa e, am folosit “block”-urile din paleta din stanga aplicatiei pentru a face soft-ul pentru robot, iar lucrarea mea nu are cod propriu-zis (text) de C sau ceva similar scris direct de mine. am vorbit de posibilitatea folosirii unui astfel de limbaj in contextul dezvoltarii ulterioare a proiectului, insa eu am descoperit ideea cu Midstorms acum cateva luni si nu am ajuns inca acolo.
@Alynuzzu stiu ca sunt multe variante, iar Mindstorms este doar una dintre ele. Eu am descoperit-o recent pe aceasta si atunci am realizat cate lucruri interesante se pot face, intr-un domeniu inedit al programarii.
eu am aflat de InfoEducatie de curand (abia am terminat a 8-a) si s-ar putea sa fie niste lucruri pe care nu le inteleg legate de tabara de la Galaciuc, de aceea poate explicatiile mele nu sunt exact raspunsurile asteptate la unele intrebari. daca am inteles gresit, ii rog pe cei cu mai multa experienta sa-mi dea lamuririle necesare