USA
Asked — Edited

Sudo'S Guide To Dynamixels

PLEASE NOTE: THIS GUIDE IS OUTDATED. BADLY. (remind me later to fix this and spiff it up a bit, please)

So, you finally have your EZ-B v4. You love it already, and you're ready to hook this baby up to some sort of Dynamixel powered creation. You go to plug everything in, and - wait. You have no idea how to set those Dynamixels up.

Well, I do, and I'll show you how.

SECTION 1: GETTING TO KNOW DYNAMIXELS User-inserted image

Dynamixels are intelligent servos that can track not only position, but temperature, speed, and load. The servo can automagically shut itself of incase of a failure. These servos are also incredibly strong. But there's one feature in particular that is useful, but at the same time a little hard to wrap your head around. In this section, we will cover daisy chaining and other features of the AX-12A Dynamixel; however, most of the servos in the Dynamixel family work exactly alike, so this guide can help you with most models.

User-inserted image

On the back of all of your Dynamixels, you will notice a couple things. A place for a bolt, a light, two wire ports, and the ID. Lets go over all of them so you know what they do:

Light - Blinks once when turning on. If the light is flashing, there is a failure of some sort.

Screw hole - Allows you to attach the Dynamixel to a bracket.

Wire ports - Allows you to connect to other Dynamixels, in a long strand of servos, both to and from other Dynamixels. This means both ports work the same way, which means it doesn't matter which side is plugged in. (see image below)

ID - What the EZ-B and ARC address the Dynamixel as.

User-inserted image

PART 2: CONNECTING YOUR DYNAMIXELS TO THE EZ-B

All Dynamixels must plug into port D5 in order to properly work. This means that all of your Dynamixels must plug into one port. If you have more than one strand of connectable Dynamixels, you will have to use a Dynamixel splitter hub, like this one here:

User-inserted image

You can either run a cable to the EZ-B via a power base or via the powered splitter. I advise that you use only one, as using both at once can brown out the EZ-B.

Q: So, now that that's done, what power supply do I use? Mains or a battery pack?

User-inserted image

A: Both will work just fine. Just make sure you have an adequate power supply at around 10v.

"But wait!" you scream. "Dynamixels can run at 9v-12v! Why 10v?"

Because voltage is gradually lost over time depending on how many servos you're running at once, as well as when the EZ-B is powered on. The more servos you have, the higher you should up your voltage to get a steady 10v overall.

So, if you have power running to the EZ-B, Dynamixels set up to port D5 (as well as the optional splitter) you should have something resembling this:

User-inserted image

Now that you're powered on, lets move into ARC and get your Dynamixels running.

PART 3: OPERATING THE DYNAMIXELS WITH ARC

