Scara kinematics

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 or Create an account to join the conversation.

More
7 years 4 months ago - 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.

File Attachment:

File Name: halscope.log.gz
File Size:8 KB
Last edit: 7 years 4 months ago by sliptonic. Reason: attach

Please Log in or Create an account 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 or Create an account 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.



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.



But with joint1 positive, it doesn't

Please Log in or Create an account 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 or Create an account 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.


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 or Create an account to join the conversation.

Time to create page: 0.138 seconds
Powered by Kunena Forum