Scara kinematics

More
7 years 4 months ago #138238 by andypugh
Replied by andypugh on topic Scara kinematics
I think that the interesting pins are the three joint.N.motor-pos-cmd pins.

If those jump by more than a f-error then that's the problem.

Also log the motor-pos-fb pins. Perhaps this is an encoder reset?

Please Log in to join the conversation.

More
7 years 4 months ago #138259 by sliptonic
Replied by sliptonic on topic Scara kinematics
I'm not sure how to interpret this. Does it make sense?
imgur.com/t2aejTN

BTW, I have run both Machinekit and Linuxcnc on this machine. At the moment, I'm set up for machinekit because I'm testing a remote UI being developed to embed in FreeCAD. If you think that's related, I can reinstall with linuxcnc. Any issues building with Debian Buster?

Please Log in to join the conversation.

More
7 years 4 months ago #138260 by andypugh
Replied by andypugh on topic Scara kinematics

sliptonic wrote: I'm not sure how to interpret this. Does it make sense?
imgur.com/t2aejTN


Hard to say at that scale. Can you save the raw data file and post it here?

(in Halscope it is file-> save data file )

Then we can open it locally and poke through the data.

But, clearly, something mad happens at one point.

Please Log in to join the conversation.

More
7 years 4 months ago #138262 by sliptonic
Replied by sliptonic on topic Scara kinematics
Attached. The more I play, the more I'm beginning to suspect that it's joint 1 related. Maybe just tuning that servo but I still don't understand why it's only in world mode.

Attachment not found

Please Log in to join the conversation.

More
7 years 3 months ago #138428 by andypugh
Replied by andypugh on topic Scara kinematics
Code:
axis.0.motor-pos-cmd axis.0.f-error axis.1.motor-pos-cmd axis.1.f-error -13.40773781 0.002209398 1.908533303 -0.028721848 -13.40768487 0.002262324 1.907574159 -0.029680982 -13.40763193 0.002315259 1.906615004 -0.030640127 -13.40757897 0.002368205 1.905655839 -0.031599281 -13.40752601 0.002421162 1.904696664 -0.032558446 -13.40747303 0.002474128 1.903737479 -0.030303336 -13.40742004 0.002527104 1.902778284 -0.031262521 -13.40736705 0.002580091 1.901819078 -0.029007431 -1.648651279 0.002633088 -28.08839273 -0.029966637 45.38594605 11.76134886 -148.0460426 -30.01374987 57.1441282 58.78394619 -178.0346557 -149.9456854 57.14354085 70.52112833 -178.0336964 -179.8925128 -13.34700013 70.49054099 1.806428571 -179.840125 -13.30800013 -0.039 1.742142857 0.064285714 -13.26900013 -0.039 1.690714286 0.051428571 -13.23900013 -0.03 1.645714286 0.045 -13.21200013 -0.027 1.62 0.025714286 -13.18800013 -0.024 1.5975 0.0225 -13.17000013 -0.018 1.584642857 0.012857143 -13.15800013 -0.012 1.568571429 0.016071429 -13.14600013 -0.012 1.555714286 0.012857143 -13.13700013 -0.009 1.539642857 0.016071429 -13.12800013 -0.009 1.517142857 0.0225 -13.12200013 -0.006 1.481785714 0.035357143 -13.11300013 -0.009 1.44 0.041785714 -13.10700013 -0.006 1.391785714 0.048214286 -13.09800013 -0.009 1.337142857 0.054642857 -13.08900013 -0.009 1.2825 0.054642857

It really looks like, for some reason, axis.1 wants to flip from 1.9 to 180-1.9 and axis.0 from -13 to 90 + -13.

So it is an elbow inversion. Which leads me to suspect that your home angles are not right, if this is not an obvious elbow inversion the actual robot.
(Or there is some other wierd thing going on in the maths)

Please Log in to join the conversation.

More
7 years 3 months ago #138442 by sliptonic
Replied by sliptonic on topic Scara kinematics
Interesting. That helps to clarify a little bit. Playing with it a bit more I can now say that the error happens when joint1 goes from >=90 to < 90 degrees.

My configuration matches the description in scarakins.c. Ie when both joints are extending directly along the X axis away from the pedestal they are at 0 degrees.

Attachment not found



This matches the scara sample config as well: /sim/axis/vismach/scara which is really confusing. Jogging the joint in a positive direction results in a counter-clockwise motion (for both joints) That seems exactly backwards to me but it matches the sample config. :huh: I can't tell if the sample has the same following problem at the same point because it won't enter teleop even with all joints homed.

The problem doesn't seem to be related to physical inversion of the elbow but it does make a difference which way the the elbow is oriented. With joint0 positive and joint1 negative, it works and I can cross the -90 degree point without error. Perhaps this is just a limitation of the scarakins and I'm not understanding how it should behave.

Attachment not found



But with joint1 positive, it doesn't

Attachment not found

Please Log in to join the conversation.

More
7 years 3 months ago #138443 by andypugh
Replied by andypugh on topic Scara kinematics
The LinuxCNC 2.8 version of the scara vismach does home and go in to world mode.
I see that you are using Machinekit? That has not had the major updates for non-cartesian machines that are in the LinuxCNC 2.8 version.

You _might_ be able to switch it to world-mode with the $ shortcut, but I don't have a machinekit install to test with.

Please Log in to join the conversation.

More
7 years 3 months ago #138457 by sliptonic
Replied by sliptonic on topic Scara kinematics
$ sign is a neat trick! It works, but only the first time. I can home and then $ into teleop but it won't work again after exiting teleop or re-homing. (Strange that my actual config doesn't have this problem. No matter.)

The sample scara config puts the home position for both joints at 0 and that's only place you can enter teleop in the example.
I changed the home position so after homing it ends up in 'bent left' position and it gives the same following error when joint1 passes 90 degrees! So I guess this is just a matter of using it right.

Note to future self and other scara users. Scarakins assumes the arm is 'bent to the right' like this.

Attachment not found



Now if I could only figure out where the machine limits and come from.
In the correct orientation and homed, I have machine limits of X:+230 to +400 Y:-390 to +390 I guess that means it assumes the center of the pedestal is at world coordinates X0Y0.

Please Log in to join the conversation.

More
7 years 3 months ago #138465 by andypugh
Replied by andypugh on topic Scara kinematics
This might warrant a bug report.
I also found that if you jog in world mode in such a way as to straighten the elbow then it doesn't know how to bend it again.

Please Log in to join the conversation.

More
7 years 3 months ago #138533 by sliptonic

Please Log in to join the conversation.

Time to create page: 0.072 seconds
Powered by Kunena Forum