
fxmech
USA
Asked

How would you approach controlling travel speed on a Dynamixel (400 Series) servo when not using Autoposition? I tried setting ServoSpeed prior to calling a servo move command but it doesnt seem to work. Does it need to be done manually in a script using for-to loops and pauses? I could create a loop that takes you from point A to point be in increments rather than a single goto the endpoint command. That along with a pause between increments should do the job, but since AutoPosition has that built in, I thought maybe there was already a skill available to do it with. I can also try setting parameters onto the servo itself using the Dynamixel wizard, but was hoping to find a way within ARC.
Related Hardware OpenCM 9.04
Related Controls
Servo Speed
Dynamixel
Use the servo speed command in your script. I prefer JavaScript so here’s the link to the manual page: https://synthiam.com/Support/javascript-api/Servo/setSpeed
set the speed prior to moving the servo
It took me a bit to get comfortable with the javascript, but I finally got this to work as well as my EZScript version but still no control over speed. Here is my code:
I tried moving the set speed lines in and out of the while loop. I also tried changing the speed value from 10 to 1 but the servos move full speed every time.
I also copied the example code for the init script inside the Connection skill. I am running 3 dynamixel XH430-W350-R IDs 1,2 & 3 on openCM with expansion board on Port 0... The servos do move just really fast.
The code in the init script is:
any ideas?
Here is the ARC project so far evelynNoKey.EZB
I tested and the servo speed seems to work for me. Try using the latest dynamixel plugin and enable debug mode. Check the log to see if the servo speed commands are being acknowledged.
That is very strange... I will try it on Monday and also try doing a factory reboot on the motors just in case...
I went ahead and did a few things...
Sadly nothing changed and the servos continue to move at full speed no matter what number (1-10) servo speed was set to. The only way I was able to slow them down was by bypassing the Speed function altogether and doing something like this:
David, just saw your email last night and shot you off a reply last night, but looks like you are ontrack now.
What is strange is that I also grabbed a couple of XM540 servos and they behaved exactly the same as the others... Here is a video of the issue