Connect to your EZ-B as usual (We won't be covering connections in this guide). Bring up a servo control panel and go to the servo configuration screen as shown below.

User-inserted image

Click the Dynamixel box and scroll down until you see the ID of the Dynamixel you want to move (the ID on the back of the servo). In this demonstration, we'll be selecting Dynamixel AX18.

User-inserted image

Select it and save the configuration. Congrats, you just set up your first Dynamixel in ARC! It should operate just like a normal servo. This applies to all servo control functions.

PART 4 (EXTRA): ASSIGNING A NEW ID TO BLANK SERVOS

When you buy a Dynamixel that doesn't come in the kit, the ID sticker will sometimes be blank, which means it hasn't be assigned a "real" ID. However, a tool in ARC can give Dynamixels a new ID.

First, open up the Dynamixel Config. control in ARC. You should see something similar to this:

User-inserted image

All blank servos are assigned ID 1. If you have a dynamixel with the ID 1 already, remove it before you proceed. Simply choose the new ID you want (in this case, AX18) and press execute. ARC will assign it a new ID. That's it, you're done! You can also write the ID on the blank tag if so desired.

GUIDE LAST UPDATED: 12/9/2014


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

#1  

Sudo,

Thanks a lot buddy. You are the inspiration I need to attempt my EZ-B4 Bioloid or "EZ-Loid". Please, keep up the good work.

Now, go work on your drawing skills. (Kidding of course.)

#2  

Thanks, ill be adding onto it as fast as I can draw the diagrams :D

PRO
Belgium
#3  

very interesting sudo

so you can use the adaptor&batt from bioloid itself.

#4  

Well, kind of. Really, any kind of LiPo battery works, but as the case is with the bioloid battery you'll need to chop off the end that plugs into the robot and splice it into a barrel jack or something similar.

#5  

Nice wright up so far @Sudo. Interesting drawings. I like the cartoon feel and look and I can tell you took a lot of time drawing them. There a nice addition to you article and kept my interest. I wonder though if a tutorial shouldn't include at least some actual pictures of the products for reference. It's a little confusing (for me at least) to understand were to plug things in and where things are located your talking about.

One question, are these servos controlled by serial commands? if so do you have a list of commands and examples of how to send them through ARC? If not do EZ Script commands and the EZ Controls for servos work for these servos? IN other wards, how do you control them through ARC?

#6  

They work just like normal servos once they're connected. I'll add some real pictures as well as clarify that these act like normal servos later tonight when I add some stuff :D

#7  

So in the EZ Script control under "Script Help" there are two sections called:

Dynamixel Servos (protocol v1) for AX/RX/EX (Port D5) and Dynamixel Servos (protocol v2) for XL-320 & Pro (Port D5)

What is the difference and why two different protocols?

There is a list of AX numbers under each heading. What's that all about? And why do I need to connect them to port D5?

confused

#8  

I can't really tell you why only D5 works as a port to connect dynamixels, I really wish there was a way for the whole board to work with Dynamixels so you wouldn't have to buy a spiltter. Oh well.

As for those different protocols, there's a huge family of Dynamixels, all with different strengths and prices. (EX. AX12A AX18A or MX28, etc.) The second protocol is for the Dynamixel Pro, which I believe uses a different protocol since it uses 4 pins on the header. I'm not positive though because I can't afford a 1000$ professional grade servo, but if you want I can contact Trossen and see if they can tell me for you.

I can't check for sure what those AX numbers are for, but I wouldn't be suprised if your just seeing the ID numbers that usually show up when you select a Dynamixel to use.

#9  

I also see there is a button to check in the servo controls for Dynamixel Servos. Do I need to have that checked to get these servos to work in ARC?

I noticed there is a Dynamixel Configuration tool in the Add Control section in ARC. Do I need to use this to get my servos to work properly? How does this tool work and when do I use it? confused

#10  

that's for use with non-ID'd servos. If theres a number on the ID sticker, then it doesnt need to be configured because it already has an assigned ID (the number on the tag)

however if the tag is blank, you will need to reconfigure it with a new ID using the config tool. Ill add instructions on how to do that with screenshots later tonight :D

In servo controls, just click the dropdown and choose the Dynamixels ID. it'll automagically select that dynamixel on the chain and move it, no need to select a port or anything.

#11  

I hope this helps. This is my EZ Virtual Robot AX12A servo assignments for the Robotis Premium Type A.
The picture:

User-inserted image

The EZB file: EZ-Bioloid.EZB

#12  

I'm going to redo this guide with real pictures and some videos later tonight, sorry about all the confusion so far:( hopefully it should easier to understand for everyone.

#13  

Don't loose the hand drawings. I love these. The guide is good, just needed some extra information. I expected that to be added later. I just got a little ahead of you.

#14  

Okay, I just updated the guide with all new, easier to read info and some much better pictures. Tell me what you think! I'll hopefully be adding videos aswell sometime in the near future. :D

PRO
Belgium
#15  

thank you sudo. the pics are great.

here are some pics off the chest comprehencive.

User-inserted image

User-inserted image

User-inserted image

looks like there is some room for the hub on the side.

#16  

That looks super cool! Tell me if you need to know anything, I'll certainly add it to the guide. :D

PRO
Belgium
#17  

sudo can you ad a clear pic how the wire is connected from the hub to the ezbv4.

#18  

User-inserted image

my camera is dead, so let me talk you through this with the picture above.

Set down your robot so the EZ-B symbol is facing AWAY from you, like in the photo. Then find port D5. Now, plug in your dynamixel wire with the bumpy end facing TOWARDS you.

I'll be able to clarify this in the guide with a close up photo tomorrow :D

PRO
Belgium
#19  

sudo

i dont have parts yet to start.i just ordered two hubs . in few weeks i can order extra ezbv4 for this. then later some servo's ax-12A am making a pic now will upload in few sec.

User-inserted image

#20  

yes, that is the side that should be facing you. Just plug it in and try moving a arm to get the hang of it, dynamixels are a little tricky to understand at first. It's a good idea to get used to how they work with the EZ-B.

also - remember to turn down the speed a bit in the legs, or you'll burn out a bunch of servos. Take it from me, i've basically had to buy half of a new bioloid to replace my servos stress

PRO
Belgium
#21  

sudo i know the feeling.my first atemp building a bioloid i burn 10 servo's. because i didn know any off robots and the seller swithed one off the wires, dilibertly.in two weeks i by two servo's to practise whit.

these are my boys.A-type whit turning head/C-type turning waist/comp whit, turning AX-S1

#22  

Whoop! Just forgot - the EZ-B doesn't support gyros yet, so you may want to copy JD for a while (with his giant feet) until that mystical gyro is released ;)

PRO
Belgium
#23  

sudo

i bin working on the kd robot.so i have plenty off time.

#24  

Aww, you replaced the hand drawing with real pics. However this really looks great! Nice work!

@nomad18.08, Are those your robots in the vid you posted? Did you build and program them?

PRO
Belgium
#25  

dave

yes i build a total off six bioloids thats alot off screws. the programming is standard,but i made some moves whit the heads and waist.

#26  

@Dave thanks! I think the actual pictures make it easier for people completely unfamiliar with Dynamixels or robotics in general to take full advantage of these wonderful servos for a project. Thats why I made this guide, after all.:D If you have any questions you can ask in the thread so I can add it to the guide, it always seems that I forget something fairly important and then someone has to come and wait for me to answer blush

PRO
Belgium
#27  

sudo

ez&bioloid has alot desame.you build lots off diff robot.you can by parts separt.

this one i made and had to redo all moves in motion.

Australia
#28  

Nice collection of humanoids you have there @nomad18.08 ! Did you win the Lotto? Robots are such an expensive hobby! BTW, have you finished building the Japanese one that comes monthly in a magazine (can't remember the name of it)?

I have a little Darwin Mini which uses the Dynamixel XL-320 servos. It can be controlled by a phone and do some amazing acrobatics. Unfortunately 4 servos have already failed after very little use. They are now making them with metal pinion gears, so hopefully that solves the problem! Unfortunately they only replace them as they fail.

Eventually, when the servo issue is resolved, I will try to get it to work with an EZ-B V4. I did see a picture of a Darwin Mini on this Site with the words "Coming to Ez-B V4" Perhaps DJ is already playing with one?

#29  

Oh, I think those servos are already supported. @Dave said something about one of the protocols containing the XL's. Maybe try one out for us and see what happens? :D

PRO
Belgium
#30  

tony

the japanese robot is robi.waiting for new wires.it had a design fault in the upperlegs.and no i dont have lots off money,just i dont have a car or motorbike, dont go out.i life very simpel.also i have alot to thank my room mate els , i wouldn be able to by anything.

sudo am looking forwart to see your idea bioloid on ezbv4 whit voice lester.

#31  

He works pretty well already, he just has a few issues with balance which I hope to temporarily remedy by making interchangeable velcro feet.

PRO
Belgium
#32  

sudo

did you ever try the balance task&motion off bioloid?i didn. i did see you mount bioloids feet at the tip?

#33  

They're mounted so they take the weight from the sides when he's swinging around his huge arms, and so they balance him from both sides. Hopefully I'll be adding some sort of large pads or counter balance so he can actually walk again.

Australia
#34  

@nomad18.08 living a simple life and not having a car or motorbike would save you heaps of money for your hobby. I visited Brussels & Brugges in September and saw that you can't even use a car in some of those narrow streets!

Robots and parts are pretty expensive here in Australia, especially now that our $ has plumetted. I just checked the price of Dynamixel 3 pin cables so I could make an adaptor cable to connect and test a Dynamixel XL-320 to an EZ-B V4. A 10 pack from TrossenRobotics US costs US$80 incl shipping, or US$120 from Robosavvy in the UK. They charge insane prices for shipping! The other issue is that I think the connectors for the XL servos are a mini version of the standard Dynamixel 3 pin connector. More investigation required!

Belgium
#35  

Very impressive Dynamixel tutorial ! Thanks a lot Sudo !

@nomad: very nice ! I'm also very impressed !

Dynamixel's are defenately on my wish list.

Futhermore... (a little off topic) happy holidays for everyone and the best wishes for a joyfull 2015 !

PRO
Belgium
#36  

sudo

i saw some uses transparent plate under the feets.

tony you can rent bicicles

pHG happy holydays too

PRO
Belgium
#37  

sudo

i got one ax-12A that is in wheel mode. how can i get it back in joint mode?

#38  

you'll have to reset the servo in RoboPlus -here's a guide from robotis which will hopefully help a bit.

#40  

Sudo,

Is there any way to 'read' the current position of an AX12-A?

PRO
Belgium
#41  

oldbotbuilder

whit dynamixel manager you can see all.

#43  

Sudo,

Your bioloids seem to have the best walking motion I've seen so far. Though they only took a few steps. They have a very natural motion about them.

Are you using some sort of IMU stabilization?

Can you send another video of them walking some more?

Thanks,

Bill

#44  

Do you mean nomad's video? I have yet to upload a video of shogun walking. However, the walking action that i've created is probably the best you can get without a gyro, you just need a different knee configuration. If you want, I could upload a video sometime this weekend.

PRO
Belgium
#45  

hi averyone

sudo i refirmwire the servo and the cm-510 ,still turning like a wheel. love to see your video too.

#46  

Hey SUDO and anyone else that would like to control the AX12 servo with EZ script. I've attached a EZ Script example that you can experiment with.

Only thing DJ hasn't got around to fixing the issues with the UART so if 34,40and 92 are TX or RX EZ script will stop and show an error. Again DJ is aware of this.

AX12ControlEZB.EZB

To read position of the AX12 servo you need to add a connection to D6.

#47  

Forgot to mention that if you have been using ARC to control the AX12 servo you have to run the script named "resetting return level " in the example.

Again there's a bug in ARC that changes the way the dynamixel communicates with EZ B and the control table for setting the speed of the servos. These bugs were reported to DJ in my earlier posts.

#48  

@mtiberia

wasn't that fixed? I've been having no trouble with my dynamixels not responding to controls (when they have proper power :D) the only lingering problem I've had is the torque being turned down instead of speed.

#49  

That's correct, DJ has used the table entry that is used to control the maximum torque on the AX12 . So if you are running the servo on your bench it looks like your controlling the speed but put any kind of load on it and it will stop working. See my earler post on the issue. DJ's response was that it exposed a serious issue with the variable manager. I believe it is also causing the issue with the UART.

#50  

I was hoping that the issue would have been resolved by now. You really can't take full advantage of the AX12 features using the EZ B until it is.

#51  

@mtiberia

remember, a week in EZ-Robot time is one month in normal time ;)

#52  

Ha ha

Did you get to try out the script?

#53  

@mtiberia

i can't right now, but i'll be sure to later :D

#54  

At one point, I had my AX12a Dynamixels working, but I went to reconnect them today and ran into this issue (I think). I'm able to move any of the Dynamixels for a very brief amount of time and suddenly it seems all communication attempts fail with all the dynamixels.

I've run the reset return script multiple times, but with no luck. Does my issue sound like it's caused by the issue this thread is mentioning?

#55  

If you're using ARC just set the speed to 100. I'm away right now and don't have access to the code for reference.

#56  

mtiberia,

Using Sudo's instructions, I have connected the 16 AX-12A's on my Robotis Premium robot to the EZ-B4. I was able to map all the servo's, set their initial positions, and actuate them from the EZ-B4. I couldn't set poses or get get the walking positions working very well.
I tried your AX12ControlEZB-635552623864353750.ezb to see if I could understand more about how the EZ-B/AX-12A interface worked. I tried 'resetting return level' and 'Reading Position of Servo'. They ran without errors but didn't provide the insight I was looking for.

I decided to go back to using the Robotis CM-530 to control the servos and connect the EZ-B4 to it thru the "Communications Jack" ( a 57600bd UART). Much to my dismay - The RoboRoboPlus Manager reports all AX12 IDs as "UNKNOWN" and my CM-530 does not control the servos.

Any Idea what I can do to restore the RoboPlusManager's reading of the AX-12's ID? EZ-B4 reads them OK.

PRO
Belgium
#57  

oldrobotbuilder

whit cm-510 you can refirmwire servo's and controller

you can also try to use the dynamixel wizard first .then manager.

#58  

nomad,

Thanks for the quick response to my problem. I only have the CM-530 and no USB2Dynamixel.

PRO
Belgium
#59  

oldrobotbuilder

you can update manager.or uninstall and install back maybe?

#60  

@nomad18.08 Thanks again. I reloaded the RoboPlus and updated the CM-530 software. I got the same results. Here is what RoboPlus Manager reports:

User-inserted image

Remember, I used mtiberia's 'reseting return level' and ran 'Set Position of Servos'.

Another symptom is, if I include AX-12 ID-016 and ID-018 servos in the chain, RoboPlus Manager will not connect properly.

I noticed that the script Set Position of Servos has '$ID=18'. Is there some way running this script corrupted the IDs of all the servos? Is there a script than can unbrick the servos?

PRO
Belgium
#61  

did you remove averything from robotis,reboot pc and download back?

also what happens when you click on the first servo.

i also dont see servo 16

PRO
Belgium
#62  

can you connect only servo 16 and look to your adaptor. if the led goed out or flaching red then there's a problem whit the servo or wire.

here is mine manager

User-inserted image

#63  

nomad, I did reload all the softwares and restart the computer. My 'bot is the Premium Bioloid. servo ID-018 is chained to ID-016. They are the servos for the feet. Without dissembling the foot, I can't isolate only ID-018 so I isolated both ID-016 and ID-018. I don't want to do any disassembly because I used the TrossenRobotics thread locker and it is almost like CA glue. It holds so well that it is very easy to strip a screw head during removal.

The picture shows what happens when I click on the first servo. A pane comes up that should let me write values to the selected servo. Kyle at TrossenRobotics suggested that I try to write a 1 at address 25. This should turn on the servo's LED. I tried but that did not work.

Again, thanks for your efforts.

@mtiberia, Are you about? Can you help?

#64  

Hello OldBotBuilder

Sorry for not getting back to you earlier.
One quick question, did you run the AX-12 using EZ-B before connecting back up to the cm-530 controller?

If the answer is yes then all the servos were set at ' 0 ' which is Status Return Level= no return. Basically the AX-12 won't return any data to the controller.

I have the USB2Dynamixel and the Dynamixel Wizard software installed and figured out that ARC for some reason changes the setting from " All Return" to " No Return". Again DJ knows all about this and for some reason can't fix the issue without doing a major rewrite of the EZ script software.

Do the following: Connect your system to the EZ-B controller and run this script. I've tested and it resets the AX-12s. Do not run the AX-12s using EZ-B after this or you'll be in the same situation.

ResetAX-12.EZB

#65  

Here is the control table for the AX-12 servos.DynamixelControlTable.pdf

I have moved on to another system to control my AX-12 servos using python. Without a proper working UART the EZ B is no use to me.

Its really too bad because it had a lot of potential.

Best of luck

#66  

I'm also starting to get tired of the major problems that ARC has with dynamixels. I mean, its cool that they're working on their own bots, but full dynamixel support was promised and as you can see the only "support" dynamixel users get is the "it'll be out in a week" nonsense. It would be nice to get a actual timeframe of the fix, since right now my bot is basically dead in the water. I made this guide in preparation for a supposed fix but that's obviously not coming soon. I waited a year just for the controller with my robot built just to recieve a product that doesnt work like it should have. I'm looking into a different controller since I'd really like to get Shogun up and running.

@mtibera

What controller are you using? I'm trying to find some good options

PRO
Belgium
#67  

oldrobotbuilder.

ive seen the traith locker.you may never use that.goodluck .

#68  

Just to clarify my earlier post -

I think EZ-Robot is a great company, it just doesn't work for me right now :)

#69  

I also need to use the UART for my projects... I am sure DJ is working on the UART issues... I am also sure the list of changes he wants/needs to make is still quite long...

#70  

Its going to be a major rewrite for him. Basically he has created his own scripting language to control the EZ B. So its easier for novices to write code without having to learn C, C++ or C#. Its what python is , but the difference is DJ has had to do this all by himself, python script is all open source and has taken years to work out the bugs.

If he has made an error anywhere in his code he might have to start from scratch. A major undertaking for one individual.

For myself I picked up an HP Stream 8 tablet that runs Windows . Using all python code I can contol my Dynamixels servos and receive data from my analog sensors via arduino using the same data bus system that controls the servos.

I have opencv installed for vision, motion detection and color tracking. At least I can experiment without being frustrated with communication issues.

Ez-B has some real potential for serious hackers but if he can't get the UART working properly it will sadly just be a remote controlled toy.

To tell difference between a real robot system and a remote controlled toy look for " the Wizard behind the curtain ".

If Toto finds a techy behind the curtain on a laptop, android or I-pad you have a remote controlled toy not a True Robot.

#71  

I am very upset that DJ would put out a product that has such great potential but major, destructive flaws.

If you use the EZ Robotics software with AX12-A servos THEY WILL BE BRICKED!

This has caused me a lot of time and money.

I got the EZ-B4 to drive the AX-12As on my 'bot but the performance was poor and erratic. I decided to go back to the CM-530 for primary control and use the UART to interface between EZ B4 and CM-530. It was when I went back I found my AX-12s BRICKED. I thought that my CM-530 was damaged when I was setting it up to talk to the EZ-B4 via the UART. I ordered and received a replacement. When the replacement got here I plugged in the servo chain to see: [ID-001] UNKNOWN : : [ID-016] UNKNOWN

I got in touch with Kyle of TrossenRobotics (where I bought the 'bot kit) and we exchanged troubleshooting tips and results for several days. @nomad18.08 suggested I should try the USB2Dynamixel to reprogram each servo. Kyle thought that was a good idea too. I ordered the device. Just after the order had been placed @mtiberia posted the script that UNBRICKED all of the servos.

So -- with the help from: @Sudo @nomad18.08 and especially @mtiberia I have been able to restore my bot to where it was 2 months ago. I now find out that the EZ B4 UART (my backup solution) doesn't work either.

I must echo the thoughts of @Sudo, @mtiberia, and @Richard R and conclude that:

"I have moved on to another system to control my AX-12 servos using python. Without a proper working UART the EZ B is no use to me. Its really too bad because it had a lot of potential."

"full dynamixel support was promised and as you can see the only "support" dynamixel users get is the "it'll be out in a week" nonsense. . ."

"I think EZ-Robot is a great company, it just doesn't work for me right now"

"I also need to use the UART for my projects"

I think DJ owes us all an explanation.

PRO
Belgium
#72  

oldrobotbilder

sorry to hear this.but whit the cm510 they all hopefully restore. i know the feeling.cause due to other person i lost 10 servo's.

#73  

Hmmm... I understand you guys are seriously frustrate and want to abandon ship... However, it's kind of like trading in your Ferrari for a Volkswagen just because the A/C don't work... The robot world is huge... dynamixel servos are but a small part of it... I have faith that DJ will have a fix for this...

#74  

It would be okay if using Dynamixels with the EZ-B made it incompatible with other methods of controlling dynamixels, if it worked. But it doesn't, and that's what's making people so mad. I really hope this is fixed soon, as you can see the problems have basically killed off the small Dynamixel community here. I'm hoping to find my EZ-B a good home before I buy my new controller. However, if something is done I'll try the EZ-B again later. Right now though, it has just been a huge frustration for me since I have less and less time to work with it.

@Richard

Don't be too harsh on V-dubs, I'd never get rid of my little slug bug ;)

#75  

Sorry Rich but I have to disagree.

The UART is a very basic and universal way of communicating between devices. If you take the basic arduino that would represent your VW bug for example you are able to send data back and forth between different computers or devices , doesn't matter if its Windows, Apple or Linux. Its the universal language of machines if you want to extend the analogy.

If EZ B had a working UART everyone with dynamixels or arduino or any other microcontroller would be able to write their own EZ- script and communicate with the device.

DJ shouldn't have advertised working UARTs on his controller if they couldn't be used.

PRO
Belgium
#76  

mtiberia

i think its RICHARD and not RICH

#77  

@Sudo and @mtiberia ... well at any rate I hope you guys stick around... you are our dynamixel gurus. Both of you have a lot to contribute to the forum... As I mentioned I do understand your frustration, however...

Cheers Richard

#78  

WHAT! The Uart ports dont work properly? Is this a problem for just dynamixels or are there other problems with the Uart operating other things that I missed? eek

#79  

Sorry Dave

If you try to send or receive unsigned integers 34, 40 or 92 , EZ script will stop and show an error. Basically you won't be able to communicate with any device using the UART if those integers show up in the RX/TX the EZ-B crashes.

Its a major issue if you want to communicate with other devices.

#80  

OK, not really understanding what that is. How would this effect sending serial commands for speed and position control to a Kangaroo x2 / Sabertooth and reading the speed and position back to EZB? I dont send the commands in binary numbers. I send a command like this:

uartWrite(1, 0, "2, p60 s2000", 0x0d)

Well I guess the 0x0d is binary. Would the returning info lock up the EZB?

#81  

The Kangaroo x2 / Sabertooth has two different communication methods: Simplified serial input, commands are sent and received as plain text and that should work fine with the EZ-B UART, but if you use the packet based communications method you will run into issues.

#82  

What might have been: User-inserted image It can still be if the UART problems are resolved.

PRO
Belgium
#83  

oldrobotbilder

thats looks very cool.i love it.

PRO
Canada
#84  

Hey guys,

I haven't heard of any UART issues on UART0, UART1, & UART2 I am able to talk with a Roomba with no issues with the UARTs. Are you confusing the D5 dynamixel port with the UARTs?

#85  

@Jeremie... I love you man, but for the life of me I am unable to receive 2 byte data from the Roomba (I can only receive anything that is just 8bit)... Sending is no problem.... Is there any way you can post a sample code for.. say, getting the Roomba's battery voltage or mm traveled (which are 2 byte)?... Or anything else requiring a 2byte receive... I'll even clean your house for a week if you do.... :)

