I believe that is what Robert meant by resample the input data which 
was discussed at length in another thread.  Basically if the current 
algorithm changed two pairs of short segments to converting some N 
ordered segments to a line or arc, then you might find that hundreds or 
even thousands of them can be converted to a single arc or line.

I would ask if you wanted to do this estimation in real-time in the 
code, or if you wanted to do this as a front-end filter.  The current 
seems to run in place, and would be nice to keep, but there are issues 
with scaling it in real-time.  On the other hand, this can easily be 
accomplished as the code is read in and be transparent to the user.  If 
this method is used, it should be configurable and maybe even a pop-up 
warning when it finds input it think it should apply...

   EBo --

On Nov 5 2013 11:12 AM, sam sokolik wrote:
> Aww - that is unfortunate.  I thought that was the whole point. Could
> the naive cam detector fit larger arcs and combine segments?
>
> btw program pause seems to work well.
>
> sam
>
>
> On 11/5/2013 11:09 AM, Robert Ellenberg wrote:
>> Good work, Sam. I think this illustrates what can go wrong if the 
>> segments
>> are too short and the trajectory planner overshoots too much. I have 
>> a fix
>> in progress that limits the velocity based on segment length. 
>> Unfortunately
>> this means that for very short segments like in your code, the 
>> performance
>> won't be much better. Unfortunately this is a limitation of the 
>> sample rate
>> of the trajectory planner (1kHz). To go faster, we need to run the 
>> motion
>> loop faster, or resample the input trajectory (see the other email 
>> thread).
>>
>> -Rob
>>
>>
>> On Tue, Nov 5, 2013 at 11:55 AM, sam sokolik 
>> <sa...@empirescreen.com> wrote:
>>
>>> some more graphs..  I think there is an issue with constraints...
>>>
>>> I am using this 'check_constraints.hal' file
>>> http://pastebin.com/V6ZfJAx4
>>>
>>> The original is here..
>>>
>>> 
>>> http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=configs/sim/axis/check_constraints.hal;h=c2a432078ec776484c82c16a269e776f0e1263f0;hb=HEAD
>>>
>>> This is running spiral - but I do get triggers on the spash screen 
>>> also
>>>
>>> http://imagebin.org/275867
>>>
>>> you can see the 'constraints ok' goes false for quite a while 
>>> during the
>>> run.   At the peak acelleration is over 450in/sec/sec  (should be 
>>> less
>>> than 30)
>>>
>>> Just some FYI
>>> thanks again
>>> sam
>>>
>>>
>>> On 11/5/2013 8:44 AM, EBo wrote:
>>>> Take a look at the old bi-arc approximation code.  That basically 
>>>> does
>>>> it.  There may be easier ways to do it, but I would have to dig.  
>>>> I
>>>> think I have some old code that calls a Fortran library to do 
>>>> arbitrary
>>>> input to B-splines.  If you want to take a look at it I will dig
>>>> around...
>>>>
>>>>      EBo --
>>>>
>>>> On Nov 5 2013 7:40 AM, Robert Ellenberg wrote:
>>>>> That's good to know. I'm happy taking the easy way out if it's 
>>>>> not an
>>>>> huge
>>>>> difference, but it's nice to know that we could go there if need 
>>>>> be.
>>>>>
>>>>> On Nov 5, 2013 9:37 AM, "EBo" <e...@sandien.com> wrote:
>>>>>> It has been a very long time since I have needed to do curve 
>>>>>> fitting
>>>>>> to
>>>>>> generic input date -- actually image2gcode processing + offset
>>>>>> surfaces.
>>>>>>
>>>>>> If you extend the idea past pairs to replacing n-positions with
>>>>>> either
>>>>>> a straight segment or arc, then a lot of these issues will 
>>>>>> either go
>>>>>> away or will be genuine problems.  If they are in fact issues 
>>>>>> with
>>>>>> the
>>>>>> geometry, then we should/could analyze the acceleration profile 
>>>>>> and
>>>>>> adjust the max velocity accordingly.
>>>>>>
>>>>>>      EBo --
>>>>>>
>>>>>>
>>>>>> On Nov 5 2013 7:23 AM, Robert Ellenberg wrote:
>>>>>>> Right now it will replace a pair of lines with a single arc if 
>>>>>>> the
>>>>>>> blend
>>>>>>> tolerance allows it.
>>>>>>>
>>>>>>> I think the simplest answer is to slow the max velocity down so
>>>>>> that
>>>>>>> it
>>>>>>> always hits every segment at least once. This will still be 
>>>>>>> better
>>>>>>> than the
>>>>>>> current method unless the segment length is very small.
>>>>>>>
>>>>>>> One possibility is to increase the effective segment length by
>>>>>>> treating
>>>>>>> multiple tangent segments as one long segment, at least as far 
>>>>>>> as
>>>>>> the
>>>>>>> velocity profile is concerned. We would essentially be 
>>>>>>> resampling
>>>>>> the
>>>>>>> trajectory on the fly.
>>>>>>>
>>>>>>> -Rob
>>>>>>>
>>>>>>> On Nov 5, 2013 8:04 AM, "EBo" <e...@sandien.com> wrote:
>>>>>>>> On Nov 5 2013 5:38 AM, Gene Heskett wrote:
>>>>>>>>> On Tuesday 05 November 2013 07:37:15 andy pugh did opine:
>>>>>>>>>
>>>>>>>>>> On 5 November 2013 08:18, Robert Ellenberg 
>>>>>>>>>> <rwe...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>>>> 2. Sam's example has very short line segments (line lengths
>>>>>> are
>>>>>>>>>> about
>>>>>>>>>>>      0.0001"). We're hitting the limits of the sampling 
>>>>>>>>>>> rate
>>>>>> when
>>>>>>>>>>>      running this code. At 1kHz, to move faster than 0.1 in 
>>>>>>>>>>> /
>>>>>> sec
>>>>>>>>>> means
>>>>>>>>>>>      we start skipping segments.
>>>>>>>>>> That seems like pretty pathological G-code. If you can't 
>>>>>>>>>> even
>>>>>>>>>> "touch"
>>>>>>>>>> every segment at 1kHz at the requested speed then I don't
>>>>>> think
>>>>>>>> you
>>>>>>>>>> should try to hold the speed.
>>>>>>>>> What Andy said.  I am not in favor of throwing away accuracy.
>>>>>>>> Are your approximating the little segments with arc's/splines 
>>>>>>>> and
>>>>>>>> reducing the complexity, or are you skipping over some of 
>>>>>>>> them.
>>>>>> If
>>>>>>>> it
>>>>>>>> is the former, then you can set the approximation
>>>>>> parameterization
>>>>>>>> and
>>>>>>>> know a priori exactly the behaviour.  With line segments of 
>>>>>>>> only
>>>>>>>> 0.0001"
>>>>>>>> it is basically the equivalent of recording single/two steps 
>>>>>>>> on
>>>>>> just
>>>>>>>> about any industrial machine tool.  I mean, how many machine
>>>>>> tools
>>>>>>>> to
>>>>>>>> you work with that resolve anything below 0.00005"?
>>>>>>>>
>>>>>>>> What I will say is that this is a great stress/regression test
>>>>>> and
>>>>>>>> should be kept.  We can continue to debate the appropriateness
>>>>>> and
>>>>>>>> meaning of this pathological case.  I for one say thank you 
>>>>>>>> for
>>>>>>>> taking
>>>>>>>> the test to the extreme.
>>>>>>>>
>>>>>>>>      EBo --
>>>>>>>>
>>>>>>>>
>>> 
>>> ------------------------------------------------------------------------------
>>>>>>>> November Webinars for C, C++, Fortran Developers
>>>>>>>> Accelerate application performance with scalable programming
>>>>>> models.
>>>>>>> Explore
>>>>>>>> techniques for threading, error checking, porting, and tuning.
>>>>>> Get
>>>>>>>> the
>>>>>>> most
>>>>>>>> from the latest Intel processors and coprocessors. See 
>>>>>>>> abstracts
>>>>>> and
>>>>>>> register
>>>>>>>
>>> 
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>>>>>>> _______________________________________________
>>>>>>>> Emc-developers mailing list
>>>>>>>> Emc-developers@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>> 
>>> ------------------------------------------------------------------------------
>>>>>>> November Webinars for C, C++, Fortran Developers
>>>>>>> Accelerate application performance with scalable programming
>>>>>> models.
>>>>>>> Explore
>>>>>>> techniques for threading, error checking, porting, and tuning. 
>>>>>>> Get
>>>>>>> the most
>>>>>>> from the latest Intel processors and coprocessors. See 
>>>>>>> abstracts
>>>>>> and
>>>>>>> register
>>>>>>>
>>>>>>>
>>> 
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>>>>>> _______________________________________________
>>>>>>> Emc-developers mailing list
>>>>>>> Emc-developers@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>>>>>
>>> 
>>> ------------------------------------------------------------------------------
>>>>>> November Webinars for C, C++, Fortran Developers
>>>>>> Accelerate application performance with scalable programming 
>>>>>> models.
>>>>> Explore
>>>>>> techniques for threading, error checking, porting, and tuning. 
>>>>>> Get
>>>>>> the
>>>>> most
>>>>>> from the latest Intel processors and coprocessors. See abstracts 
>>>>>> and
>>>>> register
>>>>>
>>> 
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>>>>> _______________________________________________
>>>>>> Emc-developers mailing list
>>>>>> Emc-developers@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>> 
>>> ------------------------------------------------------------------------------
>>>>> November Webinars for C, C++, Fortran Developers
>>>>> Accelerate application performance with scalable programming 
>>>>> models.
>>>>> Explore
>>>>> techniques for threading, error checking, porting, and tuning. 
>>>>> Get
>>>>> the most
>>>>> from the latest Intel processors and coprocessors. See abstracts 
>>>>> and
>>>>> register
>>>>>
>>>>>
>>> 
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>>>> _______________________________________________
>>>>> Emc-developers mailing list
>>>>> Emc-developers@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>>>
>>> 
>>> ------------------------------------------------------------------------------
>>>> November Webinars for C, C++, Fortran Developers
>>>> Accelerate application performance with scalable programming 
>>>> models.
>>> Explore
>>>> techniques for threading, error checking, porting, and tuning. Get 
>>>> the
>>> most
>>>> from the latest Intel processors and coprocessors. See abstracts 
>>>> and
>>> register
>>> 
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>>> _______________________________________________
>>>> Emc-developers mailing list
>>>> Emc-developers@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>>>
>>>>
>>>
>>>
>>> 
>>> ------------------------------------------------------------------------------
>>> November Webinars for C, C++, Fortran Developers
>>> Accelerate application performance with scalable programming 
>>> models.
>>> Explore
>>> techniques for threading, error checking, porting, and tuning. Get 
>>> the most
>>> from the latest Intel processors and coprocessors. See abstracts 
>>> and
>>> register
>>> 
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> Emc-developers mailing list
>>> Emc-developers@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>>
>> 
>> ------------------------------------------------------------------------------
>> November Webinars for C, C++, Fortran Developers
>> Accelerate application performance with scalable programming models. 
>> Explore
>> techniques for threading, error checking, porting, and tuning. Get 
>> the most
>> from the latest Intel processors and coprocessors. See abstracts and 
>> register
>> 
>> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Emc-developers mailing list
>> Emc-developers@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>
>>
>
>
> 
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers
> Accelerate application performance with scalable programming models. 
> Explore
> techniques for threading, error checking, porting, and tuning. Get 
> the most
> from the latest Intel processors and coprocessors. See abstracts and 
> register
> 
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to