DSC Rpi Dynamixel board and ROS

Hallo Team,

das DSC-Board ist programmiert mit DSC_ROS. Im Rpi gibt es ein device ttyAMA0. Allerdings funktioniert die Verbindung offensichtlich nicht.
Nach dem Start von roscore und roslaunch servo_board dsc.launch meldet rosrun rosserial_python serial_node.py /dev/ttyAMA0:
Requesting topics…
[WARN] []: Last read step: None
[WARN] []: Run loop error: [Errno 25] Inappropriate ioctl for device

rostopic echo /diagnostics sagt:
header:
seq: 1
stamp:
secs: 1557130743
nsecs: 898130893
frame_id: ‘’
status:

level: 2
name: “rosserial_python”
message: “no sync with device”
hardware_id: ‘’
values:

key: “last sync”
value: “Mon May 6 10:18:41 2019”

key: “last sync lost”
value: “Mon May 6 10:19:03 2019”

was mache ich falsch?

Gruß

Marc

Hallo,

könnten Sie uns bitte noch weitere Informationen zu Ihrem weiteren Setup zukommen lassen, wie z.B.

  1. Welches RPi Image benutzen Sie?

  2. Welche ROS Version?

  3. Wurden die nicht automatisch mit installierten Arduino / Serial ROS packages mitinstalliert:

    sudo apt-get install ros-[VERSION]-rosserial-arduino
    sudo apt-get install ros-[VERSION]-rosserial

Erstellung des Workspaces

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://www.github.com/ros-drivers/rosserial.git
cd
catkin_make

Arduino Bibliotheken generieren

cd Sketchbook/libraries
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py .

Vielen Dank im Voraus.

Mit freundlichen Grüßen
Ihr Team von MYBOTSHOP :robot:

Hallo,

benutzt wird ein debian Image stretch, ROS kinetic, ROS funktioniert. Auch Rosserial wurde mit einem Arduino Uno getestet. Die Libraries wurden auch generiert und zur Übersetzung von DSC_ROS auf einen anderen debian stretch-Rechner übertragen. Auf dem DSC leuchtet eine rot und eine grüne LED. Was hat das zu bedeuten?
Wie kann ich das DSC_ROS auf dem DSC testen?

Gruß

Marc

Hallo Marc,

die Anleitung unter https://www.mybotshop.de/MYBOTSHOP-DSC-ROS-NODE wird derzeit überarbeitet bzw. mit Zusatzinformatione ergänzt, wurde jedoch bei Online-Stellung umfangreich getestet.

Kannst du bitte nach dem Start von ROS (roscore) zunächst die Verbindung zum DSC herstellen und nachfolgend den Puiblisher bzw. subscriber starten. Bedeutet, bitte folgende Befehle in der aufgeführten Reihenfolge eingeben:

  • roscore //Startet ROS - sofern nicht mit einer Routine bereits geschehen.
  • rosrun rosserial_python serial_node.py /dev/ttyAMA0 //Versionsabhängig muss mit folgendem Befehl ebenfalls die Verbindung aufgebaut werden
  • roslaunch servo_board dsc.launch //Startet ROS Node und baut je nach Version ebenfalls die UART Verbindung auf

Mit freundlichen Grüßen
MYBOTSHOP :robot:

Hallo,

leider bringt das Vertauschen von servo_board und serial_note nichts gleiche Situation.
lsof /dev/ttyAMA0 ergibt kein Ausgabe!
uname -a bringt übrigens folgendes:
4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux
Es hat wohl mal Syc-Probleme mit dem Kernel 4.4 gegeben. Ob die bei 4.14 noch vorhanden sind weiß ich nicht.

Was bedeuten den die beiden LEDs rot und grün?

Gruß

Marc

Hallo Marc,

deine Vermutung bezüglich des Fehlerhaften Kernels kann ich gerade nur schwer überprüfen - halte es jedoch für möglich.
Ich würde empfehlen ein etwas älteres Image von Ubiquity https://downloads.ubiquityrobotics.com/pi.html herunterzuladen und es damit nocheinmal zu testen. Ich würde zur Version vom 15.11.2018 oder 08.12.2018 tendieren

Die grüne LED ist lediglich eine StatusLED, dass das DSC ausreichend Spannung hat.
Die rote LED indiziert die Übermittlung der Daten an die Servomotoren. Immer wenn die LED leuchtet, werden Daten gesendet und wenn Sie aus ist, können Daten empfangen werden.

Mit freundlichen Grüßen
MYBOTSHOP :robot:

Hallo,

die rote LED leuchtet immer!
Vielleicht stimmt auch dort etwas nicht!
Ich werde es nochmal neu flashen.

Gruß

Marc

Hallo Marc,

es kann möglich sein, dass die LED so schnell blinkt, dass es nach einem durchgängigen leuchten Aussieht.

Mit freundlichen Grüßen
MYBOTSHOP :robot:

Hallo,

jetzt habe ich das ganze zum auf dem 2018-12-08-ubiquity-xenial-lxde-raspberry-pi zum laufen gebracht.
Kann es sein, dass es in Dynservo.h nicht
#include <Vector.h>
sondern
#include
heißen muss. Dann wird es ohne Fehlermeldung übersetzt
Es ist allerdings jetzt noch roter geworden:
rosrun rosserial_python serial_node.py /dev/ttyAMA0  
[INFO] [1557334829.598737]: ROS Serial Python Node
[INFO] [1557334829.621913]: Connecting to /dev/ttyAMA0 at 57600 baud
[ERROR] [1557334831.949443]: Creation of publisher failed: servo_board
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/opt/ros/kinetic/share
[ERROR] [1557334831.953272]: Creation of subscriber failed: servo_board

und

roslaunch servo_board dsc.launch
… logging to /home/ubuntu/.ros/log/6fb2d2b2-d0dc-11e5-9570-3f91fc59cc69/roslaunch-ubiquityrobot-14089.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubiquityrobot.local:46731/

SUMMARY

PARAMETERS

  • /rosdistro: kinetic
  • /rosversion: 1.12.14

NODES
 /
   servo_test (servo_board/servo_board_node)

ROS_MASTER_URI=http://ubiquityrobot.local:11311

process[servo_test-1]: started with pid [14106]
[ERROR] [1557335106.369924013]: Can’t find ‘/joints’ in the YAML configuration file.
[ERROR] [1557335106.375813806]: Can’t find ‘use_lib’ in the YAML configuration file.

Scheint nicht besser zu gehen.

ich denke, es ist ein Fehler in der Programmierung des dsc. Das die rote LED immer leuchtet kommt mir sehr komisch vor.

Gruß

Marc

Hallo,

ich glaube ich habe das Problem gelöst.
Ich benutze einen RPi 3. Dabei gibt es Änderungen bei der miniUART ist jetzt auf /dev/ttyS0 verfügbar.
Device /dev/ttyAMA0 ist für das Einloggen über eine Serielleschnittstelle und nicht mehr für das miniUART.

Gruß

Marc

Hallo Marc,

das freut mich überaus zu lesen.
Wir sind gerade dabei die Doku etwas aufzufrischen bzw. mit Zusatzinformationen zu versehen, um die Ersteinrichtung etwas komfotabler zu gestalten.

Darin werden wir dann auch die Info bzgl. den Schnittstellen der RPi Versionen erwähne :slight_smile:

Mit freundlichen Grüßen
MYBOTSHOP :robot: