Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_mindstormsenv [2008/04/22 12:00]
gjn
pl:miw:miw08_mindstormsenv [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== Opis ====== ====== Opis ======
 +**__Projekt zakończony__**
 +
 **Łukasz Dziedzia **, <​dziedzia@student.agh.edu.pl>​ **Łukasz Dziedzia **, <​dziedzia@student.agh.edu.pl>​
  
Linia 13: Linia 15:
  
 ====== Spotkania ====== ====== Spotkania ======
-===== 08.02.26 ===== +[[pl:miw:​miw08_mindstormsenv:​spotkania ​Kalendarium spotkań.]]  
-  * wyszukac wszystkie mozliwe srodowiska +====== ​Sprawozdanie ​======
- +
-===== 08.03.11 ===== +
-  * propozycja usecase'​u +
-  * wstępnie wysel. środowiska +
- +
-LabView w uci +
-  * //[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|LabView]]// [[http://​www.agh.edu.pl/​pl/​uci/​site-licence.html|AGH site license]] +
- +
- +
- +
-===== 080318 ​===== +
-  * propozycje algorytmów +
-  * próba uwzg. oryginalne środow LEGO +
- +
-===== 080408 ===== +
-  * impl tych 2 alg +
-  * ew. propozycje 3. +
-  * próba zapisania 2 alg. w postaci ogólnych reguł decyzyjnych:​ JEŻELI cośtam WTEDY cośtam, ew. bez przesłanek:​ jedź... +
- +
- +
-===== 080422 ===== +
-  * inne alg +
-  * próba modelowania tych 2 w innych środowiskach +
-  * ewaluacja nowej strony? +
  
-===== 080520 ===== 
-  * przygotować [[pl:​mindstorms:​lab:​lab4]] z impl. w 4(3?) środowiskach,​ m$ ma pri 
  
-====== Projekt ====== 
-===== LABView w UCI ===== 
-Skontaktowalem sie droga mailowa z Panem odpowiedzialnym za udostepnianie licencji an oprogramowanie LABView, oto jego tresc: 
  
-> Witam,\\ 
-> program LabView moze byc instalowany wylacznie na komputerach Uczelnianych \\ 
-> i tylko przez pracownikow.\\ 
-> Pozdrawiam\\ 
-> J.Pilch\\ 
  
 ===== Dostepne srodowiska ===== ===== Dostepne srodowiska =====
 Kilka najciekawszych środowisk do programowania/​sterowania MindStorms: Kilka najciekawszych środowisk do programowania/​sterowania MindStorms:
-   * //​[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|MicrosoftRobotics Studio]]// - The Microsoft Robotics Studio ​is a Windows-based environment for academichobbyist and commercial developers to easily create robotics applications across a wide variety of hardware+   * //​[[http://​mindstorms.lego.com|LegoMindstorms NXT]]// - środowisko zaprojektowane przez firmę Lego do tworzenia aplikacji przy użyciu dchematów blokowych. 
-   * //​[[http://​bricxcc.sourceforge.net/​nbc/​|NBC ​NXC]]// ​  +   * //​[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|MicrosoftRobotics Studio]]// - Microsoft Robotics Studio ​to środowisko dla hobbystówstudentów oraz profesjonalnych użytkowników wspierające tworzenie programów dla różnych typów urządzeń
-     * Next Byte Codes (NBC) is a simple language with an assembly language syntax that can be used to program LEGO'NXT programmable brick (from the new LEGO Mindstorms NXT set)+   * //​[[http://​bricxcc.sourceforge.net/​nbc/​|BrixCC(NBC NXC)]]//   
-     * Not eXactly C (NXC) is a high level language, similar to C, built on top of the NBC compilerIt can also be used to program the NXT brick. NXC is basically NQC for the NXT. To compile NXC programs just use the NBC compiler with source code files that have a .nxc file extension.  +     * Next Byte Codes (NBC) jest to prosty język niskiego poziomu ​służący do programowania zestawu Lego Mindstorms NXT. 
-   * //​[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|LabView]]//​ - Toolkit popularnego ​srodowiska ​firmy NationalInstruments  +     * Not eXactly C (NXC) jest językiem wysokiego poziomu(podobieństwo z językiem ​C) współpracujący z kompilatorem ​NBC. Może być oczywiście wykorzystany do programowania Lego Mindstorms ​NXT.  
-   * //​[[http://​www.dcl.hpi.uni-potsdam.de/​research/​lego.NET/​|Lego.NET]]//​ - Lego.NET ​is the name of our project ​to make the .NET run-time ​available on the Lego Mindstorm platformAs the original ​Lego firmware is too limited for such a project, we are building on top of alternative operating systems; currently, our focus is on brickOS. +   * //​[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|LabView]]//​ - //Toolkit// popularnego ​środowiska ​firmy NationalInstruments  
-   * //​[[http://​www.robotc.net/​content/​lego_over/​lego_over.html|ROBOTC]]//​ -  ROBOTC ​is a powerful ​C-based programming language with a Windows environment for writing and debugging programs, and the only programming language at this level that offers a comprehensive,​ real-time ​debugger. ROBOTC is a cross-platform solution that allows students to learn the type of c-based programming used in advanced education and professional applications+   * //​[[http://​www.dcl.hpi.uni-potsdam.de/​research/​lego.NET/​|Lego.NET]]//​ - Lego.NET to projekt, którego celem jest umożliwienie uruchamia ​.NET run-time ​na NXTPonieważ oryginaly firmware nie udostępnia takich możliwości w ramach projektu tworzony jest także system operacyjny dla Lego o nazwie ​brickOS. 
-   * //​[[http://​www.mindstorms.rwth-aachen.de/​RWTH]]//​ - This toolbox is developed to control LEGO® MINDSTORMS® NXT robots with MATLAB via a wireless Bluetooth connection.  +   * //​[[http://​www.robotc.net/​content/​lego_over/​lego_over.html|ROBOTC]]//​ -  ROBOTC ​to podobny do język programowania dla Lego Mindstorms NXT. Jego zaletą jest wbudowany ​debugger ​czasu rzeczywistego
-   * //​[[http://​lejos.sourceforge.net/​|leJOS]]//​ - Java for Lego MindStorms+   * //​[[http://​www.mindstorms.rwth-aachen.de/​RWTH]]//​ - Toolbox pozwalający sterować robotami Lego poprzez BlueTooth.  
 +   * //​[[http://​lejos.sourceforge.net/​|leJOS]]//​ - Zestaw narzędzi do tworzenia oprogramowania dla Lego Mindstorms NXT przy użyciu języka Java (więcej informacji w projekcie: [[pl:​miw:​miw08_mindstormscontrolj|miw08_mindstormscontrolj]])
  
  
 Dodatkowo na stronach Wikipedii można znaleźć odnośniki do kilku innych środowisk: Dodatkowo na stronach Wikipedii można znaleźć odnośniki do kilku innych środowisk:
 //​[[http://​en.wikipedia.org/​wiki/​Lego_Mindstorms#​Programming_languages|MindStorms on wiki]]// //​[[http://​en.wikipedia.org/​wiki/​Lego_Mindstorms#​Programming_languages|MindStorms on wiki]]//
 +
 +
 +
  
 ===== Propozycja use case'u ===== ===== Propozycja use case'u =====
-Aby porównanie środowisk było sensowne wymagane jest, aby każde z nich testowane było w identyczny sposób. Istotne jest również, aby podczas testowania możliwości jakie oferują poszczególne środowiska wykorzystać jak największą część z funkcjonalności jaką oferuje zestaw LEGO Mindstorms. Biorąc pod uwagę powyższe założenia ​sugeruje ​następujący przebieg realizacji tego projektu:+Aby porównanie środowisk było sensowne wymagane jest, aby każde z nich testowane było w identyczny sposób. Istotne jest również, aby podczas testowania możliwości jakie oferują poszczególne środowiska wykorzystać jak największą część z funkcjonalności jaką oferuje zestaw LEGO Mindstorms. Biorąc pod uwagę powyższe założenia ​projekt został zrealizowany zgodnie z następującymi założeniami:
   - Stworzyć robota, na którym odbędą się testy. Uważam, że warto posłużyć się w tym celu jednym z robotów proponowanych w instrukcjach dołączonych do zestawu(okazałoby się to korzystne w przypadku próby uruchomienia algorytmu). Po zapoznaniu się z możliwościami robotów opisanych w instrukcjach LEGO zdecydowałem się na [[http://​mindstorms.lego.com/​Overview/​MTR_Tribot.aspx|TriBot'​a]] (w wersji rozszerzonej). Początkowo ciekawszym wydawał się humanoidalny [[http://​mindstorms.lego.com/​Overview/​MTR_AlphaRex.aspx|Alpha Rex]], jednak oprócz interesującego układu ruchu nie udostępnia on ciekawych możliwości,​ tzn. ciekawego wykorzystania sensorów.   - Stworzyć robota, na którym odbędą się testy. Uważam, że warto posłużyć się w tym celu jednym z robotów proponowanych w instrukcjach dołączonych do zestawu(okazałoby się to korzystne w przypadku próby uruchomienia algorytmu). Po zapoznaniu się z możliwościami robotów opisanych w instrukcjach LEGO zdecydowałem się na [[http://​mindstorms.lego.com/​Overview/​MTR_Tribot.aspx|TriBot'​a]] (w wersji rozszerzonej). Początkowo ciekawszym wydawał się humanoidalny [[http://​mindstorms.lego.com/​Overview/​MTR_AlphaRex.aspx|Alpha Rex]], jednak oprócz interesującego układu ruchu nie udostępnia on ciekawych możliwości,​ tzn. ciekawego wykorzystania sensorów.
-  - Dla danego robota zdefiniować algorytm programu ​(lub bardziej ogólnie założenia jakie mają docelowo być spełnione przez robota?). Algorytm powinien wykorzystywać wszystkie sensory dostępne w zestawie (przynajmniej w stopniu pozwalającym na ocenę możliwości sterowaniem nimi, tzn. w przypadku, gdy nie istnieje racjonalne uzasadnienie na wykorzystanie któregoś z sensorów, algorytm powinien zawierać logikę, która wykorzysta możliwości sensora, do wykoanania jakichś ​zadań podrzędnych).+  - Dla danego robota zdefiniować algorytm programu. Algorytm powinien wykorzystywać wszystkie sensory dostępne w zestawie (przynajmniej w stopniu pozwalającym na ocenę możliwości sterowaniem nimi, tzn. w przypadku, gdy nie istnieje racjonalne uzasadnienie na wykorzystanie któregoś z sensorów, algorytm powinien zawierać logikę, która wykorzysta możliwości sensora, do wykonania pewnych ​zadań podrzędnych).
   - Implementacja algorytmu przy użyciu wybranych środowisk (proponowane środowiska przedstawiam poniżej).   - Implementacja algorytmu przy użyciu wybranych środowisk (proponowane środowiska przedstawiam poniżej).
-  - Oprócz ​charakterystki ​porównawczej,​ opisującej podstawowe wady/zalety każdego ze sprawdzanych środowisk, w podsumowaniu przeprowadzonego eksperymentu powinna znaleźć się punktowa(uproszczona) ocena uwzględniająca następujące kryteria:+  - Oprócz ​charakterystyki ​porównawczej,​ opisującej podstawowe wady/zalety każdego ze sprawdzanych środowisk, w podsumowaniu przeprowadzonego eksperymentu powinna znaleźć się punktowa(uproszczona) ocena uwzględniająca następujące kryteria:
  * ogólna ocena możliwości środowiska  * ogólna ocena możliwości środowiska
  * "user friendly"​  * "user friendly"​
  * komunikacja z urządzeniem(NXTBrick)  * komunikacja z urządzeniem(NXTBrick)
  * szybkość i intuicyjność implementowania alg.  * szybkość i intuicyjność implementowania alg.
-        * ?+
  
  
 ===== Wyselekcjonowane środowiska ===== ===== Wyselekcjonowane środowiska =====
-Wykonanie eksperymentu ​propnuje ​przeprowadzić dla 3 środowisk. Wstępna analiza (polegająca na ocenie możliwości oraz popularności) wyłoniła następujące środowiska:​ +Wykonanie eksperymentu ​proponuję ​przeprowadzić dla 3 środowisk. Wstępna analiza (polegająca na ocenie możliwości oraz popularności) wyłoniła następujące środowiska:​ 
-  * //​[[http://​bricxcc.sourceforge.net/​nbc/​|NXC]]//​ - jest to chyba najpopularniejszy zestaw ​do tworzenia oprogramowania na LEGO Mindstorms. Język NXC (Not eXactly C) powstał w oparciu o język C, więc jest on bardzo intuicyjny dla wielu programistów. Dodatkowo dobre doświadczenia z poprzednią wersją tego języka (NQC) wskazują na słuszność tego wyboru. +  * //​[[http://​mindstorms.lego.com|LegoMindstorms NXT]]// - implementacja algorytmów w natywnym środowisku Lego powinna zostać potraktowana jako punkt referencyjny przy opisywaniu innych środowisk. 
-  * //​[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|MicrosoftRobotics Studio]]// - zapowiadające się dobrze środowisko do tworzenia oprogramowania (oraz symulacji) dla wielu platform hardware'​owych. Ciekawa również wydaje się perspektywa możliwości pisania kodu w dowolnym języku platformy .NET. +  * //​[[http://​bricxcc.sourceforge.net/​nbc/​|BrixCC(NXC)]]// - jest to chyba najpopularniejsze środowisko ​do tworzenia oprogramowania na LEGO Mindstorms(nie licząc orignalnego środowiska Lego). Język NXC (Not eXactly C) powstał w oparciu o język C, więc jest on bardzo intuicyjny dla wielu programistów. Dodatkowo dobre doświadczenia z poprzednią wersją tego języka (NQC) wskazują na słuszność tego wyboru. 
-  * //​[[http://​lejos.sourceforge.net/​|leJOS]]//​ - wybór tego środowiska jest podyktowane stosunkową dużą ilością publikacji (np. książka )opisujących to narzędzie. Poza tym w ramach przedmiotu Metody Inżynierii Wiedzy istnieją projekty dotyczące LEGO Mindstorms bazujące na języku Java, stąd wniosek, że warto opisać/​porównać to środowisko. +  * //​[[http://​zone.ni.com/​devzone/​cda/​tut/​p/​id/​4435|MicrosoftRobotics Studio]]// - zapowiadające się dobrze środowisko do tworzenia oprogramowania (oraz symulacji) dla wielu platform hardware'​owych. ​
-\\ +
-Porównanie ww. środowisk powinno zostać przygotowane w oparciu o możliwości środowiska dostarczonego wraz z zestawem Lego Mindstorms.+
  
 ===== Propozycje algorytmów ===== ===== Propozycje algorytmów =====
Linia 105: Linia 74:
  
 ===== Implementacja ===== ===== Implementacja =====
 +
 +
  
 ==== Uwagi ogólne ==== ==== Uwagi ogólne ====
  
    * Implementując powyższe algorytmy w środowisku LEGO okazało się, że szczególnie istotna jest możliwość kalibracji sensorów. Porównując środowiska należy zwrócić na to szczególną uwagę.    * Implementując powyższe algorytmy w środowisku LEGO okazało się, że szczególnie istotna jest możliwość kalibracji sensorów. Porównując środowiska należy zwrócić na to szczególną uwagę.
-   * Wadliwa konstrukcja robota uniemożliwiała korzystanie z sensora natężenia światła (TODO opis modyfikacji). +   * Wadliwa konstrukcja robota uniemożliwiała korzystanie z sensora natężenia światła([[pl:​miw:​miw08_mindstormsenv:​materialy#​Modyfikacja_konstrukcji_TriBot_a |sugerowana modyfikacja konstrukcji robota]]). 
-   * Przeszkodą nie może być piłeczka na platformie, sonar jest umieszczony zbyt wysoko , aby ją wykryć.+   * Przeszkodą nie może być piłeczka na platformie, sonar jest umieszczony zbyt wysoko, aby ją wykryć. 
 + 
  
 ==== Środowisko Lego Mindstorms ==== ==== Środowisko Lego Mindstorms ====
  
-   * {{:​pl:​miw:​miw08_mindstormsenv:​saper.rbt.zip|saper.rbt.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Saper|Algorytmu Saper]] w natywnym środowisku LEGO Mindstorms. +   * {{:​pl:​miw:​miw08_mindstormsenv:​saper_rbt.zip|saper_rbt.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Saper|Algorytmu Saper]] w natywnym środowisku LEGO Mindstorms. 
-   * {{:​pl:​miw:​miw08_mindstormsenv:​patrol.rbt.zip|patrol.rbt.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Patrol|Algorytmu Patrol]] w natywnym środowisku LEGO Mindstorms. Planowane ulepszenia: rozróżnianie '​wnętrza i zewnętrza'​ patrolowanego obszaru.+   * {{:​pl:​miw:​miw08_mindstormsenv:​patrol_rbt.zip|patrol_rbt.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Patrol|Algorytmu Patrol]] w natywnym środowisku LEGO Mindstorms.
  
 \\ \\
Linia 124: Linia 97:
 | '​cieszący oko' interfejs | niedopracowany edytor (gubiące się połączenia,​ nic nie mówiące warningi) |  | '​cieszący oko' interfejs | niedopracowany edytor (gubiące się połączenia,​ nic nie mówiące warningi) | 
 | zintegrowany tutorial i pomoc dotycząca używania środowiska | praca z edytorem wymaga sporo cierpliwości (wolne przewijanie przy '​dłuższych'​ algorytmach) | | zintegrowany tutorial i pomoc dotycząca używania środowiska | praca z edytorem wymaga sporo cierpliwości (wolne przewijanie przy '​dłuższych'​ algorytmach) |
-| bezproblemowa komunikacja (USB) | |+| bezproblemowa komunikacja (USB) | niektóre błędy kompilacji nie posiadają opisu pozwalającego je zidentyfikować ​|
 | automatyczny odczyt wartości pomiarów z sensorów |        | | automatyczny odczyt wartości pomiarów z sensorów |        |
 | możliwość kalibracji czujników z poziomu środowiska |        | | możliwość kalibracji czujników z poziomu środowiska |        |
Linia 134: Linia 107:
  
  
-==== NXC ====+ 
 +==== BrixCC(NXC====
  
 Jako pomoc w tworzeniu programów w języku NXC użyłem środowiska [[http://​bricxcc.sourceforge.net/​|Bricx Command Center]]. Z tego powodu w porównaniu zamieszczę raczej ocenę NXC+Bricx Command Center, gdyż tylko razem tworzą w pełni funkcjonalne,​ wygodne środowisko.\\ Jako pomoc w tworzeniu programów w języku NXC użyłem środowiska [[http://​bricxcc.sourceforge.net/​|Bricx Command Center]]. Z tego powodu w porównaniu zamieszczę raczej ocenę NXC+Bricx Command Center, gdyż tylko razem tworzą w pełni funkcjonalne,​ wygodne środowisko.\\
Linia 143: Linia 117:
 \\ \\
 Zaimplementowane algorytmy: Zaimplementowane algorytmy:
-   * {{:​pl:​miw:​miw08_mindstormsenv:​saper.nxc.zip|saper.nxc.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Saper|Algorytmu Saper]] w języku NXC. +   * {{:​pl:​miw:​miw08_mindstormsenv:​saper_nxc.zip|saper_nxc.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Saper|Algorytmu Saper]] w języku NXC. 
-   * {{:​pl:​miw:​miw08_mindstormsenv:​patrol.nxc.zip|patrol.nxc.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Patrol|Algorytmu Patrol]] w języku NXC. Planowane ulepszenia: rozróżnianie '​wnętrza i zewnętrza'​ patrolowanego obszaru.+   * {{:​pl:​miw:​miw08_mindstormsenv:​patrol_nxc.zip|patrol_nxc.zip}} - implementacja [[pl:​miw:​miw08_mindstormsenv:​materialy#​Patrol|Algorytmu Patrol]] w języku NXC.
 \\ \\
  
Linia 154: Linia 128:
 | skompilowany kod zajmuje mniej miejsca w pamięci (ok 4krotnie)| | | skompilowany kod zajmuje mniej miejsca w pamięci (ok 4krotnie)| |
  
-====== ​Sprawozdanie ​======+**UWAGA** Język NXC nie posiada liczbowego typu zmiennoprzecinkowego! (Należy uważać programując operacje matematyczna np.: (1/​10)*10 ​0 ! (mozna napisac (1*10)/10 ) 
 + 
 + 
 + 
 + 
 +==== Microsoft Robotics Studio ​==== 
 + 
 +Przydatne linki: 
 +   * [[http://​msdn.microsoft.com/​en-us/​robotics/​default.aspx | Oficjalna strona MSRS ]] 
 +   * [[http://​blogs.msdn.com/​msroboticsstudio/​ | Blog twórców MSRS ]] 
 +   * [[http://​en.wikipedia.org/​wiki/​Microsoft_Robotics_Studio | Informacja na Wikipedii ]] 
 + 
 +Microsoft Robotics Studio oferuje nieco inne możliwości niż omawiane wcześniej środowiska. Tworzenie logiki sterującej robotem nie jest najlepszym zastosowaniem dla MSRS (brak możliwości wgrania skompilowanego kodu na kostkę NXT, brak interfejsu dającego możliwość programowania logiki). Obszarem zastosowań,​ w którym można docenić MSRS jest integracja robotów z innymi serwisami (interfejsami urządzeń, aplikacji). Mimo, że aktualna lista dostępnych serwisów nie jest zbyt bogata (wczesne stadium rozwoju tego produktu), to MSRS zasługuję na uwagę chociażby ze względu na podejście do integrowania hardware'​u. Oczywiście możliwa jest też implementacja własnych serwisów. 
 + 
 +W ramach projektu w środowisku Microsoft Robotics Studio zaimplementowana została aplikacja {{pl:​miw:​miw08_mindstormsenv:​messages.zip|Messages.zip}}. Aplikacja składa się z 2 podprogramów,​ których działanie szczegółowo zostało opisane [[pl:​miw:​miw08_mindstormsenv:​materialy#​messages|tutaj]]. 
 + 
 +Dzięki aplikacji Messages przetestowane zostały: 
 +   * możliwości języka VPL 
 +   * serwisy Lego (v2) oraz serwisy: SimpleDialog,​ TextToSpeech,​ Log 
 +   * możliwości integracji Lego z ww. serwisami 
 + 
 +^ +                        ^ -                                                                        ^ 
 +| oferuje możliwość integracji NXT z innymi urządzeniami (np.: PC, XBox, kamery internetowe,​ serwisy software'​owe etc.)  | możliwość komunikacji tylko przy użyciu BlueTooth (połączenia są niestabilne) | 
 +| najwygodniejszy designer | mała ilość dokumentacji,​ tutoriali | 
 +| integracja z .NET Framework | długi czas uruchamiania programu (inicjalizowanie serwisów) | 
 + 
 + 
 +==== Podsumowanie ==== 
 + 
 +W ramach projektu udało się zrealizować porównanie 3 środowisk do tworzenia oprogramowania dla Lego Mindstorms NXT. Każde ze środowisk ma swoje wady i zalety (przedstawione powyżej), na ich podstawie testowane środowiska można zcharakteryzować jako: 
 +   * Lego Mindstorms NXT - podstawowe środowisko dla uzytkowników preferujących graficzny interfejs do tworzenia programów. 
 +   * BrixCC(NXC) - język NXC dzięki swemu podobieństwu do jęzka C może okazać się najlepszym wyborem dla osób posiadających doświadczenie w tym języku. Samo środowisko BrixCC jest proste w użyciu. 
 +   * Microsoft Robotics Studio - środowisko dla ludzi chcących eksperymentować z integracją zestawu Lego z urządzeniami różnego typu. Mała ilość dokumentacji/​tutoriali może czynić je zniechęcającym na początku. 
 + 
 +===== Laboratorium ===== 
 +[[pl:​mindstorms:​lab:​lab4]]
  
 ====== Materiały ====== ====== Materiały ======
 [[pl:​miw:​miw08_mindstormsenv:​materialy|Materiały]] [[pl:​miw:​miw08_mindstormsenv:​materialy|Materiały]]
pl/miw/miw08_mindstormsenv.1208858409.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0