Rilievo contorno 2D e matematica relativa

Sezione dedicata ai rilievi in 3D.
Rispondi
Avatar utente
gerrypc
Newbie
Newbie
Messaggi: 35
Iscritto il: giovedì 1 settembre 2011, 9:12
Località: Caldiero (VR)

Rilievo contorno 2D e matematica relativa

Messaggio da gerrypc » venerdì 24 maggio 2013, 22:55

Salve a tutti, chiedo aiuto per superare la mia smisurata ignoranza che in questo contesto mi sta affondando.
Breve introduzione: nonostante la mia venerazione per la sonda di Zebrauno, mancandomi tempo e manualità  per costruirmela, ho deciso di acquistarne una da utilizzare con la mia scheda di CPU5A di Edingcnc. Dalle prime prove tutto funziona correttamente, scrivendo un gcode con il comando G38.2 ed i cicli WHILE sono riuscito a rilevare in maniera lineare dei contorni. Una volta scritte su file le coordinate X Y e Z di ogni singolo tocco, tramite una macro di Notepad++ pulisco i dati ed aggiungo il comando LINE all'inizio di ogni riga. In questo modo il mio cad (Draftsight che consiglio per essere velocissimo, leggero, e gratuito per uso non professionale) disegnerà  per me l'oggetto rilevato. Sembrerebbe tutto semplice, se non fosse per il fatto che non riesco a superare il limite di riuscire a spostarmi solamente parallelamente o all'asse X o all'asse Y, e non su entrambi gli assi interpolando quindi le coordinate verso cui lanciare la direzione del tocco .
Provo a spiegarmi meglio scrivendo cosa sto facendo ora:
- posiziono la sonda a X0Y0
- lancio G38.2 Y10 (valore ipotetico)
- quando la sonda tocca (ipotizziamo a Y3) scrivo le coordinate sul file
- con G0 riporto la sonda X1Y0 (quindi 1mm più avanti rispetto a prima)
- rilancio G38.2 Y10 e così via

Funziona, ma con dei notevoli e prevedibili limiti: l'intervallo di scansione è riferito al solo asse X, quindi di fatto non riesco a girare in torno all'oggetto.

Sono giorni che mi arrovello il cervello (quel poco che ho) senza risultato, per trovare la formula matematica che mi consenta di posizionare la sonda e trovare un vettore il più possibile perpendicolare al punto di tocco previsto, basandomi sulla rilevazione delle coordinate precedenti. Per questo chiedo aiuto. Ho trovato un sacco di equazioni della retta, coefficienti, teoremi, ma quasi mai applicati al piano cartesiano, o comunque non ci ho capito una fava..
Nel disegno che allego illustro quello che vorrei riuscire ad ottenere

Ad esempio, vorrei riuscire a calcolare il punto di partenza X4Y4 ed il vettore che condurrà  a T4 in base all'inclinazione della retta T2-T3.
Qualcuno saprebbe darmi una dritta ?
Ringrazio in anticipo

Gerardo
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: Rilievo contorno 2D e matematica relativa

Messaggio da Zebrauno » sabato 25 maggio 2013, 19:33

Ciao Gerardo, usando Mach3 esiste gia' qualche plugin che esegue la ricerca dei contorni ma se vuoi scrivere qualcosa da zero allora e' il caso di scindere almeno 2 condizioni:

- sonda all'esterno o all'interno di una geometria chiusa

Tornando al tuo quesito se vuoi valutare l'approccio a T4 sulla base dei dati raccolti in T2 e T3 puoi sfruttare la "corda" passante per i punti 2 e 3 e ricavarne la normale, da usare come vettore di approccio in T4.

Riesci poi a raccogliere i dati in modo corretto quando l'approccio avviene su un vettore obliquo? Lo stilo ha punta sferica e il contatto su quella sfera puo' avvenire in punti non sempre compresi sul vettore di movimento.
Il vantaggio della scansione per righe o colonne e' proprio quello.

Il raggio sfera lo compensi in seguito vero?


ciao

Avatar utente
gerrypc
Newbie
Newbie
Messaggi: 35
Iscritto il: giovedì 1 settembre 2011, 9:12
Località: Caldiero (VR)

Re: Rilievo contorno 2D e matematica relativa

Messaggio da gerrypc » sabato 25 maggio 2013, 23:50