PRO
Canada
#86  

@RR Roombas are a side project of mine, I own 4 of em'. I don't do that much work in software so parsing data is not my strong suite but I'll keep plugging away and keep you in the loop.

Now that I think of it, I think what @mtiberia means is that there was an issue with port D5 with in Dynamixel mode not being able to send specific values to the Dynamixel servos. I'm pretty certain that issue was fixed.

#87  

@Jeremie Thanks dude... appreciate it... I am kinda' doing the same...

Cheers Richard :)

PRO
Canada
#89  

D5 is the TX pin for UART1, but what I am mentioning is that while D5 is being used to send Dynamixel commands, it's not in UART1 mode.

Edit: Had to fix up my wording a bit

#90  

@Jeremie,

Are you saying that all the UART issues have been resolved?

Or is this still the current status:

By @mtiberia and @DJ @Sures Posted 1 month ago

"It's a giant fix because it exposed an issue that I wasn't aware of with the variable manager. It is being fixed - but requires a giant rewrite of some of the ez script compiler. It'll be another week or so"

I would like to utilize the UARTs 0 and 1 to talk to and from the "Communications Port" on my CM-530 Robotis controller. I don't want to waste another month of frustrated effort like the last one.

PRO
Canada
#91  

Well I've brought a CM-530 controller home with me this weekend, i'll see what I can do.

