BrickOS
Deweloper | Markus Noga |
---|---|
Rodzina OS | Wbudowane systemy operacyjne |
Stan roboczy | Aktualny |
Model źródłowy | Otwarte źródło |
Platformy | Kontroler Lego Mindstorms RCX |
Oficjalna strona internetowa |
brickOS to system operacyjny typu open source stworzony przez Markusa Nogę jako oprogramowanie układowe do działania jako alternatywne środowisko oprogramowania dla Lego Mindstorms Robotic Invention System [14] . brickOS to pierwsze oprogramowanie typu open source stworzone dla robotów Lego Mindstorms. Jest osadzony w środowisku opartym na C/C++ i Javie dla programu RCX poprzez wykorzystanie łańcucha narzędzi g++ i jack. Wykorzystuje asembler kompilatora krzyżowego Hitachi H8 jako podstawowy zestaw narzędzi.
System operacyjny zawiera programy demonstracyjne zaimplementowane w językach C i C++ oraz alternatywny system operacyjny dla Lego Mindstorms. Zapewnia użytkownikom narzędzia, które pozwalają im pobierać skompilowane programy i instalować system operacyjny dla RCX.
Cechy
BrickOS został zaprojektowany i opracowany przy użyciu Linuksa jako zamiennik poprzedniego systemu operacyjnego dla Lego Mindstorms, znanego również jako LegOS. Można go zaimplementować w systemie Windows i większości systemów Unix [6]. Pozwala na stworzenie bardziej elastycznego i wydajniejszego systemu, znacznie przewyższającego LegOS [3]. Aktualna wersja głównych funkcji systemu obejmuje [3]:
Właściwości |
---|
Interfejs API (Application Programming Interface) obsługujący dynamiczne ładowanie programów i modułów |
Wielozadaniowość z wywłaszczaniem |
Szybkość trybu natywnego 16 MHz |
Sterownik dla wszystkich systemów RCX (czujniki, silniki, dźwięk itp.) |
Dostęp do 32 000 pamięci RAM |
Pełna sieć pakietowa w podczerwieni (IR) ( zapewniają komunikację użytkownikom z komputerami osobistymi przez port USB) |
Dynamiczne zarządzanie pamięcią |
Języki programowania, np. C, C++ lub Java |
Wbudowana obsługa semaforów POSIX |
Programy BrickOS są wykonywane natywnie zamiast interpretowanego kodu bajtowego [12], jak w standardowym oprogramowaniu układowym, co pod względem szybkości działania programu. BrickOS jest elastyczny w sterowaniu wyjściami [2], na przykład może zmieniać 255 wartości prędkości silnika. Kolejną cechą jest to, że brickOS zawiera protokół sieciowy LegOS (LNP), który umożliwia komunikację więcej niż jednemu kierowcy. Protokół ten będzie transmitować wiadomość do dowolnego komponentu RCX w obszarze odbioru. Dodając warstwy do polecenia, wiadomość może odfiltrować odbiorcę, aby dotrzeć do adresowanego RCX.
BrickOS zapewnia środowisko programistyczne, które pozwala użytkownikom na swobodną implementację dostarczonych sterowników RCX, takich jak czujniki i silniki, przy użyciu języków programowania C lub C++. Może być używany wraz z darmowymi symulatorami LegoSim i Emmulegos, które zapewniają interfejsy graficzne do tworzenia maszyny wirtualnej, która ułatwia użytkownikom proces debugowania. Sukces systemu opiera się na społeczności, która go stworzyła. Bibliotekę i zasoby systemu można w dowolnym momencie dowolnie modyfikować i aktualizować o nowe funkcjonalności i rozwiązania społeczności programistycznej, oddzielając system od ograniczonych narzędzi dostarczanych przez producenta. Dzięki Internetowi rozwiązania są dostępne dla każdego.
Aplikacja
Robotyka
Wdrażanie robotów stało się kluczowym atutem w obecnym przemysłowym świecie. W robotyce oprogramowanie libre (lub oprogramowanie typu open source), takie jak brickOS, jest uważane za tradycyjne narzędzie do tworzenia robotów [1]. Ogólnie rzecz biorąc, potencjalne zastosowanie robotów jest ogromne. Na przykład wiele przedsiębiorstw zdecydowało się na zastosowanie robotyki w celu zastąpienia pracy ludzkiej w fabrykach przy wytwarzaniu produktów i zarządzaniu magazynami. Istota tych zastosowań stała się motywacją dla przemysłu do inwestowania w dalsze badania nad robotyką. Praktyki oprogramowania open source w badaniach robotyki zainspirowały powstanie konkursu Robocup. Organizacja o nazwie RoboCup stworzyła międzynarodowy plac zabaw dla rozwiązywania problemów, inicjatyw edukacyjnych i badań w dziedzinie robotyki. Uczestnicy mogą udostępniać kod i wykorzystywać go do rozwiązywania problemów. Środowisko konkurencyjne pozwala na wiele różnych podejść do problemów i skutecznie tworzy alternatywne rozwiązania pojedynczego problemu. Rozwiązania te można upublicznić społeczności w celu ulepszenia zasobu.
Edukacja
BrickOS był projektem współpracy między LEGO i MIT, mającym na celu stworzenie narzędzia edukacyjnego do nauczania implementacji czujników i silników w robotach. Środowisko programistyczne systemu operacyjnego zostało zaadoptowane na kursach przez kilka uniwersytetów, takich jak Universidade Federal do Amazonas (UFA) w Brazylii, jako platforma dla studentów kończących studia, umożliwiająca im kontakt w pierwszym roku ich kariery z programowaniem w językach C i C++ narzędzia do kompilacji. Prostota urządzeń mechanicznych w zestawie Lego Mindstorm pozwala na opanowanie koncepcji robotów oraz rozwijanie kreatywnego i logicznego myślenia. Istnieje empiryczna ocena korzyści płynących z robotycznego uczenia się, które wykazały, że zwiększyło to zdolność ucznia do planowania w kierunku celu i współpracy między rówieśnikami [10].
Zobacz też
- Barrera, P., Robles, G., Canas, JM, Martín, F. i Matellán, V. (2005). Wpływ narzędzi i metod wolnego oprogramowania na dziedzinę robotyki. Uwagi dotyczące inżynierii oprogramowania ACM SIGSOFT, 30 (4), 1–6. Pobrane z: https://www.researchgate.net/profile/Francisco-Martin-4/publication/220630637_Impact_of_Libre_Software_Tools_and_Methods_in_the_Robotics_Field/links/0fcfd50aca8cc1014e000000/Impact-of-Libre-Software-Tools-and- Metody w dziedzinie robotyki .pdf (dostęp: 12 marca 2022 r.)
- Babu, VDH i Boyuka, D. System transportu obiektów za pomocą LEGO Mindstorms RCX. Pobrane z: https://arcb.csc.ncsu.edu/~mueller/rt/rt11/readings/projects/g2/project3.pdf (dostęp: 10 kwietnia 2022)
- Delman, A., Goetz, L., Langsam, Y. i Raphan, T. (2009, lipiec). Opracowanie systemu do nauczania języka C/C++ przy użyciu robotów i oprogramowania Open-Source na kursie CS1. W FECS (s. 141–146). Pobrane z: https://www.researchgate.net/profile/Yedidyah-Langsam/publication/220844040_Development_of_a_System_for_Teaching_CC_Using_Robots_and_Open_Source_Software_in_a_CS1_Course/links/54eb20a80cf2f7aa4d5a4192/Development -systemu-do-nauczania-CC-Using-Robots-and-Open-Source -Software-in-a-CS1-Course.pdf (dostęp: 12 marca 2022 r.)
- Gawthrop, PJ i McGookin, E. (2006, czerwiec). Wykorzystanie LEGO w edukacji kontrolnej. w Proc. Siódmy Symp. IFAC. Postępy w edukacji kontrolnej (s. 31–38). Pobrane z: https://www.gawthrop.net/Lego/ACE06/Submitted.pdf (dostęp: 6 kwietnia 2022)
- Hundersmarck, C., Mancinelli, C. i Martelli, M. (2004). Żyj z brickOS . Journal of Computing Sciences in Colleges, 19 (5), 305–307. (dostęp: 8 maja 2022 r.)
- Kim, SH i Jeon, JW (2006, maj). Nauka języka C przy użyciu robotycznego systemu wynalazków LEGO Mindstorms 2.0. In Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006. (s. 715–720). IEEE. Pobrane z: http://files.team2648.com/LearnableProgramming/IEEE-C%20using%20legos.pdf (dostęp: 9 kwietnia 2022 r.)
- Makela, T. (2007). Używanie klocków LEGO Mindstorms RCX i nawiązywanie komunikacji na podczerwień. Pobrane z: https://www.theseus.fi/bitstream/handle/10024/929/Makela_Tero.pdf?sequence=1 (dostęp: 5 kwietnia 2022 r.)
- Matellán, V., Canas, JM i González-Careaga, R. (2003). Różne platformy robotyki dla różnych potrzeb edukacyjnych. Actas del Seminario Hispabot. Pobrane z: https://gsyc.urjc.es/~vmo/pubs/hispabot03.pdf (dostęp: 6 kwietnia 2022)
- Markus L. Noga. Wbudowany system operacyjny typu open source dla LEGO Mindstorms. Pobrane z: http://www.noga.de/legOS/ (dostęp: 8 maja 2022 r.)
- Maia, LDO, da Silva, VJ, Queiroz-Neto, JP i de Lucena, VF (2009, październik). Doświadczenie w korzystaniu z robotyki w celu poprawy nauki informatyki. W 2009 r. 39. konferencja IEEE Frontiers in Education (s. 1–6). IEEE. Pobrane z: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.528.1561&rep=rep1&type=pdf (dostęp: 14 marca 2022 r.)
- Programowanie Lego Mindstorms w systemie brickOS. (2002). Pobrane z: http://user.it.uu.se/~tobiasa/RT-DI02/ass1/legos_print.html (dostęp: 18 marca 2022 r.)
- Teslya, N. i Savosin, S. (2014, październik). Interakcja robota oparta na Smart-M3 w systemach cyberfizycznych. W materiałach XVI Konferencji Stowarzyszenia Otwarte Innowacje FRUCT (s. 108–114). IEEE. Pobrane z: https://www.fruct.org/publications/fruct16/files/Tes.pdf (dostęp 9 marca 2022 r.)
- Biały, D. (2004). Od scade do lego Mindstorms. Wydział Informatyki Uniwersytetu York. Pobrane z: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.467.2121&rep=rep1&type=pdf (dostęp: 17 marca 2022 r.)
- http://brickos.sourceforge.net/ (dostęp: 18 marca 2022 r.)