Asked — Edited

Servos Run In Wrong Directions?

I'm 3D-printing the parts to build the humanoid robot. I followed the instructions on building the robot but my own servos with metal gears run in wrong directions. For example, I told the robot to take a bow and the robot bows backwards instead of forwards. I thought that all servos MUST run in correct direction. Any suggestions?


Upgrade to ARC Pro

ARC Pro is more than a tool; it's a creative playground for robot enthusiasts, where you can turn your wildest ideas into reality.


Either your servos were installed backwards(Clipped in backwards) or you scripted the robot backwards(IE 60 degrees vs 120).


There is no checkbox for "Invert Direction" in "Servo Profile" configure or advanced window. I'm not sure if I can set Min at 180 and Max at 0 or 1 in servo Setting window for servo Controls.



I thought that all servos MUST run in correct direction.
"Correct Direction" is a relative term. A given servo will run in a direction dictated by it's construction and how it interprets the signal applied. How it inteprets the control signal can vary. Many servos, for example, will only turn through a 90 degree angle range. Others, 180 degrees. Some are programmable to run through whatever range you want, usually up to 180 degrees. Others just keep turning through a 360 degree range and the applied control signal is interpreted as a speed control instead of angle.

It seems like you are running some type of servos other than the usual ones which come with EZ-Robot kits. So the first thing to do is run a test on direction.

Place a Horizontal servo control in your project (Project-Add Controls-Servos-Horizontal Servo), Then set it up to some servo (digital) port and set the min to 1 and the max to 180. Save. Plug your servo into the selected port. Turn the servo such that the servo spline is pointing upwards. As you change the control's adjustment with your mouse, the servo should turn clockwise as the number (degree setting) goes down. If it does go clockwise then all should be well. Otherwise you will have to flip the servos around on the JD. That will be a problem, however, on the shoulder servos. You will have to change the numbers in the Autopositioner to accommodate the backwards operation. Same for the head and foot servos.


GGGRRR! The servo turns anti-clockwise when the number in the Horizontal servo control goes down and clockwise when the number goes up. If I can invert the direction in Horizontal servo and Vertical servo controls, why can't I invert the direction in servo Profile controls? How can I change the numbers in the Auto Positioner?


Well, that answers that question.

To change the numbers in the Autopositioner you have to go to the individual frames and change the numbers (settings) in each one. There is a tutorial on the Autopositioner here:

There you will also find additional links to more on the Autopositioner control.

I'm afraid this will be an ongoing problem for you since everyone else will be using the standard EZ-Bits servos and orientation for the JD robot. That means any script you see that directly affects the servo position will have to be modified to accommodate your particular case. I'm wondering if you could go into the servos and reverse the motor wiring? Assuming that doesn't screw up suppressor diodes. Might be worth a try with one to see what happens.

One more thing. Currently, Brookstone is having a 2 for one sale on some EZ-Robot parts, including the servos. So, if you wanted to change them out, now would be a good time to get some. Be aware, however, EZ-Robots will be changing over to digital servos in the coming months so you might want to wait for that. The digital servos, however, will, most likely, be more expensive. Though I don't know that for sure. They will certainly be considerably more expensive than the ones Brookstone is selling right now at what amounts to half price.


The images for the Auto Positioner control are missing when I try to change images. I think that Brookstone doesn't have micro servos that I need to buy.


I'm not sure what images you are referring to? There is a background image and the little blocks representing the servos themselves.

Yes, unfortunately micro-servos are not on the Brookstone menu. Stemfinity has them but not at half price.


The image that I'm referring to is the image of the humanoid robot in T-pose in the Auto Position servo configuration window where there is "Change Image" button. If I click on that button and try to load a file, I get "Error loading image: Out of Memory"


Can you not just close everything down and reload ARC then download a fresh default JD sample project from the cloud? I have no problems with the JD sample project...


I started with a blank project. I placed 12 Horizontal servo controls in the project. I placed Auto Position with Movement Panel in the project. When I check on the icon that looks like a gear, a blank window came up and I tried to add an image of the humanoid robot but I can't find any image files. I tried turning the arms upside down in the T-pose and they appear to work properly but I'm not sure.


You should not have to add an image of JD. It should already be there... The Auto Position should be there as well... Are you sure you are downloading the JD sample project from the cloud?

See below... User-inserted image


If you want you can add your own image, but you will have to provide it... Most people use a picture of their actual robot...


How can I get an image of the JD? The JD sample project doesn't have an image of JD that I can use in other projects.


Get a picture off of here or the web somewhere?... I use a picture I took of my inMoov as a background for the movement panel...

Maybe that image is available somewhere? No sure maybe someone else knows...?


the image of JD comes from the design files - which means for a new project, simply use the MERGE button and select the JD project. Answer yes to import the 3d design.

If your new project doesn't include the 3d design, then you're not making a re-usable robot project.


For the next version of ARC software, please add "Invert Direction" checkbox to ALL servo controls. I found out that one brand of servos rotate in one direction and another brand of servos rotate in other direction. I already have servos that rotate in wrong direction and I don't have the money to buy new servos.


Something to consider! Ezrobot servos are designed for the platform and tolerate 7.4 volts

We can also not guarantee that reversing directions will result in the same servo positioning of after market servos.


Is this correct when inverting directions?

180 - incorrect value = correct value

For example: 180 - 150 = 30