What was the context of that quote? Maybe you could add a link to it.

#92  

@Jeremie,

If you can look up my threads you'll be able to follow the issues regarding the following two issues with EZ-B:

1: Controlling the Dynamixel servos with ARC controls

2: The UART ports on the EZ-B

ITEM #1

Found this issue with ARC that really makes using the Dynamixel servos impossible with EZ-B and actually screws up their settings and I wrote an EZ Script script to fix the problem, unfortunately not before OldBotBuilder spent a lot of time and money trying TO FIGURE OUT WHAT WENT WRONG.

Posted 1 month ago

I've been using a different controller and python to control my dynamixel servos. I really want to use the EZb and its software so I connected everything up to my EZb and just wanted to use the basic scripting to control the servos.

Found a couple of issues that may cause DJ some headaches when he wants to add more controls to take advantage of the capabilities of this digital servo.

Issue #1 : You set the status for table entry # 16 to 1 " No Return " . With this setting you can send instructions to the servo but you'll never get any data from them. It should be set to 2 " Read Only", this way if you send a command for a servos position, temp, torque etc, it will answer back with the data.

Issue #2: Your using table entry # 34 to control the servo speed, it should be table 32. Table #34 controls the torque limit of the servo. On your work bench it may look like your controlling the speed but add a load to it and you'll find that the servo will stop or dance the jitter bug! This setting is good if you want to experiment with joint compliance when reaching your goal position.

