Vous demandez deux choses différentes. 1) Y a-t-il un système d'exploitation spécifique à la robotique, et 2) Est-il possible de faire un contrôle au niveau matériel sur un R-Pi sans déconner avec un système d'exploitation. Il s'agit en quelque sorte d'une fausse dichotomie, car un système d'exploitation est un avantage, pas un coût, à moins que vous ne soyez sévèrement contraint pour la puissance de traitement.
Les microcontrôleurs (Arduino) sont conçus pour gérer des choses critiques en temps et généralement seulement une ou deux choses critiques en temps. Ils sont parfaits pour faire tourner les roues, etc. En ce qui concerne la planification de haut niveau, un langage / bibliothèques de haut niveau sont très utiles. Tout comme les applications multithreads, etc. C'est là que votre système d'exploitation entre en jeu. Sans plus de détails sur votre projet, je ne peux pas vous aider à décider quelle est la meilleure solution: Arduino ou R-Pi.
Pour répondre 1: Oui, faites simplement une recherche sur Google.
Pour répondre 2: Oui, les interfaces matérielles IO sont disponibles pour coder les API. Mais vous aurez besoin de (vouloir) quelque chose comme ceci:
Vous -> OS -> microcontrôleur -> matériel.
Voir cette excellente réponse
Josh Vander Hook
la source
D'après votre question, ce qui pourrait vous intéresser, c'est un RTOS pour microcontrôleurs. Un très populaire est FreeRTOS , qui a apparemment été porté sur Raspberry Pi .
la source
Vous pouvez utiliser un Linux simplifié (sans X-Windowing et d'autres utilitaires graphiques dont un robot peut ne pas avoir besoin). Raspian-Lite est l'un de ces systèmes d'exploitation.
Ensuite, il existe un certain nombre de cadres de robot qui fonctionneront sur le Raspberry Pi. Ils fonctionnent sous le système d'exploitation Linux.
ROS (le Robot Operating System) est l'un des frameworks les plus populaires, mais aussi le plus compliqué à apprendre. Comme Peter Parker l'a appris: Avec Great Power vient une grande courbe d'apprentissage. :)
ROS est écrit en C ++, mais est accessible dans un certain nombre de langages, dont Java et Python.
Gobot . Il s'agit d'un framework écrit dans le langage Go. Il possède un certain nombre de capteurs et de cartes que le framework connaît. Vous pouvez mettre l'intelligence principale sur un grand ordinateur et utiliser une carte plus petite avec une connexion sans fil sur le robot. Gobot a des projets frères (Artoo - utilise Ruby et Cylon.js - utilise JavaScript).
Go est un langage de type C assez facile à utiliser, créé par Google. Je pense à lui comme BASIC de C (Aller à C comme BASIC est à Fortran). Il se compile très rapidement.
Je pense à démarrer un port Rust de Gobot (Rust est encore un autre langage de type C similaire à Go, mais il a été conçu pour être aussi sûr que possible. De nombreuses erreurs de pointeur communes à C / C ++ sont détectées par le compilateur Rust .
la source