Dynamixel module Detection


#1

I tried to use this module but i’ve got some problems
I want to use Ergo-JR motors Dynamixel XL-320

First try GPIO + Dynamixel module
image
Jupyter answer

Then i try to plug my 6 motors poppy and the power supply 7.5V from ErgoJR Kit
Jupiter is bugging …

  • plug daisy chain ergoJR on Dynamixel module
  • plug power 7.5V on AC power plug module
  • plug usb module on computer


and no answer …

What is the problem ?


#2

Hi Luc

Your first try should display an output of GPIO and Dynamixel, not only GPIO, unless you didn’t plug any motor to the module, in which case it’s normal not to see the module after robot.modules.

You can try again your first architecture (GPIO + Dynamixel) with one motor plugged to the module, in order to check that the Dynamixel module is well recognized.

Be sure to respect the specific order of plugging-in the elements.
You should plug the system in this order:

  • Dynamixel motor to Dynamixel module
  • Power-plug module to Dynamixel module
  • 7.5 V AC to Power-plug module
  • USB module to the previous system
  • USB cable to USB module

More details on this page: https://www.luos-robotics.com/en/documentation/dxl/


#3

Hi Simon
OK I understand now.
The Dynamixel module is well seen if there is only one motor on the bus.

But when i make the same operation with 2, or more motors (Ergo_JR has 6 motors on a daisy chain) …robot = Robot(‘COM4’) or robot.modules don’t answer.

Do i need ONE Dynamixel module per motor ?


#4

Hi Luc,

Today it seems that a chain of motors won’t work with this module. I’ll let you have more information next week after we discuss of that matter, my colleague and I.


#5

Hi @Luc,

I think you have multiple bugs during your tests :

  • The daisy chain bug with XL320 is a bug. you should see one modules per module appear on the list. I will try to fix this bug this week, I will let you know about this one as soon as I fix it.
  • Your modules seems to have bad names on your last post. If your modules only have number as name, you can’t control it using python. This is because an object can’t be named as a number on python. This is a known bug, and we think this can happen when the network take power spike. We don’t figure it out yet but we filter the name saving on modules to reject numbers only names. To fix it you have to erase the saved name and update your module to the latest revision to avoid this to happen again. To keep it simple for you I will make a new revision that erase the name if it’s a wrong one on your module. This way you will just have to update your modules to the latest revision and you should be able to use it again.

I keep you in touch by the end of the day.


#6

@Luc,

I just push a new release of modules for you. This new release should fix your name issue.
You can update your modules firmware following this documentation page : https://www.luos-robotics.com/en/documentation/module-upgrade/

Let me know if you experience any other issue or observation concerning module naming.


#7

I try to reproduce your bug with XL320 motors of a Poppy ergo Jr. I have few Ergo Jr here so I just try to use it with a DXL module.

When I plug the motor chain I can see :


(the {'detection': {}} thing is due to my debug version of Pyluos, don’t take care of this)

I only can see 5 of them and this is because Robus is configured to limit virtual modules to 5. I just change this limit to 20 and now I can se 6 motors :

Now I also can have more than 6 motors :

I try to use the power supply given with the Poppy Ergo Jr kit and I experience some trouble with the connection. I don’t exactly know why but the contact in the power jack seems to be a little bit random… When I move my setup without USB connected I can see my motor rebooting sometimes.

Do you have the same issue with your power supply?
If not you can try to update your module with the Dynamixel_V2_0.0.4.bin and try again. With this revision you should see 5 of your 6 motors. If this test succeed, I will release a new version of the Dynamixel allowing more motors so you should be able to use it with your Poppy Ergo Jr.


#8

HI @ Nico

I’ve tried to update the firmaware for my 6 cards
2 USB, 2 GPIO & 2 Dynamixel

One USB is impossible to update. It’s not recognise by usb

Then I use the udated USB for the test
First try

You can observe the command robot.module.firmware_revision
as explained on site doesn’t work.
robot.module.firmwares_revision does’nt work to.

The test with 2 module GPIO is OK

The test with One motor is OK

The test with One motor & One GPIO is OK

During the test with 6 motors, only 5 five of them are seen
image

