New Trajectory Planner - Testers/programs wanted

More
13 Aug 2014 20:20 #49812 by LAIR82

Sorry for the delay getting back to this,

We will definitely be getting that tolerance into configs, most likely into the INI so it is a set value. The operators never mess with G61/64 in their programs, so I am comfortable doing so.

Thanks for the clarification on this one.

Rick


Because all G code can be changed on the fly a preamble at the start of each file is the only way to know what you have. Take for example if you abort a program in the middle of a G92 offset it is still there when you run the next program unless you have a good preamble.

gnipsel.com/linuxcnc/g-code/gen01.html

JT


I am trying to get the post processor modified to include this in the preamble of every program that we use, but I actually have the TP turned off until then. Our guys are resistant to change, so for them to have to remember for now to put that tolerance into the preamble, would be almost impossible.

Rick

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

More
21 Aug 2014 20:03 #50143 by rellenberg
Hi Rick,

Sorry it took so long to see this, and that you'll have to turn the planner off for now. Seeing your issue here gave me an idea: would it be useful to be able to set a default path tolerance in your INI file? Right now, the default is "0", which means no applied tolerance. However, this could be an optional value in the INI file passed in to the trajectory planner along with the rest of the INI settings. That way, you wouldn't have to specify the tolerance in your G code for every program.

Conversely, would there be any interest in setting other trajectory planner parameters via G code (and / or HAL)? Dewey Garrett implemented a way to set these parameters through HAL a while back, so it's at least possible to do.

For example, something like this:
G64 P0.004 Q0.001 R100

could set the lookahead depth to 100 with the R word (or similar).

-Rob

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

More
21 Aug 2014 20:37 #50144 by DaBit
Being able to set a default G64 tolerance in the INI file would be nice since plain G64 can do quite unintended things.
Being able to set 'internal TP parameters' through G-code, hmm, not so necessary although it doesn't bite with anything when it is not used.
Being able to set 'internal TP parameters' through HAL is a nice debugging aid.

Being able to set acceleration or an acceleration override though G-code and/or HAL is high on my wish list.
I envision a roughing pass with high acceleration and feed and a finishing pass with lower acceleration and feed to reduce the load on the machine structure and get maximum accuracy. If I want to do that now I have to start a different configuration to run the finishing program.

Limiting jerk would be even better, but that is not implemented overnight.

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

More
21 Aug 2014 23:32 #50153 by dgarrett
In linuxcnc 2.6 and later, hal pins are available for a number ini items:
$ halcmd show pin ini*
Component Pins:
Owner   Type  Dir         Value  Name
    68  float IN              0  ini.0.backlash
    68  float IN           0.05  ini.0.ferror
    68  float IN             50  ini.0.max_acceleration
    68  float IN             40  ini.0.max_limit
    68  float IN              5  ini.0.max_velocity
    68  float IN           0.01  ini.0.min_ferror
    68  float IN            -40  ini.0.min_limit
...
    68  float IN          1e+99  ini.traj_default_acceleration
    68  float IN              5  ini.traj_default_velocity
    68  float IN          1e+99  ini.traj_max_acceleration
    68  float IN          1e+99  ini.traj_max_velocity

The updated patches in:
www.panix.com/~dgarrett/stuff/tptest.mbox
add:
1) additional hal pins for ini trajectory planner items
2) a sim configuration (configs/sim/tptest/tptest.ini)
for demonstration

The patchset applies to current git master (40b9751), to apply:
$ git am tptest.mbox
The new pins are:
$ halcmd show pin *blend*
Component Pins:
Owner   Type  Dir         Value  Name
    62  bit   IN           TRUE  ini.traj_arc_blend_enable
    62  bit   IN          FALSE  ini.traj_arc_blend_fallback_enable
    62  float IN              4  ini.traj_arc_blend_gap_cycles
    62  s32   IN             50  ini.traj_arc_blend_optimization_depth
    62  float IN            100  ini.traj_arc_blend_ramp_freq

The demonstration example includes two ngcgui-compatilbe ngc
files for demonstration and uses an existing utility named
sim_pin to make it simple to change ini items (best to do while
stopped).

Using ini defaults, the examples timings are:

3dchips
4min 48 seconds with blend_enable=0
3min 24 seconds with blend_enable=1

contour
1min 6 seconds with blend_enable=0
0min 22 seconds with blend_enable=1


Thanks to Sam Sokolik for the timers and contraint checks used in the axis gui.
Additional examples would be worthwhile additions.

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

More
23 Dec 2014 12:18 - 23 Dec 2014 12:20 #54250 by Quadro
Hi All,
The new TP performance is definitely worth while, from my test i'm gaining 25% average cut time which good for cnc plasma.

I encountered a problem today - 'joint 0 follow error". It happens in the same spot every time (Screenshot). I turned the TP off in the ini file and i don't get the error.
I have attached the GCode file and also my ini file.
I'm using 2.8.0-pre1-179-gd230316.

Anthony
Attachments:
Last edit: 23 Dec 2014 12:20 by Quadro. Reason: Missing file

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

More
23 Dec 2014 12:32 #54251 by skunkworks
I ran your gcode in one of my test systems and it seems to run just fine.

One thing I did spot in the ini

MAX_ACCELERATION = 2000
STEPGEN_MAXACCEL = 2200

You want the stepgen atleast 20% higher then the axis acceleration.. So it should be atleast

MAX_ACCELERATION = 2000
STEPGEN_MAXACCEL = 2400

and I might go higher..

sam

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

More
23 Dec 2014 18:09 #54257 by Quadro
Sam,
I thought it was 10% difference between stepgen and axis acceleration..... no matter.

I changed the ini to

MAX_ACCELERATION = 2000
STEPGEN_MAXACCEL = 2400

Ran the file above and it stopped in the same spot with same error

I then changed the ini to

MAX_ACCELERATION = 1000
STEPGEN_MAXACCEL = 2400

Ran the same file and it stopped in the same spot but this time a yellow jog line was painted without me even jogging (see Screenshot).

My thinking is TP is looking too far ahead and getting 'lost'. Do any of the new settings in the ini file affect how far ahead TP is looking? or any other suggestions for some tests?
Attachments:

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

More
23 Dec 2014 20:22 #54259 by skunkworks
Hmm - is that part rotated a bit? could we have your var file?

(well - your whole config directory?)

sam

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

More
23 Dec 2014 20:43 #54261 by skunkworks
Also - by chance are you getting any realtime delay errors?

sam

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

More
23 Dec 2014 22:38 #54265 by rellenberg
Also, can you identify the line where this error happens?

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

Time to create page: 0.430 seconds
Powered by Kunena Forum