ROBOTIS-GIT / DynamixelSDK

ROBOTIS Dynamixel SDK (Protocol1.0/2.0)
http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/
Apache License 2.0
466 stars 412 forks source link

Ping example - [TxRxResult] There is no status packet! #538

Closed ghost closed 3 years ago

ghost commented 3 years ago

ISSUE TEMPLATE ver. 1.2.0

  1. Which DYNAMIXEL SDK version do you use?

    • 3.7.51
  2. Which programming language/tool do you use?

    • C++
  3. Which operating system do you use?

    • Linux x64: ZorinOS (based on Ubuntu 20.04.3 LTS)
  4. Which USB serial converter do you use?

    • OpenCR
  5. Which DYNAMIXEL do you use?

    • XH540-W270T
  6. Have you searched the issue from the closed issue threads?

    • Yes, but I didn't find any clear solution to my issue. Issues were closed with providing help.
  7. Please describe the issue in detail

    • I'm trying to control a Dynamixel motor XH540-W270T with an OpenCR board and using the DynamixelSDK for the software part. I managed to communicate very well with the motor when using ArduinoIDE with the ping and scan examples. The motor even moved as expected using the position example.

    But when I try to do the exact same thing with the C++ examples in DynamixelSDK, I always get the following output:

    Succeeded to open the port!
    Succeeded to change the baudrate!
    [TxRxResult] There is no status packet!

    More information:

    • I use Protocol 2.
    • The motor is connected with TTL and is properly powered. I made sure that it has the correct ID.
    • Everything went well during the build of the SDK libraries.
    • I also tried the examples with Python, but I have the same result.

Do you have any idea of what could go wrong in my case?

Thanks.

ROBOTIS-Will commented 3 years ago

Hi @t-furst-kinetic

The OpenCR is not an official USB-serial converter like U2D2. You may use Arduino sketch to run DYNAMIXEL directly from the OpenCR, but in order to use the OpenCR as a communication interface between DYNAMIXEL and PC, you should upload the usb_to_dxl Arduino sketch. This sketch will relay packets between DYNAMIXEL and USB ports with some limitations.

Thanks!

ghost commented 3 years ago

Hi @ROBOTIS-Will

Thank you very much. That was the info I was missing.