Regards

ITEM #2

You can't send or receive unsigned integers, bytes or HEX 34, 40 and 92 or WHATEVER YOU WANT TO CALL THE DATA ! .

Sorry for yelling, but this is really basic stuff. Any micro controller should be able to send unsigned integers 0 to 255. Please, please, please ,connect TX to RX on any UART port on the EZ B and try to send unsigned integers, Not TEXT, but unsigned integers.

Again this is basic stuff and if it was working properly we could communicate with ANY micro controller not just the one inside the Dynamixel.

Frustrated Beyond Frustrated

#94  

I also have a project on hold due to Dynamixel problems.


@mtiberia'

Does ARC set the Dynamixel Servos to "No Return" only if you set them up with ARC or does it do it as part of just sending data to them? I set my Dynamixel up initially with a separate controller and have been trying to talk to them with ARC. I switched to ARC after realizing how hard it was to right all of the control code myself.

The main issue that has put my project on hold the most is the "control the servo speed" using the "torque limit" instead of "controlling the speed".

The other thing that has also bugged me is a somewhat intermittent control issues. I believe this is also one of the issues that is bugging DJ Sures.

Keep hoping to hear there will be fixes soon.

PRO
Canada
#95  

Just wanted to say thank you to @mtiberia and @OldBotBuilder as well. Sometimes these things get lost in translation. I appreciate you summarizing it for me, it saves me a lot of time search through threads.

At ezrobot we are still fairly fresh with Dynamixels, so we appreciate your feedback and investment in resources to help us do our best on our end. With your help we should be able to get this stuff figured out, or at least understand our limitations. We pride ourselves in being a Robot company that is constantly growing and improving, without your valued feedback that wouldn't happen. I think you can see by our track record of software updates that we are true to our word.

I am a little frustrated myself, with the CM-530 that is. I spent a good 4-5 hours trying to get FTDI drivers to work with my Win8.1 laptop, finally got them installed and the CM-530 still didn't work. I finally had to go back to a WinXP laptop to actually use the thing. I did verify a loss of address on our dynamixels as well. I'm still looking into it a bit more with the info you've provided.

You guys get your CM-530 to work in Win8.1?

I am also going to look into the UART situation and see if I can replicate the issues with those specific values.

#96  

On a more of a minor note (because less people are working with the Roombas, than Dynamixels) a fully functioning UART would really help us guys too...

Thanks @Jeremie

#97  

@ RobertL184

The intermittent control issues are related to the wrong setting being used by ARC. For example if you set your goal position for 70 and the servo is at 10 it will make its way to the new position at full speed.

Now if you try adjusting the speed through ARC it does it slower but not by reducing the speed but the torque. So if there is any load on the servo it will jerk around and be unstable or not respond at all.

Sending and receiving commands is quite simple once you figure out the format. They use data packets. The following tells servo #12 to go to position 400 at the speed of 20.

If you are using the UART these numbers would be sent as bytes.

255, 255 ,12 ,7 , 3, 30, 144, 1, 20, 0, 32

255 and 255 is the heads up for the dynamixels basically saying wake up there is a command coming.

12 is the ID of the servo #12 that your sending the command to.

7 is the length of the instruction

3 Indicates that you are sending a command to the servo to do something

30 Tells the servo the command is for setting the position of the servo

144 and 1 are LSB and MSB and in micro processer language represents 400

20 and 0 is the above and represents 20

32 is the checksum. it adds up all the items in the packet to make sure it hasn't been corrupted when sent to the servo.

#98  

@Jeremie,

Here is an EZ Script to control a Dynamixel servo. I've also included the reset script if you were using ARC to control your Dynamixels.

Again if the instruction packet contains 92, 34 or 40 it will crash.

For Richard and others a properly working UART is a must. Again its very basic feature that all your competition have.

What they don't have is the EZ Buider software and EZ Scipt. You guys have a great product I hope you can resolve this issue in a timely matter.

AXServoControl.EZB

PRO
Canada
#99  

Hi guys,

I did some testing over the weekend here is what I've found:

UART0, UART1, & UART2 are 100% functioning properly. They can both transmit and receive data with precision. They can work with the Roomba, they can work with Arduinos, you name it it's completely capable to communicate with it serially.

Here's some pictures of my tests:

User-inserted image

User-inserted image

User-inserted image

The tests show me transmitting the integer values 34, 40, & 92 from the ez-bv4 to a Freeduino.

The discrepancy is in the uartRead() function inside ARC. When a integer is transmitted serially, it is interpreted by the uartRead() function as an ASCII value, this is just like many other systems on the market.

The integer values of 34, 40, and 92 are actually special characters in ascii:

34 is quotation marks 40 is an opening bracket 92 is back slash

User-inserted image

Even if a separate board (such as an Arduino) sends these values to ARC errors occur. It seems that these are reserved characters in ez-script. This is likely on DJ's list of items to look at already so I will just wait until he gets to it.

