Re: EMC and 4th axis
Posted by
Fred Proctor
on 1999-09-02 14:08:40 UTC
Regarding hexapod machines, Jon Anderson wrote:
of the article offered some speculation to a G&L engineer as to the math
behind the motion controls. The engineer replied he could neither
confirm nor deny anything without risking his job.
Year or two later, I read an article on another variant, where it was
stated the algorithms could easily be handled by a 486.
I would expect within 4-5 years someone will have built one in their
garage....
<
The difference in the mathematics for conventional 3-axis machines and
hexapods differs only in the "kinematics functions," which relate XYZ to
actual motor positions. There are two types of functions: the forward
kinematics function converts motor positions (aka joint coordinates) to
Cartesian world coordinates; the inverse kinematics function converts
Cartesian world coordinates to joint coordinates. For 3-axis machines
the functions are trivial: motor 1 is X, motor 2 is Y, and motor 3 is Z.
For robots or hexapods, they are more difficult.
For "serial link" mechanisms, like robot arms, where each link is
connected in series to its neighbors, the forward kinematics function is
relatively easy to compute, while the inverse kinematics function is
much harder. Since the inverse kinematics function is called every
trajectory cycle, e.g., 10 milliseconds, it must be efficient. There is
an efficient solution if the axis of rotation of 3 successive joints
intersect at a point, so most industrial robots are designed this way
(the three wrist joints rotate about a single point).
For "parallel link" mechanisms, like hexapods, where each link is
connected in parallel between a support frame and a moving platform, the
opposite is true. The inverse kinematics function is relatively easy to
compute, while the forward kinematics function is much harder. The
forward kinematics function is only called when joints have moved
independently, and then the machine is put into Cartesian mode. For
robots this happens a lot, but for hexapods you rarely move a single
strut. This is good, since the function we need for hexapods is easy.
In the controller I did for the hexapod crane, I never called the
forward kinematics function (I didn't have one). The inverse kinematics
took only a few tens of microseconds to compute on a Pentium II.
The University of Florida is building a hexapod. One of their students
was here over the summer and worked with me on the kinematics for our
hexapod crane. You can check out their work at:
http://www.me.ufl.edu/SAMM
Click on "Lab Photos", and look at the picture of the Platform-Based
Automatic Machine Tool.
I'll put a picture of the small hexapod crane on the EMC web site in a
little bit.
--Fred
>When I read about the first hexapod in Modern Machine Shop, the author
of the article offered some speculation to a G&L engineer as to the math
behind the motion controls. The engineer replied he could neither
confirm nor deny anything without risking his job.
Year or two later, I read an article on another variant, where it was
stated the algorithms could easily be handled by a 486.
I would expect within 4-5 years someone will have built one in their
garage....
<
The difference in the mathematics for conventional 3-axis machines and
hexapods differs only in the "kinematics functions," which relate XYZ to
actual motor positions. There are two types of functions: the forward
kinematics function converts motor positions (aka joint coordinates) to
Cartesian world coordinates; the inverse kinematics function converts
Cartesian world coordinates to joint coordinates. For 3-axis machines
the functions are trivial: motor 1 is X, motor 2 is Y, and motor 3 is Z.
For robots or hexapods, they are more difficult.
For "serial link" mechanisms, like robot arms, where each link is
connected in series to its neighbors, the forward kinematics function is
relatively easy to compute, while the inverse kinematics function is
much harder. Since the inverse kinematics function is called every
trajectory cycle, e.g., 10 milliseconds, it must be efficient. There is
an efficient solution if the axis of rotation of 3 successive joints
intersect at a point, so most industrial robots are designed this way
(the three wrist joints rotate about a single point).
For "parallel link" mechanisms, like hexapods, where each link is
connected in parallel between a support frame and a moving platform, the
opposite is true. The inverse kinematics function is relatively easy to
compute, while the forward kinematics function is much harder. The
forward kinematics function is only called when joints have moved
independently, and then the machine is put into Cartesian mode. For
robots this happens a lot, but for hexapods you rarely move a single
strut. This is good, since the function we need for hexapods is easy.
In the controller I did for the hexapod crane, I never called the
forward kinematics function (I didn't have one). The inverse kinematics
took only a few tens of microseconds to compute on a Pentium II.
The University of Florida is building a hexapod. One of their students
was here over the summer and worked with me on the kinematics for our
hexapod crane. You can check out their work at:
http://www.me.ufl.edu/SAMM
Click on "Lab Photos", and look at the picture of the Platform-Based
Automatic Machine Tool.
I'll put a picture of the small hexapod crane on the EMC web site in a
little bit.
--Fred
Discussion Thread
Dan Mauch
1999-08-16 09:40:07 UTC
Re: EMC and 4th axis
Jon Elson
1999-08-16 22:55:00 UTC
Re: EMC and 4th axis
Dan Mauch
1999-08-17 07:09:13 UTC
Re: EMC and 4th axis
RCGipson
1999-08-17 09:23:39 UTC
Re: EMC and 4th axis
Tim Goldstein
1999-08-17 09:52:08 UTC
Re: EMC and 4th axis
Fred Proctor
1999-09-01 13:41:43 UTC
Re: EMC and 4th axis
Fred Proctor
1999-09-01 14:45:55 UTC
Re: EMC and 4th axis
Dan Mauch
1999-09-02 08:24:25 UTC
Re: EMC and 4th axis
Jon Anderson
1999-09-02 09:31:32 UTC
Re: EMC and 4th axis
Fred Proctor
1999-09-02 14:08:40 UTC
Re: EMC and 4th axis