[LINUX] Steuern Sie mehrere Roboter mit jupyter-lab

Crabs

Crabs

Einführung

Python wird häufig als KI-Entwicklungsumgebung verwendet. Besonders in der Entwicklungsumgebung gibt es viele Leute, die mit VS-Code, jupyter-lab, entwickeln. Ein weiteres Beispiel für eine KI-Anwendung ist die Robotik. Lassen Sie mich zuerst sagen, *** `` Robo ist die Romanze von Han [Mann] `***.

SBC Junky

SBC ist eine Abkürzung für Single Board Computer. Ich denke, es wäre schön, wenn Sie sich einen Raspeltorte oder ähnliches vorstellen könnten. Das ist bei mir der Fall, aber warum kaufst du nicht einfach einen neuen? Kaufen Sie es sofort mit einem geeigneten Grund wie "studieren" oder "Berühren Sie immer den neuen SoC of Arm!". Wenn das Budget am Ende der Laufzeit leicht überschüssig ist, habe ich das Gefühl: "Nun, sollte ich es kaufen!" Ich werde es tun, bis ich das Image auf SD brenne, aber danach muss ich es nicht mehr verwenden. Es ist nicht zu ausgereift zu kaufen, ohne langweilig zu sein, also werde ich mir eine plausible Regel setzen. "SoC und Betriebssystem mit 64 Bit oder mehr", "Größe entspricht Raspeye". Aus irgendeinem Grund schränke ich mein Budget jedoch nicht zu stark ein und kaufe einen relativ hohen SBC. Kürzlich hat Jetson-Nano ...

Anwendung und Betrieb

Zuerst werde ich Home-Automation und IoT so wie es ist studieren, aber die Verbreitung von SBC ist überwältigend schneller als die Einführung, und der Betrieb kann nicht mithalten. Am Ende: "Warum hast du so ein Board gekauft?" Ich habe es selbst gekauft ...

Was ist eine sinnvolle Skala?

Wenn der PoC eines Systems wie IoT erfolgreich ist, lautet das zweite Wort "Kann es skaliert werden?". Der Kontext ändert sich abhängig vom Verkauf, der Anzahl der eingeführten Einheiten, der Position des Verkaufs und der Beratung zu diesem Zeitpunkt, aber es ist Ihr Hautgefühl, dass dieses Wort nach PoC kommt. Lassen Sie uns aus irgendeinem Grund Ihren SBC aussagekräftig machen, wenn die Skalierung an erster Stelle steht und die "spekulative Ausführung" abgeschlossen ist. Das heißt, es macht keinen Sinn, nur einen Sensor an jeden SBC anzuschließen und ihn alle 50 cm im Korridor zu installieren, oder?

Also, Robo Army

Je mehr Spaß und Glück es macht, eine Armee zu bilden. Früher war es die Zeit der Frühlings- und Herbstkriegsstaaten, und in der Neuzeit ist es eine interne Fraktion. Die Seele ist erschüttert, wenn sie sich aus Individuen zusammensetzt, die voller Individualität sind. Die Robo-Armee, die aus verschiedenen SBCs besteht, kann diesen Kontext so verfolgen, wie er ist. Lassen Sie uns auch einen Sensor anbringen. Infrarot, Ultraviolett, Temperatur. Ein Raketenangriff, der von einem schweren Roboter gestartet wird, indem nach einem Roboter gesucht wird, der die Wärmequelle (Infrarot) erkennen kann. Es ist ein Ring, in dem sich Wahnvorstellungen ausbreiten.

BlockDiagram_wifi.png

Also, Jupiter-Labor

Endlich bin ich ins Jupyter-Labor gekommen. Ich denke, Sie kennen sich mit jupyter-lab besser aus als Sie, deshalb werde ich es nicht erklären. Nur das Anwendungsbeispiel wird kurz beschrieben. In einer Nussschale *** `Lassen Sie jeden Roboter den Jupyter-Lab-Dienst ausführen und steuern Sie ihn mit dem an den jeweiligen PC angeschlossenen Gamecontroller. `*** Lesen Sie dazu den Eingabewert des Gamecontrollers mit dem FrontEnd (PC) -Browser, übergeben Sie den Eingabewert an das Python-Skript, das auf jupter-lab ausgeführt wird, und lassen Sie Robo funktionieren.

Echtzeitsteuerung

Wenn es darum geht, eingebettete Systeme wie Robo zu steuern, kommt dieses Wort untrennbar heraus. Haben Sie keine Angst vor Missverständnissen, jedes System verfügt über eine Echtzeit-Steuerungskomponente. `Echtzeitsteuerung bedeutet, ob Echtzeit-Eigenschaft` eingerichtet ist. Was ist "Echtzeit-Eigenschaft"? *** Ist es betrieblich akzeptabel, die Operation innerhalb dieser Zeit auszuführen? Es wird ***. Dieses System ist eine dreifache Kombination, die mit `Linux, Client Server, Interpreter `weit von der Echtzeit entfernt ist.

Trade-off Wenn die zuvor erwähnte "Skala" die Geschichte nach PoC ist, ist "Kompromiss" ein Wort, das zum Zeitpunkt des Entwurfs, der Entwicklung und der Implementierung verwendet wird. Natürlich hat dieses System es auch. Ein typisches Beispiel ist das Abschneiden eines analogen Sticks. Die Lesegeschwindigkeit (Abtastrate) und die Anzahl der Ereignisse (Frequenz) des Analogsticks waren zu langsam. Ich kann nicht mit der Bewegungsgeschwindigkeit von Robo mithalten und ich kann sie nicht kontrollieren. Als Kompromiss besteht die einzige Möglichkeit, "Echtzeit" sicherzustellen, darin, die Abtastrate und -frequenz zu erhöhen oder die Bewegungsgeschwindigkeit von Robo zu verringern. Ersteres ist aufgrund der Systemkonfiguration nicht möglich, und letzteres ist nicht interessant zu verwenden.

Schließlich

Vielen Dank, dass Sie die Details des Projekts gelesen haben, in dem sich diese beiden Krankheiten herauskristallisiert haben. Während ich das System machte, verbreitete sich meine Täuschung. Ich habe es übrigens geschrieben, um Sie über den Beginn des Real Tam-Systems zu informieren.

Entwicklungsressourcen

[Build guide:] (https://gitlab.com/teamknox/groovy-quatro/-/wikis/Build-Guide:-Project-Crab-(Mecanum-Wheels-Rover)-in-Japanese) [Firmware:] (https://gitlab.com/teamknox/groovy-quatro) [Control software:] (https://gitlab.com/teamknox/q_rover/-/blob/master/teleoperationQ.ipynb) [Groovy-Quatro:] (http://www.omiya-giken.com/?page_id=3150)

Recommended Posts

Steuern Sie mehrere Roboter mit jupyter-lab
Mehrfachauswahl mit Jupyter
Kontrollieren Sie Skripte mit Ausnahmen
Web Scraping mit Python + JupyterLab
Multiple Regressionsanalyse mit Keras
Kontrollieren Sie die Fehlerformulierung mit Nginx
Ich habe COVID19_simulator mit JupyterLab erstellt
Animieren Sie mehrere Diagramme mit matplotlib
[ev3dev × Python] Steuerung mehrerer Motoren
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Starten Sie mehrere Instanzen in Postgresql 11.x.
Mehrere Seiten mit Beautiful Soup verschrotten
Laden Sie mehrere JavaScript-Dateien mit PyWebView
Legen Sie mit Apache + mod_wsgi mehrere WSGIPythonPath fest
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Animieren Sie mehrere Standbilder mit Python
Extrahieren Sie bestimmte mehrere Spalten mit Pandas
Wechseln Sie mit dem M5 Stick V zwischen mehreren Modellen
Versuchen Sie die Frequenzsteuerungssimulation mit Python
Extrahieren Sie mehrere Elemente mit dem Numpy-Array
Mehrfachintegration mit Python und Sympy
Beobachten Sie die TCP-Überlastungskontrolle mit ns-3
[Tkinter] Steuert Threads mit Ereignisobjekt
[Python] Erstellen mehrerer Fenster mit Tkinter
Invertiertes Pendel mit modellprädiktiver Steuerung