Good news is that it is very rare that you will need to receive special characters such as these. It should be noted that if you'd like to receive the integer value of 34 you simply have to use the following example: uartWrite(0, 0, 51, 52)

51 represents ascii value: 3 52 represents ascii value: 4

As a side note, I'm still looking into the Dynamixel situation.

#100  

@Jeremie,

Thanks for looking into the issue, I thought I tried sending plain integers and it didn't work for me before. I rewrote my code and I can now send all commands to the Dynamixel servos. Yea ! , thanks !

Unfortunately the UART(read) issue is a problem because when reading positions from the dynamixel servo two bytes are received.

Least Significant Byte and Most Significant Byte:

So two bytes are received that represent the position of the servo. $A=GetByteAt($RX_DATA,13) $B=GetByteAt($RX_DATA,14) $position=$A+(256*$B)

So if there is a 92, 40 or 32 in any of those two bytes the script crashes.

I have attached my updated code to control the servos as well as a script to read its position. You need to attach a data line to D6 and you will be able to receive the current position of the servo but it will crash if its in those three positions. All you have to do is move the servo a bit and click the start button again.

Thanks again for looking into this Jeremie.

AXServoControl.EZB

PRO
Belgium
#101  

refrech this topic made some little changes.

User-inserted image

User-inserted image

User-inserted image

PRO
Canada
#102  

@mtiberia sorry I haven't been on this issue as fast as I had hoped. But tonight I was finally able to get the CM-530 to work in Windows 8. More on that below.

I used your "ResetAX-12A.ezb" code and was able to verify that it indeed did reset the all the Dynamixels attached to the ez-bv4 back to being readable by the CM-530. Thank you for that example (I'm still trying to decipher how it works but DJ would know at a glance). I'll make a request for a button to be included in the ARC "Dynamixel configuration tool" that would execute this code in order for users to go back to using their Dynamixels with their Robotis controller. Long-term we'd likely want to take advantage of the readings coming back from the Dynamixels instead of disabling them, but we haven't decided anything around that yet.

Since I could only communicate with the CM-530 on a winXP system and the ez-bv4 on my Win8 laptop, it got old really quick carrying 2 laptops around to get this issue dealt with. So, I finally got around to solving the my FTDI driver woes in Win8 tonight.

For those just tuning in, the CM-530 has what is considered to be a 'fake' FTDI USB-to-Serial converter chip installed. Once you plug it the controller into a Win8 computer with up-to-date FTDI drivers the chip gets bricked.

A Trossen Robotics blog post helped me out quite a bit.

Here's what I had to do:

Plug the CM-530 into my WinXP laptop and run a program called FT_Prog from FTDI in order to reprogram the FTDI chip's PID from the bricked ID of '0000' back to '6001'.

Once that was successful, I then had to plug the CM-530 into my Win8 laptop, wait for it to install and then do the following:

  • Download FTDI 2.08.28 or earlier drivers (not on the official site any longer, but Trossen still hosts them)
  • Opened my Device Manager-> COM ports-> right clicked on the USB serial COM port that the CM-530 showed up as and selected "update driver software"
  • I then had to force windows 8 to take the older driver by using Browse my computer for driver software section -> "Let me pick..." -> "Have Disk..." -> "Browse..." and then selected "ftdiport.inf" in the FTDI 2.08.28 folder
  • I then had to Restart
  • Next I went back to the Device manager and went to Universal Serial Bus Controllers ->USB Serial converter-> right clicked on it and selected "update driver software"
  • I then had to force windows 8 to take the older driver by using Browse my computer for driver software section -> "Let me pick..." -> "Have Disk..." -> "Browse..." and then selected "ftdibus.inf" in the FTDI 2.08.28 folder -I then verified the currently installed FTDI driver by right clicking both the installed COM port and the USB Serial converter devices in the Device manager and selecting properties->Driver, both were at version 2.08.28.

I was then able to communicate with the CM-530 via the RoboPlus software from Robotis, and breathe a 'sigh' of relief I might add :D

I will try to verify the two-way communication example soon.

#103  

I've been away for a bit guys. OldBotBuilder and Nomad , looking really cool, keep posting your progress.

Jeremie I've attached a PDF file that shows the control table for the dynamixels servos. If you reference the example code that I posted, the $table variable corresponds to the address on the left side of the table. You can use the integer value not the Hex.

So if you want to set the goal value for the servo set the $table value to 30. You'll also notice that there is another goal value at address 31. Ignore that because the servo can be placed at positions ranging from 0 to 1023. So you need to send two bytes LSB and MSB. The LSB is for table 30 and MSB is table 31.

When you send two bytes it automatically goes down to the next value in the table. So if you send 4 bytes at $table 30, you'll set the goal position with bytes 1 and 2 and with bytes 3 and 4 you will set the speed. That works because table 32 and 33 are for setting the speed of the servo.

Sounds confusing at first, it took me a while to figure this out.

DynamixelControlTable.pdf

#104  

So this was never resolved? I have 42 AX-12 servos and was wanting to use my V4 to control them. I have been controlling 2 AX-12 servos in a few tests. They seem to work fine so far. Glad I didn't brick anything.

#105  

Has anyone tested the newest update with the AX servos? If I edit AutoPosition the AX servos stop working. If I unplug the EZB4 and then plug it in again then the AX servos work fine. It would be very hard to set up poses with the servos no working.

#106  

no, it seems that the dynamixel update was pushed farther back or it was just too much work to fix for the time being

i've stopped working with my bot so I can't really test if they work any better or if they've gotten worse

#107  

I tested a few AX servos and they work fine until you open the AutoPosition window. Then they stop working until you kill power to the EZ-B and start it back up. So you can't pose anything with AX servos. Now I need to make my Ax servos work with my CM-5s again.

PRO
Canada
#108  

Hey guys,

The latest release of ARC is a fix for serial/Dynamixel/i2C receive functions.

Dynamixel write functions have always worked, but the only irregular thing is that dynamixels are placed in Write only mode by ARC. Luckily @mtiberia wrote a reset script to place the dynamixels back to their default modes to work with another controller such as the CM-530 again. I have verified it works.

Using a 3S (3 cells in series) LiPo is recommended to power AX-12's to get solid communication and torque.

#109  

I just tested the AX12 servos with AutoPosition. When you edit poses in AutoPosition the AX12 sevos stop working until you shut off power to your EZ-B and then power it up again. This happens every time.

#110  

@mtiberia

Any chance you will rewrite your EZB scripts to use the new UART Binary script commands?

I may end up using them and it would be great to see how they would look with the new script commands.

I really wish the issue of ARC using the AX servo Torque setting instead of the AX servo speed setting were fixed.

I was also wondering how you have your AX servos wired to the EZ-B. It might be nice to get data back from the AX Servos. After of course using the Data return Resetting script.

PRO
Synthiam
#111  

We continually run into a problem with the Dynamixel servos as they seem to lock up when commands are sent too quickly - which is an issue with the servos, not the ez-b or ARC. We are hoping they release a fix, otherwise we are limited to what we can do with them.

To solve the issue, I have attempted disabling the response packet feature. I have also attempted to remove torque control and torque errors. There have not been any positive results from our attempts. So far, the only hack I have been able to get some positive results from is increasing the "Delay" in the auto position, which slows down the servo position transmission - but also slows your robot to a crawl.

#112  

I've been away but I'm back at it.

I've been writing a new script for the Dynamixels. It will find how many servos you have connected and their ID 's. I have discovered away around the bug regarding EZ B not receiving certain integers by using another bug in the EZ-B software, but its a nice bug.

You will also be able to capture motion that you have demonstrated to the servos. DJ there is a way around the traffic jamb of communicating with the servos. You can send position and speed instructions to all the servos at one time, it uses the " SYNC WRITE " command.

Hopefully I'll be able to post the script and a demonstration tomorrow. Those nasty bugs have a way of biting you in the butt ! I will start a new thread.

PRO
Synthiam
#113  

The new uart commands resolve the "bug". It was never actually a bug - it was an oversight when designing ezscript compiler. The trouble was trying to store binary/hex data in a string so all variables would be agnostic. However, that's not possible when reading writing a series of binary. So I made the binary read and write uart commands. They populate an array, which makes sense - like all other programming languages.

It was silly to dismiss binary read write of uart and i2c until now.

Oh well, it's solved now :)

#114  

So I might be able to use the 42 AX-12 servos I have with EZ-B? I hope so! My all metal gear servos in Dave are working great, I need a bunch more to get more robots moving. With V4 his old servos can lift more than they could before and my V4 hasn't had any heat issues.

#115  

@mcsdaver ... That's because the V3 had a voltage regulator so the servos were only getting 5V... The V4 has no regulator so your servos are getting full voltage from whatever battery you have plugged into the EZB4....

#116  

I know, 7.4v batteries! This makes the old hobby servos able to lift my robot's arm! But I am using new all metal gear servos where needed to make my robot stronger. Plus my new servos can hold his arm straight out even if you release the servos. Power HD 1501MG servos. These are strong, but I need even stronger to make my robot walk. I do have a few ideas!

#117  

@mcdaver, I have one of those HD 1501MG servos and am having problems with it. I don't hijack this thread so I'll start a new one. Could you please have a look and see if you or any else can answer it? Thanks! Here's the link to that new thread:

HD 1501MG problem

#118  

I haven't had any issues with them yet. I test every servo before I install it in a robot.

#119  

As promised here is the script to capture the pose of a robot using dynamixel servos and EZ-B. Thanks DJ for creating EZ script. There is a steep learning curve but your script makes it a little easier.

I've included a tutorial video to get things started. You will have to make a connection from the UART TX and RX on the EZ-B to the port of a dynamixel servo.

IMPORTANT, you must enter a name and the path of a text file that you want your motion data to go into. There will be an " Enter File Name Box ", click the settings tab and type in the information.

StopMotionforDynamixels.EZB

#120  

Stunning. nice work. You've proved that EZ Robot is the wave of the future.

#121  

@mtiberia Really nice work... Dynamixels are on my list of things to learn.... Thanks for the demo :)

