Questions about python SDK

Hello everyone:
I am happy to get 2 uArm swift pros and I am going to control them by python. :slight_smile:
However, I face lots of problems since I am new to programming. :frowning:
After searching for lots of information on the internet, I am still not able to do these by python scripts and I really appreciate your help.

  1. Calibration:
    I have to use Arduino IDE to calibrate my arms now. Are there any ways to calibrate it by python?

  2. Output pulse width modulation(PWM) signals
    I want to connect uArm to a peristaltic pump and the flow rate of it can be adjusted by the PWM signal. I know that there’s an Arduino board in the arm. Is it possible to connect the pump and the digital pin on the board and then make use of python to generate PWM signal?

  3. Make 2 arms work individually.
    I want to make 2 arms be like a production line like this figure. https://imgur.com/tles6eI
    Let us say arm1 is going to operate in area A for 3 minutes and then produce an item called X. Arm1 will then put X in someplace in area B, then arm2 will take it to area C to do other things for 5 minutes. What I am doing now is to write a for-loop to operate this. However, arm1 will stop at area B while arm2 is operating in area C but what I want is that arm1 will go back to area A and produce Y while arm2 is working on X. Are there any solutions or some keywords for me to learn it from Google?

  4. Decrease the threshold of the sensors on the suction cup
    I am trying to use the suction cup to get some jelly but it often breaks while the suction cup is pressing on it.
    Are there any ways to make the sensors react earlier after touching the surface?

Thanks for every comments and suggestion. :slight_smile:


UFACTORY Website
Official Store
uArm User Facebook Group

Feedback:
English Channel
中文通道

Calibration:
I have to use Arduino IDE to calibrate my arms now. Are there any ways to calibrate it by python?
Normally, no need to calibraion , we did it before ship it to you, and we do not recommend you to do calibration by yourself if the uArm is working well, it will loose some accuration if you calibrate it.

Output pulse width modulation(PWM) signals
I want to connect uArm to a peristaltic pump and the flow rate of it can be adjusted by the PWM signal. I know that there’s an Arduino board in the arm. Is it possible to connect the pump and the digital pin on the board and then make use of python to generate PWM signal?
The main problem is not Python, you have to change the firmware of uArm, or you could use an extra Mega 2560 board.

Make 2 arms work individually.
I want to make 2 arms be like a production line like this figure. https://imgur.com/tles6eI1
Let us say arm1 is going to operate in area A for 3 minutes and then produce an item called X. Arm1 will then put X in someplace in area B, then arm2 will take it to area C to do other things for 5 minutes. What I am doing now is to write a for-loop to operate this. However, arm1 will stop at area B while arm2 is operating in area C but what I want is that arm1 will go back to area A and produce Y while arm2 is working on X. Are there any solutions or some keywords for me to learn it from Google?

Decrease the threshold of the sensors on the suction cup
I am trying to use the suction cup to get some jelly but it often breaks while the suction cup is pressing on it.
Are there any ways to make the sensors react earlier after touching the surface?
The limit switch dose not always work, you may do this by adjust the height.

Thanks for your reply!
Let me ask one more question, please.
I do calibration every day because every time my uArm turns on/off there would be about 2mm deviation.
Is that means I have to service?

Not quite clear about 2mm deviation, is it accumulated each day?
Or something like if you set z=150, it always reach a z in 148 to 152?
Or if you could show the problem by video/image it will be better.

Thanks

Sorry for the unclear statements.
I used the universal holder to hold a pen and ask the arm to slightly touch paper.
Then a dot will exist on the paper.
Then I turn off the arm and wait for about 5 minutes and ask the arm to do the same thing.
There were two dots on the paper and the distance is about 2 mm.
It is not accumulating, I didn’t see any bigger deviations even longer time.

Thanks for your reply.

It seems that has nothing to do with the calibration, that calibration is to reduce the deviation of the z aixs. Did you use the firmware 3.2.0? How long have you used the uarm?

I use 3.2.0 most of the time and I got the arm in July this year.
Thank you.

That should not be the motor issue since you just get it a couple of months, how about shoot a video about the isseu and post the link here to let us know the details?

That is an excellent control. Everyone knows the accuracy of the uArm is about 2 mm.

You are right that the uArm subsequently seems good at going to that slight off position. That is repeatibility.

My advice is to ignore the first position and focus on the second. Make sure the second position is actually where you want to go because that one is going to be accurate and repeatable.

This week I kept trying to reproduce it but the deviation is not as big as before these days. :sweat_smile:

Here I upload the video to show how I did this.

A universal holder is used to hold a pen.
The arm is programmed to draw 3 dots on the paper.
After 5 times I turn off the arm then turn on after about 10 minutes.
The dots overlapped and became a bigger dot whose diameter is about 1mm.

OK. You’d better fix the paper and the uArm.

1 Like

Thanks for your suggestion, it is very useful.
I agree with you that uarm is very precise when it hasn’t switched off.
It seems like I have to modify some components of my device because I use 96 well plate whose diameter is 7 mm.
This 2 mm really matters.
Thank you again:slightly_smiling_face:

If the target is 7mm and your error is 2mm and you aim for the centre, aren’t you guaranteed to be on target?

But what I want to put into the 96-well plate has 4.6 mm in diameter.
That’s why I mentioned I have to modify everything of my setup. :sweat_smile: