Einfügen eines RaspberryPi in einen Roboter… Ermöglicht dies eine „universelle API“?


7

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"?


1
Ich glaube, es ist ein grundlegendes StackExchange-Protokoll, wichtige Informationen aus Ihrem Titel im Hauptteil der Frage zu wiederholen. Auf diese Weise wird jemand wichtige Details nicht verpassen.
DrFriedParts


2
Ich bin ein wenig besorgt, dass innerhalb eines bestimmten Themas tatsächlich Shahbaz angesprochen wird. Ich hoffe nur, dass Sie nicht auf der Gehaltsliste von SO stehen, da dies buchstäblich so trivial ist, dass Sie es nicht einmal erwähnen sollten.
Carl Crott

Antworten:


10

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. ;-);


2
Ich habe die in der Industrie verwendeten Begriffe " Soft-Time" und " Hard-Time" noch nie gesehen. Ist das eine akademische Sache? In der Industrie verwenden wir in der Regel die Begriffe " weiche Echtzeit" und " harte Echtzeit" , wie sie auf der Wikipedia-Seite " Echtzeit-Computing " verwendet werden .
Mark Booth

@Mark - Ich ziehe eine noch breitere Schlussfolgerung ;-) Echtzeitsysteme haben Fristen; Soft-Time-Systeme nicht. Hard-RT, Firm-RT, Soft-RT sind Unterklassifizierungen von Echtzeitsystemen. Genau so zeichne ich in diesem Zusammenhang die Linien. Ich entschuldige mich für etwaige Verwirrung.
DrFriedParts

2

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.

Ermöglicht dies im Wesentlichen, dass alles, was auf einer Linux-Box (raspberryPi) ausgeführt wird, Ihren Roboter ausführt und bedient

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.


hahah, spätes Willkommen auf der Party. Sie haben den Teil verpasst, in dem Sie erwähnen sollten, dass die Eingangsspannung in Ausgangsspannung umgewandelt wird - dann erhalten Sie 8 oder mehr Upvotes! aber ja, das habe ich gesagt - hier nicht allzu beliebt.
Spiked3

Ich habe gerade die Chatroom-Debatte gefunden :( Ich hatte heute eine Debatte mit einem meiner Erwachsenen, der zu glauben schien, ein Pi sei für eine sicherheitskritische Anwendung geeignet ... ho hum!
Andrew

-2

"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?


Ich kann nicht sehen, wie Ihr Beitrag die Frage
anspricht

@thomasH Die Frage lautet zum Teil: "Ermöglicht dies im Wesentlichen, dass alles, was auf einer Linux-Box (raspberryPi) ausgeführt wird, Ihren Roboter ausführt und bedient?" der Community, und es würde mir schwer fallen, das als "Erlauben von allem, was unter Linux läuft" zu sehen. - Lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen. Und danke für Ihre hilfreichen Beiträge.
Spiked3

Das ist fair genug, ich habe diese Verbindung in Ordnung verpasst :-) Vielleicht lohnt es sich, Ihren Beitrag zu bearbeiten, um etwas wie "Im Prinzip ja, aber die Verwendung eines Pi könnte bedeuten, dass Sie ROS nicht ausführen können" zu sagen, um es ein bisschen offensichtlicher zu machen und Vielleicht einige dieser Abstimmungen rückgängig machen
ThomasH

Die Abstimmungen stammen von Leuten, die glauben, dass der Pi Nirvana darstellt und jede Kritik hassen. Je mehr ich mich damit beschäftige, desto mehr sehe ich keinen Grund, warum jemand einen Pi für irgendetwas in der Robotik verwenden würde. Ihre Gefühle sind mir wirklich egal, aber danke. Es tut mir leid, dass ich Ihnen gegenüber grob bin, aber ich dachte, der Zusammenhang sei leicht zu erkennen - und das Fehlen direkter Antworten auf meine Fragen zeigt, dass es sich eher um ein heikles Problem handelt und nicht wirklich um eine technische Diskussion.
Spiked3

2
Es sieht so aus, als wäre der Ton hier etwas persönlich geworden, aber ich möchte etwas daraus retten. @ Spiked3, was Sie über ROS sagen, ist wahr - es ist ziemlich mächtig - aber es geht nicht vollständig auf die Frage ein; das ist wahrscheinlich der Grund, warum die Abstimmungen abgegeben wurden. Die ursprüngliche Frage war jedoch schlecht geschrieben ("universelle API", was?); es wurde seitdem überarbeitet. Ich denke, wenn Sie die Frage vor der Beantwortung kommentiert hätten (um Klarheit zu erhalten), wäre Ihre Antwort besser aufgenommen worden. Ich hoffe, Sie werden weiterhin einen Beitrag leisten, denn Sie scheinen wertvolle Erfahrungen zu teilen.
Ian
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.