Zebrauno (qual'è il tuo nome ?), grazie per la risposta.
Nella mia testa una volta trovata la "formula" (passatemi il termine), dovrebbe funzionare in eguale maniera che sia la misurazione avvenga un perimetro interno o esterno, o mi sto sbagliando ?

Se quando parli di corda e di normale intendi una retta P perpendicolare alla retta passante per i punti T2 e T3 è esattamente quello che vorrei ottenere...
Ma non so tradurre questa mia idea in matematica delle coordinate

L'osservazione che, in caso di linea curva, il punto di contatto potrebbe non essere, anzi sicuramente non sarà , in linea col vettore è più che giusta ora che mi ci fai pensare. Ma non avrei comunque lo stesso problema anche con una scansione a righe o colonne ?

Io ho due stili entrambi della ITP, uno con la sfera da 2 ed uno con un cilindro da 1,5. Alla compensazione non avevo proprio pensato: potrebbe essere che prima di scrivere il dato sul file vado a sottrarre metà  del diametro della punta dello stilo direttamente da #5061 e #5062....

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: Rilievo contorno 2D e matematica relativa

Messaggio da Zebrauno » domenica 26 maggio 2013, 10:39

La compensazione spesso si esegue a posteriori. Io compenso linee e nuvole di punti sempre in seguito, quando ho ricavato la superficie.

Distinguere tra sonda al di fuori e all'interno di un perimetro e' fondamentale, perche' risparmi moltissimo tempo sapendo che la ricerca avviene dirigendosi verso un centro o in fuga da esso.

Sulle equazioni da usare ti direi di procurare un qualsiasi libro di analisi matematica e geometria analitica del liceo scientifico perche' troverai oltre alle equazioni anche molte applicazioni utili per il tuo scopo.

Un sinottico sulle rette:

http://it.wikipedia.org/wiki/Retta_nel_ ... _due_punti

Il modo migliore a mio avviso sarebbe pero' quello di risolvere con le derivate (puoi approfondire il coefficiente angolare m di una retta prima di approcciare quella via).

ciao

Avatar utente
gerrypc
Newbie
Newbie
Messaggi: 35
Iscritto il: giovedì 1 settembre 2011, 9:12
Località: Caldiero (VR)

Re: Rilievo contorno 2D e matematica relativa

Messaggio da gerrypc » venerdì 6 settembre 2013, 22:43

Rieccomi !! Chiedo scusa per il black out, dovuto ad un intensissimo periodo lavorativo ricchissimo di trasferte. Onestamente il poco tempo libero a disposizione in cui ero a casa e libero da impegni familiari ho cercato di impiegarlo anche nel continuare lo studio di cui l'argomento del post, quindi prima di tornare a scrivere ho voluto aver qualcosa da dire. Ed ora ce l'ho...

Innanzi tutto ho dovuto rifarmi pratica su utilizzo di seni e coseni, coefficiente angolare, insomma la matematica necessaria a ricavare le coordinate che mi servono. Ci sono riuscito e questo è stato il primo passo. Dopo righe e righe di codice che comunque non mi soddisfa, ho avuto un'idea:
se invece di procedere con movimenti lineari come da G38.2, procedessi percorrendo successive circonferenze, avrei risolto una miriade di problemi.
Mi toglierei dai piedi il problema della tangente, ed inoltre potrei andare a toccare anche punti che siano a praticamente fino a 359* rispetto alla partenza: immaginiamo di dover rilevare l'esterno della punta di una stella....
Purtroppo però non esiste un G38.X che descriva circonferenze anzichè rette...
Ho provato a "simulare" la circonferenza come una serie di rette successive, ma la quantità  di calcoli necessari è importante e le performance crollano, oltre a vanificare il vantaggio della tangente che una circonferenza mi permetterebbe...

Non so se mi sono spiegato...

Se non rispondo velocemente non me ne vogliate, il tempo libero è poco, le cose da imparare sono tantissime e o si fanno trucioli o si scrive al pc...

Qualche idea ? Ho perfino in mente di chiedere al carissimo Bert Edig se fosse possibile implementare una estensione all'interprete che agisca di fatto come il G38.2, ovvero come un interrupt

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: Rilievo contorno 2D e matematica relativa

Messaggio da Zebrauno » sabato 7 settembre 2013, 10:56

Gerrypc, qual'e' il tuo obiettivo?

Considera che le macchine CMM dedite al controllo di qualita', anche con sonde a 5 assi, non mandano lo stilo di scansione in giro in modo casuale, con algoritmi per indovinare la posizione delle forme o dei fori.

Si muovono in base ad un modello 3D gia' usato come punto di partenza, e rispetto al quale misurare le differenze.
Fori, cave, linee, profili complessi sono gia' disegnati anche solo sotto forma di punti e curve per pilotare la sonda nelle aree di interesse.

Muovere lo stilo lungo X o Y e' anche un modo per avere la possibilita' di rimuovere l'effetto del raggio della sfera di tastatura.

Immagina se la sonda producesse migliaia di punti acquisiti con svariati angoli di approccio...sarebbe quasi impossibile rimuovere il raggio sfera e ricavare la superficie o il profilo corretto.



Non ci hai detto se hai provato il codice che ricerca i profili su Mach3...

ciao

Avatar utente
gerrypc
Newbie
Newbie
Messaggi: 35
Iscritto il: giovedì 1 settembre 2011, 9:12
Località: Caldiero (VR)

Re: Rilievo contorno 2D e matematica relativa

Messaggio da gerrypc » venerdì 13 settembre 2013, 22:06

Zebrauno ha scritto:Gerrypc, qual'e' il tuo obiettivo?
Io arrivo al mondo del cnc spinto da un bisogno da modellista di copiare per personalizzare e modificare pezzi di auto RC. Il mio top sarebbe poter rilevare il telaio con una precisione decente, per poi apportare le modifiche che mi interessano
Zebrauno ha scritto: Considera che le macchine CMM dedite al controllo di qualita', anche con sonde a 5 assi, non mandano lo stilo di scansione in giro in modo casuale, con algoritmi per indovinare la posizione delle forme o dei fori.

Si muovono in base ad un modello 3D gia' usato come punto di partenza, e rispetto al quale misurare le differenze.
Fori, cave, linee, profili complessi sono gia' disegnati anche solo sotto forma di punti e curve per pilotare la sonda nelle aree di interesse.
Imparo volentieri questa cosa, anche se non è il mio obbiettivo. Io il modello lo voglio trovare dalla realtà ...
Zebrauno ha scritto: Muovere lo stilo lungo X o Y e' anche un modo per avere la possibilita' di rimuovere l'effetto del raggio della sfera di tastatura.

Immagina se la sonda producesse migliaia di punti acquisiti con svariati angoli di approccio...sarebbe quasi impossibile rimuovere il raggio sfera e ricavare la superficie o il profilo corretto.
Il problema della rimozione del raggio della sfera è effettivamente una bella rognetta, e certamente un moto lineare aiuta ad eliminarlo, introducendo però la variabile tangente.
Se il tocco avvenisse durante un movimento circolare però il porblema tangente non si porrebbe, in quanto il punto di tocco sarebbe sempre ad una tangente calcolata a priori e deirvante dal raggio della sfera e dalla circonferenza descritta. Non so, forse mi sto facendo un volo pindalico io...
Nel disegno che allego c'è una mia ipotesi: ogni cerchio rappresenta la sfera, che percorrendo circonferenze andrebbe a toccare la mia curva con tangenti sempre uguali. Infatti la distanza dei segmenti tra i punti di tocco è sempre la stessa: come se avvolgessi attorno ad un forma una catena da biciletta....
Zebrauno ha scritto:
Non ci hai detto se hai provato il codice che ricerca i profili su Mach3...

ciao
Io utilizzao USBCNC con relativo software di Bert Eding, non Mach 3.
Mi pare di aver letto che con qualche plug in si può fare, ma non ho ricercato molto in merito

Dimenticavo: grazie per aver dato ascolto alle mie elucubrazioni... :study:
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: Rilievo contorno 2D e matematica relativa

Messaggio da Zebrauno » venerdì 13 settembre 2013, 22:38

Spero di non deluderti facendoti notare che invece il problema della tangente aleatoria esiste anche con un moto circolare, ed e' semplice dimostrarlo.

Il moto lineare a righe alterne riduce il suo effetto poiche' l'approccio della sfera avviene da direzioni opposte per ogni linea, quindi la mediazione produce un risultato tanto piu' veritiero quanto minore e' l'interlinea.

Avatar utente
gerrypc
Newbie
Newbie
Messaggi: 35
Iscritto il: giovedì 1 settembre 2011, 9:12
Località: Caldiero (VR)

Re: Rilievo contorno 2D e matematica relativa

Messaggio da gerrypc » venerdì 31 gennaio 2014, 18:40

Anche questa volta sono passati dei mesi, ma rieccomi nuovamente, a ricominciare con un ringraziamento a Zebrauno e quanti altri leggono e vorranno rispondere.
Riassunto delle puntate precedenti:
-scheda USBCNC di Edingcnc, con relativo software
-esigenza di rilevare i perimetri, quindi 2D
-ho abbandonato l'idea del movimento circolare, dato che non si riesce a fare e porta con se i problemi descritti nei post precedenti.

Premesso questo mi sono messo a testa bassa ed ho scritto un programma in GCODE (che ha poco di GCODE se non la sintassi) utilizzando ampiamente le estensioni che USBCNC mette a disposizione, ovvero IF THEN ELSE, WHILE e qualche altra cosina.
Ho deciso di lavorare ad ottagono, quindi con movimenti anche a 45°: funziona. E a me sembra anche bene. Gira in torno senza problemi, sia con perimetri esterni che interni. Queste le prime due acquisizioni sperimentali:
torretta.png
porta ken.png
Ora, mi rimane da fare la compensazione del diametro della punta, anche se ho un pochina di confusione su come ragionare quando il tocco avvienere col movimento a 45°.... :-k
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Rispondi

Torna a “Rilievi 3D”