#122  

are you making a dragon bot confused confused

#123  

@mtiberia, Will your scripts read and perform from the Robotis 'RoboPlus Motion' files? If not now, do you plan to make that happen? Including the 'RoboPlus Task' file processing would be a big help. I am still hoping to enhance my Robotis Bioloid robot with some of the EZ B4 capabilities.

#124  

@Oldbotbuilder

Sorry but I don't have DJ' s coding skills.

There is a steep learning curve when learning new programming languages. I just couldn't get my head around figuring out C or C++ and writing classes and defining all the variables and placing the " { " in the right place.

Then I found languages like python and EZ script of course. These are two examples of "script" code, all those details that are so numerous to mention are done for you.

DJ has done this all on his own, which blows me away !

EZ Script combined with the EZ-B really has some amazing potential, it will continue to grow one small feature at a time.

#125  

@mtiberia,

Quote:

EZ Script combined with the EZ-B really has some amazing potential, it will continue to grow one small feature at a time.
.

How true.

I will try to interface my Robotics Bioloid to the EZ-Bv4 using the UART to transmit/receive the 5 word Comm packet; FF 55 Data_l ~Data_l Data_h ~Data_h ~ represents Inverse (1's Complement) like the Robotis boomerang controller sends.

#126  

This is great! Very cool work! Could you post a pic of how this is wired? Smoke is not good for my EZ-B!

United Kingdom
#127  

I was fortunate to get my hands on some AX 12 A Dynamixel servos recently and started to read through this thread to find out how to use them with an EZ-B. Then I see the thread take a bit of a nosedive in regards to issues using the Dynamixels, then it seemed to come back up again.

So I just wanted to ask, what is the deal with Dynamixels servos and the EZ-B now. Can they be used with no issues, or is there still something that I should be aware of?

Thanks guys.

#128  

Using a script from comment #120 you can program movements using the AX-12 servos and then play the movements back. It looks very cool and I will test it out when I get a chance. I want the AX-12 servos to work as easy as regular servos. I have 42 of the AX-12 servos to have fun with!

United Kingdom
#129  

@mcsdaver.

Thanks for your reply. Yeah I did see post #120 and that does look like fun. So I take it from what you said that the AX-12's cannot be used the same way as the other servos then? If that's the case then thats a real shame as like yourself, I would like to be able to use them as regular servos as well.

#130  

They work fine until you open AutoPosition and then they stop working. So setting up poses is a bit of a problem. The script in post #120 make them usable. I haven't tried it yet. I have tested AX-12 servos and they do work. Plug one into D5 and setup a servo control. Make sure to set it to AX-12 servo and the id number of the servo. You can chain many of them together. I think DJ said 50 of them at once.

#131  

@OldBotBuilder Have you gotten the EZ-B to talk to the Bioloid computer?

United Kingdom
#132  

@mcsdaver.

That's great. Thanks for the summery. So using them in an Auto Position is the only issue with using the AX-12's then at the moment then. That's good to know. I just wanted to ask one more question. How are scripts written to use these servos? For example...

Servo(D0,20)
ServoSpeed(D0,1)
Sleep(5000)
Servo(D0,90)

how would this example be written for a Dynamixel servo?

One other thing. What are the voltage specs for the Dynamixel/Robotis touch sensors (as I can't seem to find much info on them) and can they be used with the EZ-B v4?

User-inserted image

Thanks.

#133  

Hi @mtiberia

Thank you for developing the script to capture the pose of a robot using dynamixel servos and EZ-B. Nice work.

I have tried to connect 4 dynamixel servos into EZ-B and the script did found the 4 servos, but when it "start recording" EZ-B keep saying "oops i need to read the position again" and then says "reading", and the saying is repeating again and again.

Yet, there is no saying of "Move to next position please".

FYI, I have create a .txt file as per your instruction and placed the file address information in the ENTER A FILE NAME window.

Could you help me, please :)

PRO
Belgium
#134  

steve G

its 5 volt for the touch sensor.

User-inserted image

all ports are 5 volts

United Kingdom
#135  

Thanks Nomad.

PRO
Belgium
#136  

i have robotis installed on my pc.then you have all info you need. the above pic is port 3 on the left and port 4 on the right. left side is port 1 and 2 and on the right side is port 5 and 6 there are little marks on each port.

port1=l port2:ll port3=lll port4=llll port5=lllll port6=llllll

#137  

@mcsdaver, I have read the Zig-110 6 word packets that result when 'boomerang' buttons are pushed with the EZ-B4. I used UART 0 for that. I intent to send EZ-B4 generated 6 word packets from the EZ-B to the Bioloid (CM-530) computer from UART 1.

My idea is to let the 6 word command packets to the CM-530 come from the button controller or EZ-B scripts.

Unfortunately, I damaged my CM-530 during experimentation and will have to wait till mid week to be able to work more on the project. I will keep you informed of progress.

#138  

@ariffinastute

The reason Zira is repeating the same line is because I wrote a line in the script to check if the number of servos found initially matches the servos that are having there positions captured. Try finding the servos again and make sure all your connections to your servos are secure.

I have added an updated motion capture script that allows you more time to pose your servos. Just keep repeating " start recording " when your ready to capture your next pose. Just read the notes in the script window for the commands. It will repeat you captured motion over and over until you say " stop " which will pause the motion. Just say " play " to continue , anyway just read the notes and check the Speech Recognition module to figure out how the scripts work together.

AX12MotionCapture.EZB

United Kingdom
#139  

So is there a way to script Dynamixel servos equivalent to what I posted in post #133?

Anyone? confused

#140  

@ Steve G

You have to specify the AX port to use.

" Servo(AX0,50) " the AX0 port corresponds to the D0 port on the EZ_B. The only difference is that the position of the Dynamixel servos using ARC is from 0 to 100 not the 0 to 1023 that would by used by the Bioloid script or my EZ-Script control. Also check the previous posts because once you start using ARC to control you servos, it will change their settings. To bring them back just download the script example in #139 and click start on the " Change Delay/Read Only" module.

If you want to control your servos more easily using EZ-B add a second line to D6 and your dynamixel servo.

United Kingdom
#141  

@mtiberia.

Thanks for getting back to me. Maybe I'm not understanding this right, but I thought that Dynamixels only run on port D5, and AX0 corresponds to the servo addresses? This is where I'm having trouble converting a standard servo script like in post#133 to a Dynamixel servo script.

I've never tried Dynamixel servos before so this is all new to me. I have had a look at your Example Project but I'm still non the wiser. I would be greatful if you could translate or convert the script for standard servos in post #133 to Dynamixel for me as an example so I can compare the two? From there, I can probably work out the rest.

Thanks. :)

