Announcement

Collapse
No announcement yet.

Robotino Factory API2 Daten leer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Robotino Factory API2 Daten leer

    Hallo zusammen,

    wir machen gerade ein Schulprojekt über Autonomes fahren des Robotino.

    Der Zugriff über die API2 funktioniert soweit, in der RobotinoFactory haben wir eine Karte des Raums erstellt.Die Factory ist auch auf den Robotiono installiert.

    Das Abrufen der Factory Daten über API2 funktioniert leider nicht. Wir bekommen immer nur Nullwerte durch die Schnittstellen der Factory zurück, sehen aber in der Factory die korrekten Daten. wie greifen wir die Daten aus der Factory in C++ ab?

    Vielen Dank für eure Hilfe

  • #2

    class MyFactory4 : public rec::robotino::api2::Factory4
    void smartlocationsEvent(const char* data, const unsigned int dataSize); und wenn Du auf dem Com Object processEvents() aufrufst, dann bekommst Du ein json-Dokument in smartlocationsEvent geliefert.

    Comment


    • #3
      Danke für die schnelle Antwort.
      Verstehe ich das richtig?
      Wir rufen auf dem Com objekt processEvents() auf, das dann void smartlocationsEvent(const char* data, const unsigned int dataSize) aufruft mit dem json-document als Übergabeparameter?
      Dazu müssten wir dann die smartLocationsEvent Funktion irgendwo für unsere Zwecke definieren, richtig?
      Falls ich das immernoch falsch verstehen, wäre ein kleines Code-Beispiel oder ähnliches sehr hilfreich, wir sind leider nicht sehr erfahren mit C++/Events.
      Vielen Dank für die Hilfe

      Comment


      • #4
        Anbei haben wir einen Screenshot von unseren Codebeispiel, da wir leider nicht wirklich wissen wie wir es implementieren müssen.

        Wir bauen unseren Code auf dem wallfallowing example das bei der API2 mitgeliefert wurde auf. Es ist Firmware 3.1.5-smartsoft-2.3.3 installiert

        Vielen Dank.
        Last edited by Bins_Net; 01-09-2020, 12:26 PM.

        Comment


        • #5
          Schau auch mal hier https://wiki.openrobotino.org/index.php?title=API2

          processEvents muss natürlich immer wieder aufgerufen werden und zwar nachdem die Verbindung zum Robotino aufgebaut wurde.

          Comment


          • #6
            Wir haben jetzt noch ein bisschen herumprobiert sind aber immer noch nicht auf ein Ergebnis gekommen. Wir haben die Klasse Factory4 angelegt (siehe Anhang), um die SmartLocationEvent Funktion zu nutzen. Wir rufen die processEvents auch nach Aufbau der Verbindung mit dem Robotino auf. Das Problem ist, dass die Funktion SmartLocationEvent nicht aufgerufen wird. Da wir uns mit C++ nicht so gut auskennen tun wir uns schwer.
            Attached Files

            Comment


            • #7
              Mit kleinen Code Schnipseln kann ich nichts anfangen. Ich muss mal das ganze Programm sehen.

              Comment


              • #8
                Anbei unser Programm als txt-Format. Es geht uns nur darum, Positionsdaten auszugeben.
                Attached Files

                Comment


                • #9
                  Alles richtig. Allerdings sind die smartlocations die in der Karte gespeicherten Zielpositionen. Ihr wollt aber vermutlich die Position des Roboters. Da nehmt Ihr die API2 Pose Klasse.

                  Comment


                  • #10
                    Vielen Dank dafür! Das waren die Daten die wir gesucht haben.

                    Eine Frage hätte ich dann noch. Bei uns ist aktuell
                    3.1.5-smartsoft-2.3.3
                    installiert.

                    In den Webinterface wird mir kein Menüpunkt der Factory4 angezeigt, es gibt aber Versionen in denen dieser vorhanden ist. Gibt es die Möglichkeit diese zu enablen bzw. wenn nicht,. welche Version müsste ich dazu installieren?
                    Attached Files

                    Comment


                    • #11
                      Das ist ja uralt. Bitte immer nur das neuste Image verwenden. Z.Zt. robotino4-4.0.8-smartsoft-2.4.7 Da wird im Zusammenhang mit der Factory viel dran entwickelt und die aktuellen Robotino Factory Programme laufen nur mit dem aktuellen Image.

                      Comment


                      • #12
                        Wir hatten die Version robotino4-4.0.8-smartsoft-2.4.7 installiert. Leider funktioniert die AccessPoint Funktion darunter nicht. Gibt es da Probleme? Wir haben den TP-Link TL-WNT22N Wlan Stick.

                        Manuell kann ich den Accesspoint nach dem Anschalten starten, aber das ist ja nicht Sinn der Sache. Ich habe ihn auch wie gewohnt als "master" in dem Webinterface konfiguriert, hatte leider auch nicht geholfen. Wenn ich den Reset-Knopf am Robotino drücke wird der WLAN-Stick garnichtmehr erkannt und ich musste die Version neu installieren um das Problem zu beheben.

                        Bei der Hardware handelt es sich um einen RobotinoV3.

                        Haben Sie eine alternative Versionsempfehlung die ich installieren kann?

                        Comment


                        • #13
                          Die USB Wlan Sticks werden nicht mehr benutzt. Auf Robotino sitzt jetzt ein TP-Link AC750. Das einfachste wäre, Sie kaufen so ein Ding. Alternativ kann man unter Ubuntu den USB Wlan Adapter mit einem Wlan-Netzwerk verbinden.

                          Comment


                          • #14
                            Hallo,

                            wir haben jetzt auf den Robotino die Version robotino4-4.0.8-smartsoft-2.4.7 installiert. Dazu haben wir den TP-Link-AC750 bestellt.
                            Wir haben noch folgenden Befehl ausgeführt damit sich der Robotino nicht sofort herunterfährt wenn man den Bildschirm trennt:

                            > Change Lid Close Action
                            > echo "HandleLidSwitch=ignore" >> /etc/systemd/logind.conf
                            > systemctl restart systemd-logind.service

                            Es funktioniert soweit nur folgendes Problem haben wir jetzt:

                            Wir können mit der Robotino Factory keine Landkarte erstellen. Wir können uns mit den Robotino über die Factory verbinden, können ihn Steuern aber unter create new map macht er keine Aufzeichnungen der Karte. Der Laserscanner funktioniert in der Factory. Speichern der Karte funktioniert leider auch nicht. Haben Sie eine idee?

                            Anbei ein Screenshot un das Verhalten besser darstellen zu können. Es wurden diverse Factory Versionen probiert. Das Verhalten ist leider überall identisch.

                            Comment


                            • #15
                              bzw. müssen wir evtl. in der Robotino smartstoft_master.conf bzw. in der Robotino smartsoft_slave.conf etwas konfigurieren?

                              Comment

                              Working...
                              X