Welcome, Guest. Please login or register.
Did you miss your activation email?
December 19, 2014, 10:36:36 PM

Login with username, password and session length
Search:     Advanced search
* Home Help Search Calendar Links Login Register
+  Machsupport Forum
|-+  Third party software and hardware support forums.
| |-+  Tempest Trajectory Planner
| | |-+  Tempest Planning - Preliminary information and testing
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 »   Go Down
Print
Author Topic: Tempest Planning - Preliminary information and testing  (Read 79893 times)
0 Members and 1 Guest are viewing this topic.
ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« on: July 12, 2009, 10:34:04 PM »

Hello All:

   This board, when open to public use, will be used to allow members to discuss , test , and provide feedback on the "Tempest" planning system.
Snapshots, explainations, and test evaluations will be topics of this group to allow the development of the planner to proceed into testing phases
as the theoretical models and algorithms are being completed.

  The Tempest planner is a proposal for the next generation of planning module. Its code is nearing completion and testing phases and builds
will be posted here for evaluation. Its specifications are as follows.

 Tempest is a 9 axis, 5th order planner with optimised segment blending and velocity control. It uses 6th order blending between lines of any length,
and 3rd order blending between arc/line junctions.  Orientation axis include a,b,c and u,v,w. In its end form it will allow task space or joint space control
and will include kinematic control extensions for a wide variety of configuration capabilities. It's planning order while set only by a jerk limitation factor, will
control both Jerk and snap through most of its trajectory with the exceptions of blends involving arc's. All blends ( or CV moves ) are set by the user
as a spherical tolerance where-in the blend will occur in an isoscelese triangle of the entrace and exit to the user defined sphere. This means a setting of
CV to 10mm will result in blending arcs of no more than 10mm at corners. Speeds are limited by the calculated acceleration constants involved with arc's
of various radii or in blends of various polynomial lengths. Arc involved blends are tangental matched for c2 continuity, joined with Hermite curves , while
line/line blends are joined with 6th order polynomial additions of 1st order linear equations.

  It is hoped the Tempest model will eliminate the problems involved in the Quantum experimental SCurve generator, and Tempest will reach speeds
orders of magnitudes higher than Quantum in small segement control and concatenation. Algorithmic modeling is near completion and this board will
be opened as soon as the first preliminary test builds are available to achive motion for user feedback testing. I will use this board for posting notes and
explainations of various features and options as well as to document its usage and any limitatiosn found in testing. This is a highly experimental module,
and while the math and graphing functions show high promise, only true machine testing and time evaluations of CPU usage in the calculation of the
real time motion waypoints will tell us if this may yet be used by cpu's of today or if more optimisation is required to the central calculation routines.

  So if your reading this, please feel free to download any test programs, and report any findings or opinions you may have. hopefully "Tempest" will
be the start of the next generation of CNC control. In theory, almost any machien will benifit from the incredibly smoothed motion and acceleration
control it offers.

Good luck, Thank you for testing.

Art
 
Logged
ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« Reply #1 on: July 12, 2009, 10:42:58 PM »

Preliminary tests:

  Posted here are the first mixing tests of Tempest. The first photo shows a line from 0,0,0 to 50,0,0, this blends to an arc ending at 100,0,0 with radius 25, the motiosn then continues with a line to 50,0,0, and ends with a last line to 0,100,0.

  The first photo shows the resultand blend in positions. These are blended with the CV set to 5mm.
  The second photo shows the velocities involed. Red is the Y axis, Blue is the X axis, and the Green is the tool speed as the combined velocities of both X and Y.
  The Third photo shows acceleration. Looking carefully, one can see the 3rd order blends from line to arc, and in the final segment, a 6th order blend from line to line.

 Z axis was left out only for the sake of clarity but is fully functional as well.


Thx
Art
 


* temp-pos.jpg (43.97 KB, 607x644 - viewed 573 times.)

* temp-vel.jpg (54.89 KB, 547x659 - viewed 476 times.)

* temp-accel.jpg (53.25 KB, 537x647 - viewed 438 times.)
Logged
Chip
Global Moderator
*
Offline Offline

Posts: 2,058

