Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.
Get Started

Asked — Edited

Auto Position Help

In "auto position" control, how do I distinguish one D0 from the other D0 on the same connection (connect 0 to 4)?

I am using a vertical servo control and a horizontal servo control on the same I/0 port D0


Related Hardware EZ-Robot EZ-B v4
Related Control Auto Positioner (Gait)
AI Support Bot
Related Content
In the Auto Position config, you can see a number before the port. That number is the board index. In this example, take a look at the number 0 and number 1 before the D0. Meaning, board index 0 and board index 1.

User-inserted image

To select the port and board index, select the servo port button and edit the config. This is the same for ALL robot skills that use servos across ARC entirely. It's documented in the link I pasted above about how servo controls work.

User-inserted image
#6   — Edited
I am trying to explain my problem:

I use a continuous servo D0 because it has a "stop" function so the arm doesn't keep moving

The vertical servo D0 does not have a "stop" function, it just has a slider (probably wrong term)

I need both to control movement

I hope I am explaining myself clearly

#7   — Edited
I still do not fully understand. What I believe to understand, any servo connected to D0 is the same servo. Please follow the manuals, which explain in greater depth what I'm repeating
#8   — Edited
I understand your pictures and the manual 

Now what do you do when you have "two" D1s and D2s?

User-inserted image
#9   — Edited
Your screenshot has one (1) single servo on index #2 port D2. I am not able to relate the screenshot to your question.

PS, you can't have 2 D2's. Each board has only 1 (one) D2. You can have a D2 per board index. A board cannot have two D2s. Each port of a board has a number (d1, d2, d3, d4.... etc). A board does NOT have two of the same port. For example, a board will never have (d1, d1, d1, d1, d1)

This applies to EZ-Robot EZ-B v4, Arduino, IoTiny, Open CM, etc... Absolutely no board ever created in the history of time has ports with the same name.
#10   — Edited
look at the 3 above, they are all on the same D2, port 2
#11   — Edited
Sorry, I'm unable to assist any further - the question has been answered. Please read the manuals and follow the tutorials that I specified earlier
ok thanks for your help
@EzAng  a servo has only a set amount of movement 90 deg clockwise and 90 deg anticlockwise.  or 180 deg total movement nothing more.  if you you a servo on say an elbow the servo does not know it is doing a up and down movement it only knows it can move 90 deg clockwise and 90 deg anticlockwise.   when you select either a horz servo or a vert servo from the servo choice window it really does not matter which one you choose it is only used to set the limits for that servo if you choose the wrong one it will not matter as the servo's limits will be set.  your right elbow will have one servo and you left elbow will have another  eg. right servo will be D2 and left will be example only D3 . no two servos can share the same port.  When you are doing your Auto Position is when you give each servo a different task.    and it makes no difference whether  it is a vert or horz servo. it does what you tell it.  I think horizontal servo  and vertical servo should only have one choice and call it "set servo limits"    or adjust your servo limits. would be another good name.
#14   — Edited
Hi NallyCat,

I am using 360 rotation servos - Also a servo City gear box
User-inserted image

I am using for example D0 port, continuous servo (with a stop function) and a vertical servo (with no stop function) both on D0 - I use the stop function as a panic button when the arm keeps moving :-) 

It all works well but not with Auto Position - the question was - In the Auto Position control, how do I distinguish between a vertical servo D0 and and a continuous servo D0?  It seems that in auto position you can only use one D0 - I need 2 D0s , one for the continuous servo (with a stop function) and a vertical servo (with no stop function) - I hope I am explaining myself correctly

the horizontal servo is too fast - the vertical servo, with the slider, is slower to manage


@EzAng what joint will that servo be used on your Robot?    there is no stop function except what you make with setting the servo limits.  so we need to know what part on the robot it is going to be used with.
#16   — Edited
Look above at the picture of  the robot, you can see the arms,
@EzAng   From your picture I see one servo for each joint.  so each servo gets plugged into the controller.  if you will be using a mouth it is best to plug that into D0  then make on a sheet put the servo for each joint and what port it is plugged into .  then adding a servo make sure it is assigned to the port it is plugged into then move the arrows  to move the servo to find the range of motion you want I mark the numbers down then use add servo button and continue with each servo testing the range of motion of each.  after you have them all set approx, then you can finetune until you get what you like.  In the Auto Position generally you make a frame that puts all the servos in a  relaxed state with the robot in a standing position.  so when you make voice commands and use the command like robot stand or stop the robot will go into that state.    there a lots of tutorials available for this.
I'm late to this but if a servo moves a part of the body up and down that's a vertical servo if it makes a part go side to side it's horizontal.
@Offiously   Obviously you did not get my explanation.   a servo moves a certain distance clockwise or counter clockwise.  you set that servo certain limits so it will not exceed the range of the joint YOU decide to put it in.  the servo does not know or care about right left up or down.    it is not the servo that cares about whether it is going up or down right or left it is the joint on the robot not the servo that is given those designations.  so a servo setup option should only show how much to move clockwise or counter clockwise. not whether it is going up or to the left. set a servo on your desk then  set the limitations with horz servo or vertical servo. the result will be the same. no difference.
#20   — Edited
Has anyone read the first paragraph of either the vertical or horizontal servo skill manual?

also ezang, you cannot use a continuous rotation servo as a regular servo. Please read how a servo works in the docs section of this website to learn what a servo is and the different types
#22   — Edited
I pasted links earlier. The issue is - there’s a misunderstanding that when a horizontal or vertical servo skill is added, that they somehow have an affect on the type of servo. Read the first paragraph of this: https://synthiam.com/Docs/Skills/Servo/Vertical-Servo?id=16095

also, the servo control society says something similar. 

lastly, due to the fear ratio for your robot, a 180 servo won’t work. You’ll need a servo that has multiple turns. These are also called winch servos
Thanks again, I read the link you posted again and I will looking into winch servos.

Have a great week end.

@ DJ Sures,

In your post #5 Jun 24. Can we now use only one Auto Position config to use 4 ezb v4 1/2 controllers as long as each ezb v4 board index 0 thur 3 is used for each ezb v4?
Before Synthaim, using ez-robot we had to use multiple Auto Position config's for each ezb v4 controller then use ControlCommand() to instruct the movements of multiple Auto Position for each ezb V4 board. 

Hope I made sense.  Thanks  in advance.