Help with new CRS A255 5DOF robot arm simulation

More
10 Apr 2013 10:54 - 10 Apr 2013 10:56 #32510 by sholmes
Ok, so I've worked through the D-H parameters and am satisfied that I have the correct setup now. I'll post my files later for the reference of others.

I've been thinking long and hard about this, and think I have a reasonable hypothesis and either A) I hope I'm wrong or B) someone out there has an idea of how to work around this as apparently I haven't though long enough and/or hard enough to figure it out myself yet.

Of course my understanding of the underlying architecture of LinuxCNC is still in its infancy so I could be totally out to lunch which will be revealed in due course.

What I believe is happening is that the motion planner is attempting to maintain the orientation of the tool tip during its motion. With this style of 5 DOF robot the end effector can be controlled to set the pitch and roll, but the yaw is simply tied to the position the "shoulder" of the arm rotating about the Z-axis (Joint 0). When kinematics are trying to reposition the tool tip in cartesian space, the shoulder must rotate some to translate the tool tip and therefore the yaw changes. Normally with a 6DOF robot the change in the shoulder can be compensated for with another joint to maintain the yaw orientation. In this case it cannot, and so the inverse kinematics fail.

I've attempted to simulate this again using the Puma560 simulation and simply set the following in puma560_sim_6.hal:
setp genserkins.ALPHA-3 0
setp genserkins.ALPHA-4 0

This removes the Puma's ability to maintain orientation of the tool-tip in much the same way. When I did this, the Puma560 would no longer move in World Mode. Of course perhaps I've simply bork'd the D-H model, but I think this lends weight to my hypothesis.

So all that being said, does anyone know how to have LinuxCNC and/or genserkins ignore certain axis such that it doesn't try to control Orientation? If I can do that then I can explore reducing the genserkins to a 3 DOF model and control pitch and roll through another mechanism.
Last edit: 10 Apr 2013 10:56 by sholmes.

Please Log in or Create an account to join the conversation.

More
10 Apr 2013 18:42 #32522 by andypugh

What I believe is happening is that the motion planner is attempting to maintain the orientation of the tool tip during its motion. With this style of 5 DOF robot the end effector can be controlled to set the pitch and roll, but the yaw is simply tied to the position the "shoulder" of the arm rotating about the Z-axis (Joint 0). When kinematics are trying to reposition the tool tip in cartesian space, the shoulder must rotate some to translate the tool tip and therefore the yaw changes. Normally with a 6DOF robot the change in the shoulder can be compensated for with another joint to maintain the yaw orientation. In this case it cannot, and so the inverse kinematics fail..


This does sound very plausible. I think that you are unlikely to get an answer to this on the forum, and you might have to go to the mailing lists (and probably the developer one).

Please Log in or Create an account to join the conversation.

More
11 Apr 2013 15:57 #32556 by sholmes
Cool. Thanks Andy, I will pursue that.

Regardless I'll post my findings here for all.

Please Log in or Create an account to join the conversation.

Time to create page: 0.114 seconds
Powered by Kunena Forum