Gainesville Florida USA



View Profile
« Reply #2 on: July 17, 2009, 10:34:32 PM »

Hi, Art

Was wondering where you were hiding out.

Chip  Grin
Logged
ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« Reply #3 on: July 21, 2009, 06:34:25 PM »

Hi All:


 Enclosed with this post is a versionof the analysis program , I post it to further any discussions on the properties of such a planner.
As of now, all 9 axis are responding, and Id liek to post some diiscussion posts on tradeoffs of such planners and how they operate.
This encosed program will facilitate the user understanding the issues discussed as you can try various situtations yourselves.

  Basically, you enter the x,y,z, and a coordinates of any motion group. You should note that the feedrate shown and selected is
in units/second, not units per minute. I defaulted it to 200 so thats ( 200 x 60 ) units per minute.. 12000 inches per minute. Very
high indeed, but using such high values allows one to better disect the operations of such a planner. Try the enclosed program and select
either velocity, acceleration, or position to see the various results of motions, feedrates, CV settings and how they affect accel and velocity.


  Next postings will be on tradeoffs and singularity handling and how they may affect users of such a planner.

Thanks
Art

* TempestPlanner.exe (1585 KB - downloaded 314 times.)
Logged
ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« Reply #4 on: July 21, 2009, 10:18:01 PM »

Hi Guys:

  Now that a test program is released for visualising velocities ( see previous topic ), we can discuss
the limitations or tradeoff's involved in planning strategies.

  When you run the tempest velocity analyser, youll see its preset for a square. Playing with CV , you can see the effect
( on the position screen) of various CV's and motions. Youll note how the velocity in the corners slows or speeds up
dependend on how much cv there is, and the angle of the next line.

  First, lets talk about how Mach3, EMC and most other planners do their job. With the standard preset conditions, ( the square)
select accel and note how the acceleration looks with a jerk of 1000.  This is probablky the smoothest of all planners in this example.
TO see how MAch3 or EMC woudl look, select a jerk limit of 100,000. Note the square waves, thats typical bang-bang acelleration.
The curvy parts are the only difference from Mach3's typical planning. They represent a complex blend and are unaffected by jerk selection.

Tradeoff #1. - Speed.

This example then shows Mach3 with better . more controllable CV blends. Note the time of the 4 moves. ( the last move to 0,0,0,0 is automatic.).
Its about 3.7 seconds. That woudl be close to Mach3's time to do this square. Now set to 1000 jerk and note the time.  Youll see its now
7.4 seconds. SO we can see that SCurves take longer. This figures as it takes longer to drive somewhere if you dont hammer the gas pedal.
With a jerk of 1000, its about 40% longer. Set for 10,000, the time is now 3.94 seconds. Thats probably about where most woudl use such a planner.
Its about 7-10% longer. Thats Tradeoff #1, smoothness takes longer. On the other hand, the corners are better defined, and much more controllable.
Not bad for a 3% loss in iverall velocity. ( in this example anyway..).

Tradeoff #2 - Angular accuracy.

  Change the second waypoint  move ( set back jerk to 1000 for visual clarity ), so it has an A of 50. Notice how the A starts in the middle of the blend from
motion 1 to motion 2. This is because the rotary motion is commaned to match up with motion #2, but #2 is blended with #1. Orientation motion accuracy will depend
on a few things. In this case, the rotary motion WILL start as the motion #2 starts, ( in the middle of the blend) and end as motion #2 stops. However, for accuracy sake
the planner decided not to blend the next motion, but to stop and allow the rotary motion to catch up. The difference in speeds will produce a non-accuracy in the
lineup of the cartesion motion and the rotary motion. How much depends on speed, and time of motion. Changing to a 10,000 jerk will make it line up better.
In terms of accuracy, an Scurve planner will be slightly less acccurate, and speeds must be taken into account.  This is a tradeoff. Speed, smoothness, and complexity combine to
make rotary motion more difficult, but better at not being disjointed. Foir example, you needednt consider slowing the feedrate request for such a motion, they automatically are
fit into the main cartesian motion. Now try changin the waypoint #2 move from 100,100,0,50 to 100, 5, 0, 50. In this case the rotary just cannot fit in the short time it takes to move from
100,0,0 to 100,5,0. Notice what happens, the line is no longer blended to the first, ther eis no time, so the motion is now dead accurate, and the A move will match the Y move to 5, but blending
is prohibbited during this move. Again, this is automatic and done because the math processor decided the motion is so complex that the solution is intractable mathmatically except to
simply do the motion by itself. This is tradeoff #2, the fact that you must consider such impossibel motions, and how they are handled. I call this a CNC singularity, and one should
understand how a planner handles such things. Only real-time experience will tell how how this impacts CNC cutting in a general sense. ( SO far, this is all entirely math based theory. )

 Getting late, more later. This at least has given you something to play with and consider in terms of how a future planner may do its job. And hopefully, has increased your
