Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Problem with Dynamixel ID

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
6 postsPage 1 of 1
6 postsPage 1 of 1

Problem with Dynamixel ID

Post by bergere » Fri Jan 02, 2009 11:56 am

Post by bergere
Fri Jan 02, 2009 11:56 am

Hi again,

I bought the Bioloid Comprehensive Kit and do some funny stuff with it.
But the last time i´m using my robot, some engines doesn´t move anymore.
I change this engines but the robot do crazy things now (I use the same ID´s as before).

As i scan the robot for Dynamixels I found that the ID: FE (254?) was found but such a ID engine isnt connected. If i connect just 1 engine with ID 1 he found ID 1 and ID 254.

Maybe because of that my robot doesnt do what he should do ^^

Somebody else have this problem?

And another question. How many engines can i connect in a row without problems?
Hi again,

I bought the Bioloid Comprehensive Kit and do some funny stuff with it.
But the last time i´m using my robot, some engines doesn´t move anymore.
I change this engines but the robot do crazy things now (I use the same ID´s as before).

As i scan the robot for Dynamixels I found that the ID: FE (254?) was found but such a ID engine isnt connected. If i connect just 1 engine with ID 1 he found ID 1 and ID 254.

Maybe because of that my robot doesnt do what he should do ^^

Somebody else have this problem?

And another question. How many engines can i connect in a row without problems?
Für Fehler und Schrift haftet der Stift. Palim Palim
bergere
Savvy Roboteer
Savvy Roboteer
Posts: 28
Joined: Thu Nov 29, 2007 10:18 pm

Post by RandomMatt » Fri Jan 02, 2009 6:01 pm

Post by RandomMatt
Fri Jan 02, 2009 6:01 pm

All the servos respond to commands (packets) sent to ID 254. So, if you have a single servo wired up you would expect it to respond to its id as well as id 254.

So that's not your problem, my guess is that one of your servos has either its reply setting (byte 16) or its id (byte 3) corrupted. The first thing is easily fixed with a write to ID 254, so you'll end up setting the reply setting for all the connected servos. You can fix the id in the same way if you only have one servo connected at once (that way you don't need to know what its current id is).
All the servos respond to commands (packets) sent to ID 254. So, if you have a single servo wired up you would expect it to respond to its id as well as id 254.

So that's not your problem, my guess is that one of your servos has either its reply setting (byte 16) or its id (byte 3) corrupted. The first thing is easily fixed with a write to ID 254, so you'll end up setting the reply setting for all the connected servos. You can fix the id in the same way if you only have one servo connected at once (that way you don't need to know what its current id is).
RandomMatt
Savvy Roboteer
Savvy Roboteer
Posts: 117
Joined: Sat Dec 20, 2008 11:16 pm

Post by bergere » Sat Jan 03, 2009 10:38 am

Post by bergere
Sat Jan 03, 2009 10:38 am

The first thing is easily fixed with a write to ID 254


What should i write to ID 254 (FE)? (Remember this servo does not exist)
The first thing is easily fixed with a write to ID 254


What should i write to ID 254 (FE)? (Remember this servo does not exist)
Für Fehler und Schrift haftet der Stift. Palim Palim
bergere
Savvy Roboteer
Savvy Roboteer
Posts: 28
Joined: Thu Nov 29, 2007 10:18 pm

Post by RandomMatt » Sat Jan 03, 2009 12:15 pm

Post by RandomMatt
Sat Jan 03, 2009 12:15 pm

Have a look at example 1, pages 19 and 20, of the AX-12 Manual - http://robosavvy.com/site/docs/Bioloid/AX-12(english).pdf

My guess is that everything will become clear.

(Sorry about the URL, bbcode doesn't like URLs with brackets)
Have a look at example 1, pages 19 and 20, of the AX-12 Manual - http://robosavvy.com/site/docs/Bioloid/AX-12(english).pdf

My guess is that everything will become clear.

(Sorry about the URL, bbcode doesn't like URLs with brackets)
RandomMatt
Savvy Roboteer
Savvy Roboteer
Posts: 117
Joined: Sat Dec 20, 2008 11:16 pm

Post by bergere » Mon Jan 05, 2009 4:20 pm

Post by bergere
Mon Jan 05, 2009 4:20 pm

Mh ok.
Normaly i do not find the 0xFE ID because its the Broadcasting ID.
Maybe i find it because there is a circuit between the engines and the CM-5.

The documentation just say that this is the Broadcasting ID. Is it normal that this ID is found every time. I dont think so.
Mh ok.
Normaly i do not find the 0xFE ID because its the Broadcasting ID.
Maybe i find it because there is a circuit between the engines and the CM-5.

The documentation just say that this is the Broadcasting ID. Is it normal that this ID is found every time. I dont think so.
Für Fehler und Schrift haftet der Stift. Palim Palim
bergere
Savvy Roboteer
Savvy Roboteer
Posts: 28
Joined: Thu Nov 29, 2007 10:18 pm

Post by RandomMatt » Mon Jan 05, 2009 10:35 pm

Post by RandomMatt
Mon Jan 05, 2009 10:35 pm

I think the magic words are on page 23 (as part of example 3):
Regardless of whether the Broadcasting ID is used or the Status Return Level (Address 16) is 0, a Status Packet is always returned by the PING instruction.


So... my guess is that you are using a PING packet to poll the IDs in turn. In which case it all makes sense. But, you say your robot isn't working, so presumably one of your servos isn't quite right.

I suggest that you attach only a single servo to the bus, find out which servo it is (with a PING to ID 254) and repeat for all the servos (one at a time)...

    I suspect that you'll find one of them isn't the correct ID (if this is the case, you can have two servos responding to same packet - which causes chaos).

    Alternatively, if all of your servos appear to have the correct IDs using PINGs then your problem is likely to be that "Status Return Level".

    Another action you could take is soft-reseting the 'broken' servo (see example 4 in the manual) - but remember that it'll come back with ID=1.
I think the magic words are on page 23 (as part of example 3):
Regardless of whether the Broadcasting ID is used or the Status Return Level (Address 16) is 0, a Status Packet is always returned by the PING instruction.


So... my guess is that you are using a PING packet to poll the IDs in turn. In which case it all makes sense. But, you say your robot isn't working, so presumably one of your servos isn't quite right.

I suggest that you attach only a single servo to the bus, find out which servo it is (with a PING to ID 254) and repeat for all the servos (one at a time)...

    I suspect that you'll find one of them isn't the correct ID (if this is the case, you can have two servos responding to same packet - which causes chaos).

    Alternatively, if all of your servos appear to have the correct IDs using PINGs then your problem is likely to be that "Status Return Level".

    Another action you could take is soft-reseting the 'broken' servo (see example 4 in the manual) - but remember that it'll come back with ID=1.
RandomMatt
Savvy Roboteer
Savvy Roboteer
Posts: 117
Joined: Sat Dec 20, 2008 11:16 pm


6 postsPage 1 of 1
6 postsPage 1 of 1