[PYTHON] Machen Sie PLEN Control Server kompatibel mit ViVi PLEN2

Früher habe ich ViVi PLEN direkt mit einem Befehl über TCP-Kommunikation kalibriert, aber es war so verwirrend, dass ich versucht habe, zu prüfen, ob dies mit einem echten PLEN Control Server möglich ist. Es gab einige Versuche und Irrtümer, aber ich habe es geschafft, es zum Laufen zu bringen, also habe ich es aufgezeichnet.

Was ist PLEN Control Server: PLEN2 verwendet die serielle BlueTooth-Kommunikation für die drahtlose Kommunikation. Es scheint jedoch, dass die Anwendungsentwicklung erleichtert werden kann, indem die Kommunikation durchgeführt wird und als Webserver fungiert.

Es gibt zwei Typen, die Anwendungsversion und die Python-Version, aber die Anwendungsversion funktioniert natürlich nicht. Also habe ich die Python-Version von Github gelöscht und mir den Inhalt angesehen. https://github.com/plenprojectcompany/plen-ControlServer

Wenn ich die folgenden drei Punkte korrigiere, funktioniert dies vorerst.

  1. Ich habe nach dem Gerät 'Arduino Micro' gesucht und eine Verbindung hergestellt, um die serielle Kommunikation zwischen dem Steuerungsserver und PLEN2 herzustellen. Da die Verbindung mit ViVi Plen eine kabelgebundene serielle Verbindung ist, lautet der Rückgabewert (in meiner Umgebung) "COM3".
  2. Die Einstellung der Kommunikationsgeschwindigkeit wird nicht automatisch angepasst. Es wurde um 115200 entschieden.
  3. Der Unterschied, der anscheinend darauf zurückzuführen ist, dass meine Entwicklungsumgebung Python3 war, wurde behoben. Syntax drucken In Str geändert, da der für Serial.write () angegebene Wert einen Fehler in UTF auslöst. Serial.write (str.encode ())

Hier tritt jedoch ein Problem auf. Das aktuelle PLEN2 und ViVi PLEN scheinen unterschiedliche Basisversionen zu haben, und ich konnte nicht einmal versuchen, ViVi zum Herunterladen der Bewegungsdatei zu bewegen.

Ziehen Sie in Betracht, den relevanten Teil der PLEN2-Farm auf ViVi PLEN zu portieren.

Nachtrag 2020/05/10 ViVi PLEN behandelt Bewegungsdateien als SPIFFS-Dateien. Da 2 MB verwendet werden und andere Dateien insgesamt 8 KB verwenden, müssen 3 MB FS in den Arduino IDE-Einstellungen gesichert werden.

Nachtrag 2020/05/16 firmware.ino Die Zuordnung zu m_header_tmp in void setMotionHeader () wurde geändert, um dem Original zu entsprechen

Protocol.cpp 30, // MOTION HEADER Zu 35, // MOTION HEADER ändern

JointController.cpp Gemäß der Montageanleitung stimmten die Stiftposition und die Servoposition nicht überein const unsigned char servo_map[PLEN2::JointController::SUM] = {16, 7, 6, 5, 4, 3, 2, 1, 0, 18, 19, 20, 17, 8, 9, 10, 11, 12, 13, 14, 15, 21, 22, 23}; Tauschen Sie den 3. und 4. Wert von const unsigned char servo_map[PLEN2::JointController::SUM] = {16, 7, 5, 6, 4, 3, 2, 1, 0, 18, 19, 20, 17, 8, 9, 10, 11, 12, 13, 14, 15, 21, 22, 23};

Jetzt sind der PLEN Control Server und ViVi seriell verbunden.

Recommended Posts

Machen Sie PLEN Control Server kompatibel mit ViVi PLEN2
Machen Sie den Computerserver mit LTSP plattenlos
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
Machen Sie pyautogui [super-geeignet] kompatibel mit Multi-Display-Umgebung Teil2
Machen Sie pyautogui [super-geeignet] kompatibel mit der Multi-Display-Umgebung Teil1
So erstellen Sie einen HTTPS-Server mit Go / Gin
TFTP-Server mit Docker
Bilden Sie Lambda-Schichten mit Lambda
Machen Sie eine Yuma mit Discord.py
Proxyserver mit Docker
Erstellen Sie Folien mit iPython
Lokaler Server mit Python
Kontrollieren Sie Skripte mit Ausnahmen