understanding of motion math, velocity, jerk, acceleration, and rotary blending in moves.

Thanks,
Art



Logged
poppabear
S S SYSTEMS, LLC
Global Moderator
*
Online Online

Posts: 2,168


Briceville, TN, USA


View Profile WWW
« Reply #5 on: July 28, 2009, 06:32:35 AM »

Hey Art,

   I have a cheezy shoptask, ( a semi wobbly machine), I am willing to try it on, let me ask a stupid question, do I just drop this EXE in the mach directory of my current Mach3, and replace the existing mach3.exe?  Or do I need some other special thing to set it up.

The shoptask has a "Lathe" on it too, so is this testable with lathe, or just mill?

scott
Logged

Commercial Mach3 & Mach 4, Design/Build/Retrofit CNC and Industrial machines.
https://sites.google.com/site/sssystemsautomation/
ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« Reply #6 on: July 28, 2009, 07:48:44 AM »

Should work on anything..

Art
Logged
ger21
Global Moderator
*
Offline Offline

Posts: 4,099



View Profile WWW
« Reply #7 on: July 28, 2009, 10:20:25 AM »

Just a quick question. Will it be possible to set up Tempest to follow a path exactly, stopping on sharp corners and maintaining velocity on tangent moves? So if using G41/G42 on an outside profile, you'd get CV while maintaining 100% accuracy? Thanks.
Logged

ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« Reply #8 on: July 28, 2009, 10:38:25 AM »

As yet,no. ITs like mach3 in that its either cv or it isnt.. Though that doesnt sound hard to do..

Art
Logged
ART
Administrator
*
Offline Offline

Posts: 1,381


Tough as soggy paper.


View Profile
« Reply #9 on: July 28, 2009, 02:20:36 PM »

Repost.. Sorry, wrong file was attached to original..



Well, interesting results so far. I havent run many small segment files, but numbers so far look pretty good.
Im using a special version of Mach3 that has dual planner capability. One can select Tempest from the config/planner selection menu
and test various files in the two planners ( tempest and mach3's normal planner ) very easily.

 Few notes,

.. config/select planner selects the current planner. If tempest is checked, your using tempest, if not, mach3's traditional planner.
Jerk and CV radius are the only other two entries. Jerk for most will be in the range of 1000 ( very shakey machine ) to 5000, very tight machine to perhaps
1,000,000 ( run close to mach3 levels of jerk allowance ).

  CV is simply the maximum allowed radisl curve blend around corners..

Note:
1)DRO's for FRO are not working in this version.

2) do not use feedhold, its not yet written, you may only stop when using tempest.

3) No reverse or other fancy stuff, this is just a run time test of tempests motion

4) Do not transmit this program to anyone, its all just test code, its likely it will never be released into MAch3, but may appear in some other incarnation of controller.
this is simply my research and how its going.


 I recommend trying a box a few inches on a  side at various speeds, jerks and cv's to compare motion between the two planners.
Please report what you see in terms of motion, but again, dont expect all aspects of MAch3 to work.. ( though an amazing amount do..)
If you try very small segement code, let me know how it does..

   Id prefer no open discussion of this planner, only those permitted on this topic, which I will add to as I wish someone to test it.

Thanks
Art

* Mach3-TempestTest.zip (1184.09 KB - downloaded 366 times.)
Logged
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 »   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!