Jerky AL5D arms on RIOS

Hi there,

I have a number of AL5D arms with heavy duty wrist rotate running on RIOS and I am consistently having jerkiness problems.

During configuration and when setting positions they will often jerk noticeably, particularly in certain locations within their travel. When playing back a sequence they will also jerk, although not quite as badly as when setting initial positions.

Slowing the speed down doesnt seem to make a significant difference - in fact speeding them up appears to make it a little smoother but then they operate too fast.

Some moves will run perfectly well and be very smooth, while others, on the very same rig, will be very jerky indeed. The jerkiness is most noticeable on the rotate unit and the elbow. The shoulder occassionaly exhibits some jerkiness, but not much. The wrist, wrist rotate and gripper don’t have a problem.

When the power is off all of the servos will move smoothly with no noticeable sticky points. The jerkiness occurs whether the arm is carrying something or not.

I am using separate power for the board itself and the supplied 6v power adapter for the servos (although it is running on Australian 240v as opposed to 110v). The power adapter does get pretty warm at times. Gut feeling seems to suggest a lack of amps but ive got no basis for this.

Also I notice that two of the servos don’t actually stop when you hit the ambulance icon - they simple lock in whatever position they are in at the time - you cant move them like you can the others. This applies to the shoulder and the elbow. I’m assuming this is as they are a different type of servo?

Hopefully someone can assist with this as it has been many weeks of trial and error and so far no joy in eliminating the jerks.

Regards

Keith Tucker
Megafun P/L

I would start to focus on the serial communications. There are some adjustments that can be made within RIOS that you should experiment with.

Smoothing, and the Settings for accel and decel. Also you didn’t mention what serial port you have. Is it true serial or USB to serial? If it’s USB then what make and model adapter are you using. There are settings in the drivers that can speed up the bidirectional communication which is probably the problem you are seeing.

The two digital servos will not turn off with the ambulance button. Not a problem, just how they work.

There are also timeouts setting in the com section that can effect this. Answer these questions and I will try to help you narrow down the focus.

Had to ask.

You mention running the 110V power adapter of of 240V, are you have a 120/240 step down transformer? Otherwise, you are over-stressing the adapter! This is also a safety concern. Over voltage on the servos will also kill them (I don’t know if the adapter is regulated).

I assume you just forgot to mention the step down transformer! And many are made to tolerate 120V to 240V.

Can you measure the output of the adapter? Excessive voltage could cause excessive torque, and exacerbate your problems.

Alan KM6VV

Nowadays most wall packs accept 110 to 220. This makes it easier because manufacturers only have to change the plug. There could be power issues, but I’m thinking com problems here.

I thought that might be the case, but still possibly worth mentioning.

It will be interesting to discover the solution.

Alan KM6VV

Hi, and thanks for the rapid response.

Firstly, yes the power adapter is rated 110-240 so no problems there (I’m sure there would have been problems if it wasnt! :slight_smile:

The com ports are genuine coms, not USB. Baud rate is 115,000 as is the default and i tried raising it as the ports will cope, but RIOS doesnt seem to support higher rates.

I have had a play with the smoothing features and tried settings for accel and deccel although i am stabbing in the dark a little. Same goes for the time out settings - i can change them but dont really know exactly what to expect and cant see anything obvious.

Just out of interest, what is the difference between a digital and analogue servo if they are receiving exactly the same data from RIOS? Are the digital ones digital internally but take an analogue control signal or something? Are they interchangeable? And if i have a servo getting stressed am I able to just upgrade it to something gruntier - or is it not as simple as that (I’m sure it wont be as i see hitec make a huge range of servos so they must have specific purposes).

Thanks again for you assistance.

Keith Tucker

Have you looked over the RIOS manual. there are detailed instructions pertaining to adjusting the Timeouts to fix communications problems. Also have you looked at the serial port troubleshooting guide I linked? There are settings for the serial ports transmit and receive buffers that can effect the efficiency of the serial port. Can you post a video of the problem so we can see it?

Analog and digital servos respond to the same pulses generated by RIOS. The range may or may not be the same as there are several versions of digital servos. Digital servos do not turn off if the pulses are stopped, they will just hold the last commanded position. Yes you can swap out a more powerful servos, but you will need to do the calibration again.

Hi again,

I tried to post a video but it appears to have failed. I assume because it is too big. What are the size limits for posting?

I will review the adjustments in the manual etc as well, although im surprised that the com port would cause these issues - we do a lot of other work through serial and we get massive data transfer rates at only 19,200 baud - so i can only assume that the robot is polling the serial at an amazingly high rate to cause jerkiness at 115,000?

Keith Tucker

Keith,

What exactly do you mean by “posting” video? Attaching files is meant for small files like images or code; video files would be far too big.

The easiest way to post a video is to make a Youtube account, upload the video there, and then embed that video here using the https://www.youtube.com/watch?v= button. Let me know if you have trouble with this.

I have uploaded a video of the robot onto You Tube.

The link is:

Any help on reducing its jerkiness would be appreciatted.

Regards

Keith

From what I can see the arm is working very well. I would call it stepping, or something. It’s not jerking that’s for sure. The only way to improve the smoothness of the motions would be to alter the PID of the servos used, which is pretty much impossible. Remember this arm costs a few hundred dollars not a few thousand. :wink:

Nice project by the way. What’s the purpose?

Considering the components are for hobby use, it seems to perform very well. The assembly is going to flex which is absolutely normal and nothing you can do about it except ramping the motions in your software code perhaps. If you need it to be more rigid, you would need a design that does not use thin brackets, instead, you would need components made of billet aluminum bolted together with bearings large enough to take the loads. Stronger servo motors would also need to be used to take the extra weight of the materials with some leftover strength to pick up objects.

From what I see in the video, it seems to do what you want it to do. With some more polish to the code, you can probably increase the performance.

Good job on the project.

Hi there,

Thanks for your advice.

The project is one which delivers chocolates to people on the press of a button in a fun exhibition about chocolate.

The jerkiness doesn’t seem to relate to movement or flexibility of the components as sometimes the arm can be very smooth - it seems to be control data of some sort as it moves in steps rather than fluid movement. The weight of the chocolate is pretty much irrelevent as it is only 5g and the delivery drawers have been designed to minimise stress as the arm pulls and pushes them.

I appreciatte that it is a hobby arm, however I have been unable to find one that is another step up. Are you aware of any other more industrial arms out in the market? Alternatively would it make any difference if I upgraded the servos in the existing arm?

In the end the arm does the job and it is a great fun thing to have for people to play with, but it would be great if it could be more fluid.

Thanks again for your support and advice.

Keith

A good power supply that can supply several amps current might be worth a try.

Very cool project!

I have 10 AL5D’s, and we started with the heavyweight wrist rotate. When we moved to the lightweight ones, they were much smoother because there is less weight on the end of the arm. I believe that these are plenty strong enough for your chocolates! It made the arm much more balanced, and the servos don’t have to work nearly as hard.

We also found that running them through a USB to Serial converter helped as well. Don’t ask, because I don’t know why, but ours seem to run smoother through the converter. It depends on the converter though. The one that Lynxmotion sells is very good, as it has low latency, and I have had enormous success with one from IOgear.

I am definitely not a software guy, I was just wondering if you have tried either of these alternatives?

Thanks so much for that advice on the power supply, wrists and the USB converter. Interestingly I had noted that it seemed to work more smoothly through the converter when testing but i just thought it was coincidence.

I’ll give those things and the increased power supply a try and see how it goes.

Thanks again for your help everyone.