System operacyjny Raspberry Pi dla robotyki

11

Czy istnieje system operacyjny dla Raspberry Pi specjalnie zaprojektowany do uruchamiania aplikacji robotyki? Lub system operacyjny, którego celem jest zoptymalizowanie tylko do uruchomienia kilku konkretnych programów?

Od jakiegoś czasu pracuję z Arduino. Jeśli chodzi o wydajność, sensowne jest dla mnie, aby po prostu załadować określony zestaw poleceń i mieć sprzęt tylko do obsługi, a nie martwić się o uruchomienie pełnego systemu operacyjnego. Czy coś takiego można zrobić na Raspberry Pi?

golmschenk
źródło

Odpowiedzi:

7

Zadajesz dwie różne rzeczy. 1) Czy istnieje system operacyjny dla robotyki, i 2) Czy możliwe jest sterowanie sprzętowe na R-Pi bez konieczności manipulowania systemem operacyjnym. Jest to rodzaj fałszywej dychotomii, ponieważ system operacyjny jest zaletą, a nie kosztem, chyba że masz poważne ograniczenia mocy przetwarzania.

Mikrokontrolery (Arduino) są zaprojektowane do obsługi rzeczy krytycznych czasowo i zwykle tylko jednej lub dwóch rzeczy krytycznych czasowo. Doskonale nadają się do obracania kół itp. Jeśli chodzi o planowanie na wysokim poziomie, bardzo pomocny jest język / biblioteki wysokiego poziomu. Podobnie jak aplikacje wielowątkowe itp. W tym momencie wkracza twój system operacyjny. Bez dalszych szczegółów na temat twojego projektu nie mogę pomóc ci zdecydować, które najlepiej pasuje: Arduino lub R-Pi.

Aby odpowiedzieć 1: Tak, po prostu google wokół.

Aby odpowiedzieć 2: Tak, interfejsy sprzętowe IO są dostępne do kodowania interfejsów API. Ale potrzebujesz (chcesz) czegoś takiego:

Ty -> OS -> mikrokontroler -> sprzęt.

Zobacz tę doskonałą odpowiedź

Josh Vander Hook
źródło
Cześć Josh, jeśli chcesz link do odpowiedzi (lub pytania) najlepiej kliknąć link udostępniania poniżej tej odpowiedzi (lub pytania), ponieważ linki te są stałe. Adres URL użyty w linku „Ta doskonała odpowiedź” prowadzi do strony pytania i jest nieprzenośny, dlatego może się popsuć, jeśli zmieni się tytuł pytania. Zakładam, że zamiast tego odnosiłeś się do tej odpowiedzi .
Mark Booth
4

Z twojego pytania może Cię zainteresować RTOS dla mikrokontrolerów. Bardzo popularnym jest FreeRTOS , który najwyraźniej został przeniesiony do Raspberry Pi .

georgebrindeiro
źródło
0

Możesz użyć uproszczonego systemu Linux (bez X-Windowing i innych narzędzi graficznych, których robot może nie potrzebować). Raspian-Lite to jeden z takich systemów operacyjnych.

Następnie istnieje wiele szkieletów robotów, które będą działały na Raspberry Pi. Działają w systemie Linux.

ROS (Robot Operating System) to jeden z najpopularniejszych frameworków, ale także najbardziej skomplikowany do nauki. Jak nauczył się Peter Parker: Z wielką mocą przychodzi wielka krzywa uczenia się. :)

ROS jest napisany w C ++, ale można uzyskać do niego dostęp w wielu językach, w tym Java i Python.

Gobot . Jest to framework napisany w języku Go. Ma wiele czujników i płyt, o których zna platforma. Możesz umieścić główną inteligencję na dużym komputerze i użyć mniejszej płytki z połączeniem bezprzewodowym z robotem. Gobot ma siostrzane projekty (Artoo - używa Ruby, a Cylon.js - używa JavaScript).

Go to język podobny do C, dość łatwy w użyciu, stworzony przez Google. Myślę o tym jak o języku BASIC języka C (Go to C podobnie jak BASIC to Fortran). Kompiluje się bardzo szybko.

Zastanawiam się nad uruchomieniem portu Rust Gobota (Rust jest kolejnym językiem podobnym do języka C podobnym do Go, ale został zaprojektowany tak, aby był jak najbardziej bezpieczny dla typu. Wiele błędów wskaźnika wspólnych dla C / C ++ jest przechwytywanych przez kompilator Rust .

NomadMaker
źródło