Home e-Manual

Maximum Acceleration the X-Series Servo is Capable of Achieving

  1. I am using a DYNAMIXEL XH430-W350-R servo in my experimental setup.

  2. The motion control of the servo is implemented by Simulink at a rate of 500 Hz using a real-time machine (Speedgoat).

  3. Currently the servo is set up (or will be set up in the final run) to use velocity control. It is also connected to a power supply that allows for the motion control and a signal to be sent to and read by a DAQ board.

I have designed a robot with this X-series servo to control the rotation of an acrylic wing about a vertical axis. The entire robot is submerged in mineral oil while running to dynamically scale the aerodynamic forces on the acrylic wing. I intend the velocity of my wing to gradually achieve a constant value while rotating. The period where the velocity moves from rest to this final value is relatively short. It will probably not exceed one or two seconds. I need to make sure that the acceleration the servo induces onto the wing apparatus is within the tolerances capable of the servo. It would be difficult for me to use the Wizard 2.0 tool (as I understand it) because it would involve taking apart the entire robot to do so. Rather, I can always adjust my kinematics to make sure the maximum acceleration is within limits since I have no interest in messing around with the PID gains to adjust them.

Hello @Rob1b1TY,
What a cool project!
I have not used the XH-430 series but I have used the XL-430 which is similar in features (but not in power).
If I understand your post correctly, it sounds like you are looking at a “trapezoidal” shape for the velocity profile? i.e. from rest to gradually achieve a constant rotational velocity at the end of 2 seconds? The Robotis e-manual has detailed descriptions of this mode at this link

https://emanual.robotis.com/docs/en/dxl/x/xh430-v350/#what-is-the-profile.

You will also need to check out these links about Profile Acceleration and Profile Velocity to set up for this “trapezoidal” profile. The timing resolution seems to be in milliseconds.

https://emanual.robotis.com/docs/en/dxl/x/xh430-v350/#profile-acceleration108

https://emanual.robotis.com/docs/en/dxl/x/xh430-v350/#profile-velocity112

Do you have some Rotational Position constraints too, probably?

Hope to be of help.

Hello @roboteer,

I am using a trapezoidal-esque shape for my velocity profile. I’m using logistic equations to smooth the connections between the curves. The time is also a parameter that I’m adjusting. I will attach an image of one of the velocity profiles and the equation I am using.
image
image
The maximum acceleration will occur at t_0 and is k*Omega/4. I don’t know if any of this will be helpful, but I thought it might be beneficial to put it here. One of my colleagues actually had to answer a similar question before but was not using a trapezoidal profile and found a method that gave him a rough upper limit of acceleration of roughly 8000 deg/s^2 for the servo.

I will check out the links you suggested and see what they say and maybe the values will be comparable. I didn’t find out that value I mentioned until after posting my question and when it was so large I wasn’t sure if it made sense. My PI seems to think it’s reasonably close to what is within the capability of the servo but he wanted me to confirm here.

Hello @Rob1b1TY,
Thank you for sharing the Velocity Profile needed, from there it looks to me that you have no constraints on Position Control, you just want to turn the XL430 in one direction for 15 seconds at 10 deg./sec, i.e. for a Position Change of about 150 deg. total, and make the actuator go the other way in a similar manner. So you will need to set the XH430 into Wheel mode (i.e. Velocity Control mode) https://emanual.robotis.com/docs/en/dxl/x/xh430-v350/#operating-mode11
And use Goal Velocity ( https://emanual.robotis.com/docs/en/dxl/x/xh430-v350/#goal-velocity104) to make it turn one way or the other, and then set Goal Velocity to 0 for 45 sec. at the end. All the timings will have to be done inside your main code. Also watch out for Velocity Limit (https://emanual.robotis.com/docs/en/dxl/x/xh430-v350/#velocity-limit44), you need to set that Parameter with the proper value to get the 10 deg/sec that you need. Please also notice the Robotis note about the default value of Velocity Limit being decreased since Firmware 42.

Hi @roboteer,

Sorry, I think some of what I said is leading to some confusion. This is just one case I will be running and it is yet to be finalized. Please only consider the image as a first draft, not the final run. The range of angular velocities will extend from about 10 deg/s to 150 deg/s. There may not be any position constraints from this profile on its own, but due to other parts of my setup, I need to make sure that the wing rotates no more than one revolution in either direction. I can explain the reason why if necessary but I want to avoid burying the lead.

The time to reach the max velocity is also a parameter I will be tuning when designing my final velocity profile.

Anyway, I think the links you have provided will be useful in helping me avoid any issues with the servo and I will take a look at them.