Asked — Edited

Servo Commands With More Than One Ez-B

How do I set the board id for servo commands in a script if there is more than one EZ-B in a robot?

In the manual for the following commands, I don't see a way to specify board 0 or board 1. I have searched the website expecting to see something about how to do this but haven't found anything on it yet. I also searched the FAQ and tutorials but haven't found how to specify board 1's ports for these commands.

SetServoMax (servoPort, position) SetServoMin (servoPort, position) Servo (servoPort, position) ServoSpeed (servoPort, speed)

I am baffled at the moment that the board ID doesn't exist in these commands, but maybe I am just missing something. If someone would be so kind as to provide help on this, I would appreciate it, and will write up a tutorial on how to do this.

Thanks David


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!


I found the answer I think.
servo(1.D0,90) # move servo on ezb4 board 1 servo(2.D0,90) # move servo on ezb4 board 2


David, when editing code there is an ezscript manual to the right of it. I would recommend viewing that manual for ezscript syntax commands as it's documented in there.


This is where I started for clarification

This is from the manual.


Servo (servoPort, position) Move servo to the specified position Servo position is between 1 and 180 Example: Servo(D14, 25)

SetServoMin (servoPort, position) Set the minimum limit that this servo can ever move to Servo position is between 1 and 180 Example: SetServoMin(D14, 40)

SetServoMax (servoPort, position) Set the maximum limit that this servo can ever move to Servo position is between 1 and 180 Example: SetServoMax(D14, 100)

ServoSpeed (servoPort, speed) Set the speed of servo or PWM. This is the speed to move between positions. The servo speed is a number between 0 (fastest) and 10 (slowest) *Note: To initialize the ServoSpeed() at first use, set a Servo() position before using the ServoSpeed() command. If there is no previous position (such as during power-on), the software assumes the position is 0 and will cause issues with your robot. *Note: Once the ServoSpeed() has been initialized the first time, specify the ServoSpeed() before specifying the Servo() position. Example: ServoSpeed(D14, 25)

I went through the tutorials and didnt see anything about this.

I then searched the community forum using "Multiple EZBs set servo position" I think and didnt find anything.

I then went to the learn section and didnt find anything.

I then went to the online manual thinking that maybe the online manual is more current. Couldnt find anything.

I then started the Request assistance thinking that I cant believe that it has come down to requesting assistance on something that I knew existed, but couldnt remember how to do it. I then went back through all of the different options again before posting the Request Assistance request.

I then searched for InMoov Init Script and found a post that Richard had posted. I hadn't thought of searching for InMoov Init Script to find the answer to Multiple EZB's set servo position but it worked. I updated the request and set it to resolved by AI.

I always look for answers prior to posting questions. I think I went pretty far in trying to find the answer, but I guess not far enough.



Just on a hunch, I just searched the manual for the following which all returned no results.

( 1. (1. 1.D boardindex.

I don't think the answer is in the manual. It may need to be updated.




Multiple EZ-B Boards

ARC supports multiple physical EZ-B Boards connected to your computer. You can specify the board by putting the board number in front of the port. For example: Servo(2.d0, 8) will move the D0 servo on EZ-B board #2 to position 8. If no board index is specified, the first board (zero) is assumed. If using more than one board, the first board is always responsible for movement panels.

Found it. It is in there, just didnt keep going after I found the servo command. I guess I should have clicked next a few more times.