Re: probe digitizing algorithms




Doug

My approach was to manually set the corners of a rectalgular grid and a
spacing between points.  The probe tip was to be a shape about the size and
geometry of the tool that you plan to use for cutting.  My probe had to be
able to overtravel, so I put the switch on the side and tripped it with a
turned groove in the shaft.  A spring returned it to the rest position.

The probe routine would find the first point and rapid in the probe
direction until a touch was found.  The routine would then rapid the axis
back a set value and start a feedrate probe until the surface was touched. 
The Tcl/Tk routine would record the second point over the first and move to
the next grid location and repeat.

But you are absolutely correct that this routine will consume a lot of
machine time.  Not as much as feedrate probing from a plane above the
highest point of the shape to be probed but it is a point by point probe
routine.

Other comments mixed in.

On Tue, 23 Jan 2001, Doug wrote:
<s> 
> This post concerns finding a way to maximize the density (number) of 3D
> probes within a certain time constraint, by eliminating slow movement
> of the probe through empty space.
> 
> To preface my comments, I am mostly interested in digitizing rather
> large smooth objects (fuselages, propeller blades, hulls, etc),  with a
> machine much much larger than a metalworking table.

Okay.  Large, rather smooth objects rather than natural gold nugget
jewelery.  This does present a different kind of problem and places much
more demand on the computation of surfaces or slices after the probing has
been done.  You don't want flat cuts between probed points but there are
programs that can do this.
   
> With that in mind (but also applicable for digitizing smoothish smaller
> items on a mill table),  my approach is to have something like a "roughing"
> cycle, whose main purpose is really to quickly find where the object is NOT!
> 
> Once that is done, the detailed pass with tiny XY & Z increments can be
> done, but it is optimized because (now that you mostly know where the
> object isn't) you can have smaller vertical retractions between probes
> (while scanning an XY grid pattern).
> 
> For this roughing cycle,  I propose two alternate strategies:
> 
> First the easiest to do in EMC today:
> - make a probe by attaching some large diameter ball on the spindle (say a
>     hollow hard plastic ball about 3" to 5" in diameter).
> - manually jog the machine through the air some distance above the object
>     (at a comfortable distance thats not too much work in the Z direction, but
>     nevertheless close enough to approximate the surface contour ) and
>     run through a rough XY grid.  With a 3" diameter ball, that should only take
>     2 to 5 passes.   EMC remembers this, and using the radius of the ball, now
>      knows where not to look (this should speed things up vs having no knowledge
>      of the part).   As the human has good "look-ahead"  obstacles like vertical
>       walls can be anticipated and compensated for.

This is a good idea.  Particularly if we could connect a joystick to axis
jog.  Then you could fly the probe above the surface.  Tcl/Tk would be slow
for this process but a sample program could be written rather easily and
could test this operation.  Perhaps two stages of roughing pass, one to
enter the object's shape in the plane perpendictular to the axis used for
probing, second for the elevation of the object in the probe plane.

> Second method, some new hardware is needed:
> A .5" wide,  3" diameter rollerblade wheel, a vertical sliding axis (maybe 5" travel) ,
> and a potentiometer  (which goes to an A/D converter) which roughly measures
> the vertical movement of the roller as it rolls over the object, going up and down.

My choice here would be a heds quadrature module and length of strip long
enough for the travel.  

The wheel is a good idea.  The only problem that I see is that you would
need to be able to orient this probe for the direction of travel.  This
would not be a problem for a probe only machine.  You could simply make a C
axis that would yaw the probe to the direction of XY travel.  (these axes
are arbitrary)  Commands for a C axis are in the newest release.

I suppose that you could make the C axis a part of the probe itself and lock
down the milling spindle.

> As an XY grid search pattern commences at high speed and high elevation, the
> controller is noticing that the wheel is at full extension (hanging down) and so
> continues the search at high speed.
> 
> As the wheel intermittantly contacts the surface, speed is slowed somewhat,
> and the rough surface co-ordinates are calculated by the XY position and the
> approximate potentiometer deflection.   The rollerblade wheel has the ideal
> characteristics of stickiness (causing it to roll vs skid),  and hardness (quite
> stiff so compression doesn't affect the measurement much, but also soft enough
> not to marr the object).   Perhaps a secondard set of grid passes at right angles
> to the first pass would improve the results.
> 
> This whole process would take a few minutes, and would drastically reduce
> the search space (you would know the surface within about 1/4"), and knowing
> this would optimize the path to be calculated for the "detailed pass".
> 
> What do you think?

The idea works for me.  Dan Falck and I talked about probing recently.  He
uses direct input from his Techno-Isle to Rhino and lets Rhino do the
computation of surfaces.  Then he passes contours to Vector to get the
g-code for cutting.  
-- 

Ray




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact