Ich weiß, dass dies eine umfassende Aussage ist, aber wenn Sie sowohl TCP als auch einen vollwertigen Computer an Bord unterstützen (um ein Arduino zu integrieren / auszuführen), lässt dies im Wesentlichen alles zu, was auf einer Linux-Box ausgeführt werden würde ( raspberryPi) um Ihren Roboter zu betreiben?
Ich weiß, dass die Taktrate sowie die Abhängigkeitsbibliotheken für eine bestimmte Codebasis (auf dem Pi) hier etwas Komplexität hinzufügen würden, aber was sind einige der großen Probleme, die ich in einem solchen vertikal integrierten Steuerungssystem übersehen habe?
Einfügen eines RaspberryPi in einen Roboter ... Ermöglicht dies eine "universelle API"?
software
arduino
raspberry-pi
Carl Crott
quelle
quelle
but
anstelle von...
.Antworten:
Die kurze Antwort lautet "Ja". Ich gehe davon aus, dass Sie eine Architektur beschreiben, die allgemein aussieht ;-) wie folgt:
Echtzeitsystem <--> Soft-Time-System
Dies ist eine sehr verbreitete Roboterarchitektur.
Das Echtzeitsystem (RTS) (z. B. ein Arduino mit entsprechender Firmware) übernimmt die Low-Level-Sensor-Farming (Konditionierung, Datenverpackung, -verwaltung und -routing), Energieverwaltung, Motorverwaltung und allgemeine E / A-Vorgänge .
Das Soft-Time-System (STS) (z. B. der von Ihnen erwähnte Raspberry Pi) ist ein leistungsfähigeres System, das für die Überwachung, Fernkommunikation und komplexere Aufgaben der Sensorintegration und -verarbeitung ausgelegt ist. Es befindet sich über dem RTS, das alle intensiven Timing-Details der Wellenformgenerierung und der lokalen Buskommunikation mit niedriger Geschwindigkeit verarbeitet, damit das STS die "härteren" Probleme lösen kann.
Natürlich ist dies eine große Übervereinfachung, aber ich denke, sie vermittelt die Kernideen.
Ich habe eine Reihe von wissenschaftlichen Arbeiten 1 2 über Roboterarchitektur geschrieben, wenn Sie mehr darüber erfahren möchten. Wenn Sie etwas Bestimmtes im Sinn haben, können Sie mir (oder der Community) gerne weitere Fragen stellen. ;-);
quelle
Um eine Antwort zu bieten, die (speziell) die Frage behandelt, wie ich sie verstehe, bietet das RaspberryPi (entweder als Teil der Standard-Pi-Distributionen, als Add-Ons oder kompilierbar aus dem Quellcode) so ziemlich alles, was das Linux-Betriebssystem bietet .
Für diejenigen, die nicht Teil der Distribution (oder der Repositorys) sind, gibt es jedoch aufgrund der spezifischen Hardwareplattform Portabilitätsprobleme.
Daher bin ich der Meinung, dass "Vielleicht" die Antwort ist ... aber ob ich einem Pi einen Roboter anvertrauen würde, ist eine ganz andere Frage.
Nachdem dies gesagt wurde, jetzt eine persönliche Meinung:
Ja, ich habe ein paar Pis, mit denen ich experimentiere, aber ich habe den Hype um den Raspie schnell durchbrochen. Ich bin zu dem Schluss gekommen, dass es sich um einen so allgemeinen Zweck handelt, dass es sich tatsächlich um eine Lösung handelt, die nach einem Problem sucht.
Als eingebettetes Prototyping-System ist man meiner bescheidenen Meinung nach mit einem Arduino oder einem PIC-Entwicklungskit besser dran.
quelle
"Ermöglicht dies im Wesentlichen, dass alles, was auf einer Linux-Box (raspberryPi) ausgeführt wird, Ihren Roboter ausführt und bedient?"
Ich bin ein Außenseiter, aber nach allem, was ich gehört habe, hat Rasberry Pi im Moment Probleme, ROS auszuführen. Ein Linux-Roboter, der ROS nicht ausführen kann, vermisst einen großen Teil der Community, und es fällt mir schwer, dies als "Zulassen von allem, was unter Linux ausgeführt wird" zu sehen.
Für mich ist der Zweck von ROS, Forschung / Entwicklung in einem bestimmten Bereich zu ermöglichen, ohne all die anderen Dinge, die bereits getan wurden, lernen / entwickeln zu müssen. Das ist der Geist von Open Source, das ist der Geist von Linux, das ist der Geist von ROS. Nur weil Sie dies nicht können, wird es nicht weniger zu einem Roboter, aber es macht die Gründe, es viel weniger zu verwenden, IMHO, und Ihre Frage zu beantworten.
Wäre es nicht eine viel bessere Wahl, einen nicht rasberyy pi-Computer mit Arduinos zu betreiben? Ist der Preis das eigentliche Problem? Und wenn ja, warum ist dann noch etwas wichtig? Ein süßer Name macht keinen niedlichen Roboter.
edit: kann mir jemand erklären was eine "universelle API" ist? Wie wäre es mit einem "vertikal integrierten Steuerungssystem"? Erklären Sie tatsächlich, wie dies überhaupt eine Frage ist, mit höheren Stimmen?
quelle