Re: 6 axes
EMC folks,
Till Franitza wrote regarding 6-axis control of hexapods:
> so, is this correct: the emc is ready to interpolate 6 Axes and give
> impulses to the 6 Steppers? (I already have them connected to the Parallel
> port in the described way)
> Is the only problem to control the a,b,c Axes on the Interpreter and motion
> planning side?
> So could I operate a 6-DOF Parallelkinematics-Machine in a 3-DOF-Manner by
> using 6 Steppers with (q1...q6)=f(x,y,z)?
Yes. The 6-axis interpreter is almost ready, thanks to Tom Kramer.
However, the EMC motion planner only works on Cartesian 3-axis values,
so the roll/pitch/yaw are left unchanged. This means that for a hexapod,
the EMC can move it around up/down, front/back, left/right, but not
change the tilt. For a hexapod, this means that all the axes will move,
since even straight line motion means moving all axes.
Ray Henry wrote:
> I don't know how to set up the whole emc for it but you should read these
> files. They have the kinematics that are involved in Stuart platforms.
> They should give you some idea of the range of the joint variables that you
> can build into your machine.
>
> emc/src/genhexkins.c
> emc/src/genhexkins.h
These functions define the kinematics that relate XYZ to actual strut
lengths, and vice-versa. They were written by Brian Register at the
University of Florida when he was here over the summer. They are
suitable for most hexapod machines, like the one at NIST, the one at U
FL, and a cable-based machine we did here at NIST. The cable-based
machine has 6 steppers mounted on a moving platform, which pull on
cables attached to a fixed frame, hexapod (Stewart Platform) style. We
ran a G code program for the circle-diamond-square part in styrofoam
using this, and it looks very much like it was milled by a conventional
three-axis machine.
The "yemc" GUI was written to support the cable-based hexapod, with the
addition of world and joint mode display options. This is not in the
TkEMC yet.
So, the situation with full 6-axis control is that the top (interpreter,
GUI) are ready (or trivially close to being ready), and the bottom is
ready (kinematics functions are written, stepper motor driver handles 6
axes, Servo To Go handles 6 axes), while the middle (motion planning)
still needs quite a bit of work.
I discussed this with Tom Kramer and we came to the conclusion that
machines programmed in XYZABC format are "joint programmed" machines.
That is, XYZABC are the values of the motor positions, scaled to user
units. They are not suitable for hexapods, since moving from one set of
strut lengths to another wouldn't move you in a straight line. Hexapods
are "world programmed" machines. That is, they need XYZIJK format, where
IJK are direction cosines, or roll-pitch-yaw, or something like that.
NOT strut lengths.
Industrial robots can be programmed in either mode. I did this in the
VAL-II language when working with Unimation robots. Normally you program
in world (Cartesian) mode when you want to move along a line, and go
into joint mode when you are unwrapping cables or moving from one arm
configuration (elbow up) through a singularity to another configuration
(elbow down). You can't physically move a hexapod through its
singularities, and 3-axis machine tools don't have singularities.
Although joint motion planning is easy, the EMC currently does world
motion planning (except for jogs and homes, which are joint activities).
So, my plan is to:
1. Add joint motion planning to the EMC motion controller. This will
support 4- and 5-axis conventional machine tools. The interpreter is
already done. Effort: moderate.
2. Add orientation to world motion planning. This will support Cartesian
mode for robots and hexapods. It's much more difficult since translation
and orientation need to be planned separately but coordinated together.
Effort: difficult.
I'll begin working on (1) as soon as I fix up the EMC stepper motor code
to run at fixed periods, which is almost done after some intense
debugging and testing by Matt Shaver.
--Fred
- References:
- Re: 6 axes
- From: "Till Franitza" <xfa-at-isw.uni-stuttgart.de>
Date Index |
Thread Index |
Back to archive index |
Back to Mailing List Page
Problems or questions? Contact