The test with 4 motors and 1 GPIO is OK
image

The test with 4 motors and 2 GPIO is OK
image

The test with 5 motors and 2 GPIO is OK
image

As a last test i use my “bad USB card”
The same test with 5 motors and 2 GPIO is OK
image

So it’s quite good now but

  • only 5 motors can be connected on the daisy chain
  • there is a bug on the command “robot.module.firmware_revision”

& One of my USB card is’nt update able …?


#9

Hi Luc,

Could you please describe what happens exactly when you try to upgrade this board?
Did you plug the cable at right side of the board? As there are two micro-USB on this module, you must plug the one on the face where LUOS is written.


#10

Great news, as I said previously it’s normal, it’s because Robus doesn’t allow more than 5 virtual modules on a physical modules, so your Dynamixel module can’t host more than 5 virtual modules XL320. This is just a parameter on the firmware.
I just make you a new release for your Dynamixel module allowing 20 motors : Dynamixel_V2_0.0.5


#11

I think you misunderstand the documentation, you have to change the word “modules” by the name of the module that you want to have the firmware revision.
In your case you should do :
robot.my_dxl_1.firmware_revision

I will make it more precise on the documentation, thank’s to pointing that.


#12

Hi Simon,
As you can read it in my last message i have tried to upgrade my 6 modules 2 GPIO & 2 Dynamixel and 2 of them are USB module
The first one is ok,
For the second it’seems it’s not recognised by the PC neither the software

As i said the two modules are ok for use but only one is upgradable.
I think there is an hardware problem on it ?


#13

HI Nico
With the Dynamixel_V2_0.0.5 version
With ErgoJR and its 6 DXL i’v got
image
Which is very nice

but if i add the GPIO module i’ve got
image
One motor is missing ! Wich is not so nice !:slight_smile:


#14

Ok but with command i’ve got
image
wich is not really usefull


#15

@Luc I will try to fix your first bug first, which is more complicated I think.
I try to reproduce it here but I only have 3 XL320 available for now.

I have something strange behavior but a little bit different than yours.
If I make a network with 3 xl320 and a GPIO module, Pyluos can see only motor 2 and 3, Gpio module and Motor 1 doesn’t appear. If I try to re-detect without unplug the network I finally can see motor 1 and Gpio module but with a strange name.

So it’s sounds like your problem come from the auto-naming feature which seems to be really buggy (one of your previous bug come from this one too). So I try to disable this feature as suggested by @Didbo to see if the bug disappear.
With this feature disable I have the same issue the first time but the second time modules seems to have a good name. So we have 2 different bug who seems to be linked because the 2 missing modules having trouble with name too.
It could be a tough bug, I will dig it deeper, and keep you in touch as soon as possible.


#17

@Luc I just push a new release that should fix your problem with module detection.

Thank’s a lot, you give me a way to reproduce a really random bug!

The problem come from the power jack, when you plug it the power on the network is REALLY noisy and can make switch random modules into specific mode named “detection_mode”.

I had to broke compatibility a bit to fix this one, that’s why all firmware have switch to 0.1.0.

You have to update all your modules to avoid any compatibility trouble.

Let me know your results after updating.


#18

@Nico &@Simon

I’m happy to show you this screenshot :slight_smile:
image
I’ve got it with the new usb module(called by me U3) you sent me today. I can see my 6 motors !

But …with the usbmodule (called by me U2) i’ve updated with Usb_0.1.0.bin.zip

image
it’s not so good !

Since i ve updated all the module with some success, i suggest :

  • you didn’t use the same file for your usb module (U3)
  • my second usb module(U2) have a bug ? (remember there was a hard bug on my usb module(called by me U1) wihich was impossible to detect on USB port to update it)

#19

This is strange! From my point of view this bug can’t be hardware, as you mention I think the firmware on your module U2 is different from the module U3.
Sadly For now it’s not possible to get the firmware revision of gates…

@Simon can you try to flash an USB module using 0.1.0 revision on Windows and test it?


#20

Yes, @Luc we are going to proceed to some tests on our side.


#21

@Luc We received your USB module that can’t be upgraded. A component just had fallen from the PCB I replace this missing component and the module come back.
This seems to be a production Issue.