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

undocumented AX-12 instructions

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

undocumented AX-12 instructions

Post by taiowa » Sun Jul 22, 2007 11:21 am

Post by taiowa
Sun Jul 22, 2007 11:21 am

Have you noticed there are few instructions in the C sample code which are not mentioned in the AX-12 manual?

The instruction are DIGITAL_RESET, SYSTEM_READ, SYSTEM_WRITE and SYNC_REG_WRITE.

Does anyone have more information about these commands? SYNC_REG_WRITE seems obvious.
SYSTEM_READ and SYSTEM_WRITE may have something to do with updating AX-12 firmware.
I have no idea what DIGITAL_RESET might be.

Has anyone used these instructions and any idea why they have been left out of the manual?
Have you noticed there are few instructions in the C sample code which are not mentioned in the AX-12 manual?

The instruction are DIGITAL_RESET, SYSTEM_READ, SYSTEM_WRITE and SYNC_REG_WRITE.

Does anyone have more information about these commands? SYNC_REG_WRITE seems obvious.
SYSTEM_READ and SYSTEM_WRITE may have something to do with updating AX-12 firmware.
I have no idea what DIGITAL_RESET might be.

Has anyone used these instructions and any idea why they have been left out of the manual?
taiowa
Newbie
Newbie
Posts: 3
Joined: Wed Jun 27, 2007 7:55 pm

Post by StuartL » Thu Aug 16, 2007 11:04 am

Post by StuartL
Thu Aug 16, 2007 11:04 am

Have you made any further progress on these instructions?

Might be interesting to do a system read of a dynamixel and see if you can get the code. If so can you then write a new version...

If so I'd be in heaven. I'm currently emulating torque control on the CM5. Being able to do that on the dynamixel would be superb...
Have you made any further progress on these instructions?

Might be interesting to do a system read of a dynamixel and see if you can get the code. If so can you then write a new version...

If so I'd be in heaven. I'm currently emulating torque control on the CM5. Being able to do that on the dynamixel would be superb...
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by Dewey » Thu Aug 16, 2007 11:56 am

Post by Dewey
Thu Aug 16, 2007 11:56 am

Stuart

What do you mean by emulating torque control on the CM5?

Below are my revamed CM5_Header.h and CM5_Primatives.c they use
some of the 'instructions' Taiowa talks about. So what are the extra facilities you/we want?

http://robosavvy.com/Builders/Dewey/BuildingBlocks.zip

Dewey
Stuart

What do you mean by emulating torque control on the CM5?

Below are my revamed CM5_Header.h and CM5_Primatives.c they use
some of the 'instructions' Taiowa talks about. So what are the extra facilities you/we want?

http://robosavvy.com/Builders/Dewey/BuildingBlocks.zip

Dewey
Dewey
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 78
Joined: Sat May 12, 2007 1:17 pm
Location: Worcester UK

Post by StuartL » Thu Aug 16, 2007 4:51 pm

Post by StuartL
Thu Aug 16, 2007 4:51 pm

One of the things I'm trying to do at the moment is get a servo to attempt to hold a specific torque rather than position. It's a dangerous game to play but it does mean I can dynamically balance on both legs because the servos self correct (i.e. lean) if the floor moves.

For example:

I work out that if the humanoid leans back ever so slightly the ankle servos are stressed to torque x. I then try to keep the servos at this torque setting by fiddling with their position.

Obviously trying to keep the servos at zero torque is ideal for some joints but it doesn't work for others (e.g. knees, ankles).

It's still very much WIP.
One of the things I'm trying to do at the moment is get a servo to attempt to hold a specific torque rather than position. It's a dangerous game to play but it does mean I can dynamically balance on both legs because the servos self correct (i.e. lean) if the floor moves.

For example:

I work out that if the humanoid leans back ever so slightly the ankle servos are stressed to torque x. I then try to keep the servos at this torque setting by fiddling with their position.

Obviously trying to keep the servos at zero torque is ideal for some joints but it doesn't work for others (e.g. knees, ankles).

It's still very much WIP.
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by StuartL » Mon Aug 20, 2007 1:06 pm

Post by StuartL
Mon Aug 20, 2007 1:06 pm

I just noticed (while answering another topic) that the BCP editor has an AX update menu item. I'm at work so couldn't try it out for real but it tries to connect to the CM5. I wonder if it uses those hidden SYSTEM_READ and SYSTEM_WRITE commands to update the firmware of the AX. If so then we may have a way of downloading and modifying the AX firmware. Anyone up for massively parallel robot processing? Or just changing the bus architecture...

:)
I just noticed (while answering another topic) that the BCP editor has an AX update menu item. I'm at work so couldn't try it out for real but it tries to connect to the CM5. I wonder if it uses those hidden SYSTEM_READ and SYSTEM_WRITE commands to update the firmware of the AX. If so then we may have a way of downloading and modifying the AX firmware. Anyone up for massively parallel robot processing? Or just changing the bus architecture...

:)
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by limor » Thu Aug 30, 2007 11:47 am

Post by limor
Thu Aug 30, 2007 11:47 am

The issue of reprogramming the AX12 servo has been raised here in the past. I think recalling that someone looked into the AX12 firmware file and it was encoded in some why to make it not trivial to just take a hex file and dump it onto the AX12 servo.

I'm all for replacing the AX12 code with something more useful for closed-loop control. take some ideas from openservo.org.
speed control, real current sensing, faster comms protocol etc. etc.
The issue of reprogramming the AX12 servo has been raised here in the past. I think recalling that someone looked into the AX12 firmware file and it was encoded in some why to make it not trivial to just take a hex file and dump it onto the AX12 servo.

I'm all for replacing the AX12 code with something more useful for closed-loop control. take some ideas from openservo.org.
speed control, real current sensing, faster comms protocol etc. etc.
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK


6 postsPage 1 of 1
6 postsPage 1 of 1