#142  

Your correct, you use the EZ-B port D5 to connect to the AX-12s but now you need to use the AX-12's ID to send them commands. AX0 is for servo id 0 and AX19 is for servo ID# 19 etc.

Code: Servo(AX19,20) # send instruction to the AX-12 servo ID#19 ServoSpeed(AX19,100) # if you use 1 it will not move Sleep(5000) Servo(AX19,90)

United Kingdom
#143  

@mtiberia.

Many thanks buddy, that's a great help. At least from this I can compare the two and build on it from there.

Much appreciated.

#144  

No worries , EZ-Script is very powerful tool for all us hackers. You can do some amazing things thanks to DJ.

#145  

@mtiberia I thought you could send from 1-180 not just 1-100 for servo position. My AX-12 servos move from 1-180. (Using a EZ-B V4)

#146  

Hi @mtiberia,

Thanks for you great help. I have tried your latest script, but still it says "oops i need to read the position again" again and again.

Also there is no full torque given to my Dynamixel servos as it is should be after, says "Don't worry I won't hurt them".

I'm so sorry, I really don't know what is the issues could be. FYI, I still am using 4 Dynamixel servos and my power source is 11.1V 2200mAh Li-Po Battery (1.5C).

I hope my Dynamixel servos is not broken. I don't really think it is broken, because when I try it on Dynamixel Configuration Tool, the servos works very smoothly.

Thanks again.

#147  

Sorry that was a typo it is 180. Ariffinastute try one Dynamixel servo at a time to track down the issue. Make sure they are set to communicate at 1000000 .

#148  

Hi @mtiberia

I'm sorry, I have tried to test one Dynamixel at a time, but still the result is same.

I have make sure that the communication, is as stated UARTInit(0,1,1000000).

#149  

@ariffinastute

Lets see if we can track this bug down. So when you ask Zira to find your servos all your servos are found and the settings are changed ?

If yes, then try this to test that you have a file to put the read positions in.

The easiest way is to check that it's in the folder. If its not, open a new window in ARC and write an EZ-Script to create a file and check that its there.

#150  

@mtiberia

First, I thank you for helping me on this situation. Yes, Zira did found 4 of my servo.

Despite Zira told that, she has found 4 of my servo and going to adjust their settings, but nothing happened to all of my servos, as it should be getting the reset torque, like on the script.

I stuck it here, I think the settings are not changed.

#151  

Do have the file in your folder?

#152  

@mtiberia

Yes, I do have the .txt file in my folder.

I have already changed the "path" from the original script of yours, to my own path of .txt file, which the example path ( "c:\Users\Mario\Desktop\Robot_Motion.txt" ) in the script are as stated in these three windows, Reading servo Position, Delete Motion File and Play.

#153  

@mtiberia, or anyone who has sent 6 word packet data to a Robotis CM-530 controller from an EZ-B4.

I have read the Zig-110 6 word packets that result when 'boomerang' buttons are pushed with the EZ-B4. I used UART 0 for that.

I have tried to send EZ-B4 generated 6 word packets from the EZ-B UART 2 to the Bioloid (CM-530) controller. The idea is to send the 6 word command packets to the CM-530 that come from the button controller through UART 0 or from EZ-B scripts through UART 2.

The packet contents captured by UART 0 (from the hand controller) and those sent by UART 2 from EZ-B4 have been verified by both 'scope and RealTerm capture. But- I cannot get the CM530 to respond to the EZ-B4.

My scripts are on EZ Cloud as: LESTER Start.

Any suggestions?

Thank you.

#154  

I have communicated with my CM-5 using a Bluetooth connection and Python. Your communication packet is correct.

I haven't experimented with Zig-110 / CM530 interface but I found this link.

http://support.robotis.com/en/product/auxdevice/communication/zigbee_manual.htm.

Maybe check your ID settings for the CM530/ Zig-110 interface in Roboplus manager ?

#155  

@mtiberia, Thanks again for your attention and excellent suggestion. I will use the RoboPlus Manager to look at the Remote ID that the EZ-B exhibits.