apockill / uArmCreatorStudio

uArm Creator Studio is a Visual Programming Language for robot arms, with a heavy emphasis on computer vision and usability for both low experience and high experience programmers. It's written entirely in Python, and supports python scripting within the application.
82 stars 39 forks source link

uArm Servo Speed---Creator Studio #26

Closed alwayslearningsomethingnew closed 6 years ago

alwayslearningsomethingnew commented 6 years ago

Hello,

I'm new to the uArm world and am using some projects with a uArm metal to help me learn very basic programming.

I had some success using the uArm Creator Studio "custom" Python tool that allows one to enter script. However, the remaining issue I am having is with servo speeds. The documentation states that the servo speed settings are in cm/sec and it seems that the lower speed minimum is still pretty fast (i.e. ~1 cm/sec). Is there a way to change the default servo speeds to something very slow? I know that if programming directly through Arduino one can setup servo speeds on a 0 to 255 scale in order to achieve fine tuned control

uarm.setServoSpeed(SERVO_R, 0); // 0=full speed, 1-255 slower to faster uarm.setServoSpeed(SERVO_L, 0); // 0=full speed, 1-255 slower to faster uarm.setServoSpeed(SERVO_ROT, 50); // 0=full speed, 1-255 slower to faster

However, is there such a capability through uArm Creator Studio?

Thank you very much for the assistance.

Regards

apockill commented 6 years ago

Hi there!

So here's the deal, as I know it: The uArm Metal isn't super great at precise motions. Unfortunately the usable accuracy of the uArm is already around 1cm as it is, and trying to control motion slowly is a problem because of how the uArm firmware tries to control the speed: It fakes it. That is, it simply tries to tell the servo "move .1 degrees to the right" instead of 1 degree, but the servo will simply ignore that command until those .1 degrees add up to 1 degree anyways.

So while it might be possible to slow down the speed further by faking it, it would look a bit choppy (I think...)

Could you try something for me to verify my theory? (I don't have a set up uArm Metal available at the moment): Follow this tutorial for making a recording with the uArm, and try moving it very slowly and carefully.

Tell me if that ends up being choppy, or if it works well. Thanks!

alwayslearningsomethingnew commented 6 years ago

Alex

Thanks for the information

When using the recording mode the robot controls relatively well at slow speeds (though it has terrible accuracy)

Sent from my iPhone

On Nov 30, 2017, at 10:23 AM, Alex Thiel notifications@github.com wrote:

Hi there!

So here's the deal, as I know it: The uArm Metal isn't super great at precise motions as it is. Unfortunately the usable accuracy of the uArm is already around 1cm as it is, and trying to control motion slowly is a problem because of how the uArm firmware tries to control the speed: It fakes it. That is, it simply tries to tell the servo "move .1 degrees to the right" instead of 1 degree, but the servo will simply ignore that command until those .1 degrees add up to 1 degree anyways.

So while it might be possible to slow down the speed further by faking it, it would look a bit choppy (I think...)

Could you try something for me to verify my theory? (I don't have a set up uArm Metal available at the moment): Follow https://www.youtube.com/watch?v=a-XJ92C7A2s&index=2&list=PLvciccMYGISk_aQh-Yyj1BZ7bRQhAJ77K tutorial for making a recording with the uArm, and try moving it very slowly and carefully.

Tell me if that ends up being choppy, or if it works well. Thanks!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.