Code Monkey home page Code Monkey logo

Comments (9)

LeonJung avatar LeonJung commented on July 26, 2024 1

Okay, it sounds like the issue was in the powering.
I'll try to connect more Dynamixels and check whether it makes the same problem.

You caught a great point. I will take updating this idea on the FAQ bulletin into account.

Thanks for all your contributions. :)

from dynamixelsdk.

LeonJung avatar LeonJung commented on July 26, 2024

Hi,
sorry for the inconvenience.

I need more details kinda environments, devices, hardware settings, software source code, if you don't mean, as much as you can give me, pictures,...

Occasional communication errors between the computer(or micro controller) and the Dynamixel can be occurred in various situations.

What kind of device are you using now?

from dynamixelsdk.

xiaobinisawesome avatar xiaobinisawesome commented on July 26, 2024

Thank you for your reply Leon. I use USB2dynamixel to command the MX64 from Matlab Win7. The power comes separately from a power supply. I am able to use sync_write to command 6 motor simultaneously. But when I try to read one motor position, it started to fail. The code is like this,

for loop
groupsyncwriteAddParam...
groupSyncWritePacket(group_num)
pause(0.005);
read2ByteTxRx(...) % only read one motor here
readResult = getLastTxRxResult(..)
pause(0.005);
end loop

The readResult sometimes is -3001 or -3002.

If I don't syncwrite, then the readresult is always success. If I syncwrite more motors, the readresult fails more frequently.

from dynamixelsdk.

LeonJung avatar LeonJung commented on July 26, 2024

Okay, I will see what happens here and tell you what to do :)

from dynamixelsdk.

LeonJung avatar LeonJung commented on July 26, 2024

Hello,
We will find the reason out as soon as possible.
By the way, if you want to do a simultaneous control, we everytime recommend user to use the sync/bulk functions, and in your case, the bulkread function is better than the normal read function.
See how the Dynamixels works in the Bulkread example.

from dynamixelsdk.

xiaobinisawesome avatar xiaobinisawesome commented on July 26, 2024

Thank you Leon. I tried Blukread before read2ByteTxRX. Same thing happened. Meanwhile I will try other things. I will also let you know if I find the problem. Thanks.

from dynamixelsdk.

xiaobinisawesome avatar xiaobinisawesome commented on July 26, 2024

Hi Leon, I happened to try my code on Ax12 motors. They worked with no problem. Would there be any fundamental differences between Ax12 and MX64 with respect to the reading?

from dynamixelsdk.

LeonJung avatar LeonJung commented on July 26, 2024

Hi,

I made the environments as nearly same as possible, and there was no results that you described.

  • WIN10
  • MATLAB 2016, but the source was developed in MATLAB 2012
  • DynamixelSDK which is available now
  • Five MX-64 Dynamixels
  • 12V-5A
  • USB2Dynamixel

heres film and source code

so check this and give me feedbacks :)

and,

basically the AX series and the MX series respond with same ones by read instruction packets. I think the MX that you have doesn't work well. Check the hardware status through the RoboPlusonce again.

from dynamixelsdk.

xiaobinisawesome avatar xiaobinisawesome commented on July 26, 2024

Thank you for your testing Leon! Based on your success, I started to trust the underlying code. So I checked the hardware very carefully. When I disconnected the 6th motor, the reading succeeded for the first 5 motors. Then I figured it was the problem with the wiring length. After I split the power and also the data wire from usb2dynamixel into two strands, one to ID 1,2,3 and the other to 4,5,6, everything works. Now I can use bulkread to read 6 motors within around 4 ms.

Thank you, appreciate your help.

from dynamixelsdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.