Supporto WaveMe

Smooth Camera Stream

WaveMe si basa sulla trasmissione stabile di immagini come modalità principale di funzionamento. Pertanto, è stato fatto un grande sforzo per garantire che le immagini vengano elaborate in modo efficiente e in parallelo con altre attività. Questo è uno dei motivi alla base del pipeline delle immagini e del fatto che il modulo Hartmann supporti due metodi diversi per presentare i risultati del wavefront. Un metodo che offre una resa pixel-perfetta e un altro che prioritizza il tempo di rendering. Tuttavia, ci sono limitazioni se viene utilizzato un computer senza una GPU dedicata o se il processore è debole. Gli esempi di questa combinazione potrebbero essere un processore Intel Core i5 senza supporto per una GPU dedicata, mentre un Core i7 probabilmente gestirà il carico senza problemi, anche se ciò dipenderà dalla risoluzione dello schermo. Le schermate HD (1920×1080) saranno probabilmente gestite con una configurazione meno potente, mentre le 4K (3840×2160) necessiteranno di una CPU più moderna con una buona unità grafica integrata o almeno una scheda grafica dedicata di fascia bassa che supporti OpenGL.

In questi casi, le immagini inviate attraverso la pipeline potrebbero esaurire o almeno mettere sotto pressione significativamente le risorse CPU disponibili. Nella maggior parte dei casi, ciò è dovuto alle esigenze delle risorse grafiche e i computer dotati di GPU dedicate raramente incontrano il problema di cui parleremo in questo articolo.

Se il processo di streaming sembra essere frequentemente interrotto, con conseguente un numero di fotogrammi per secondo (fps) variabile, è probabile che il computer stia avendo difficoltà a tenere il passo con il flusso di dati. Sebbene la funzione di streaming risolva internamente questo problema, questo metodo non può essere utilizzato all’interno della toolbox per la fase di spostamento dei flussi di dati poiché la sincronizzazione tra i flussi di immagini e il movimento degli attuatori è compromessa.

Perdita del pacchetto di rete

Ci sono altre cause che possono causare questo particolare problema e che non sono collegate a WaveMe o al computer. In realtà, potrebbero essere causate dall’infrastruttura di rete stessa. WaveMe farà tutto ciò che può per risolverlo modificando alcuni parametri della rete che controlla. Tuttavia, se il problema persiste, esistono comunque soluzioni, ma necessitano di un intervento da parte dell’utente.

Se waveme non riesce a risolvere questo problema più o meno immediatamente, allora il motivo è probabilmente dovuto al sovraccarico della CPU. I pacchetti che arrivano sull’interfaccia di rete non vengono captati e inseriti nei buffer di streaming prima che arrivino nuovi pacchetti e che non cancellino il contenuto precedente. Per risolvere questo problema, i driver offrono un meccanismo di elevazione della priorità e se si visualizza l’errore (0xE1000014), WaveMe ha già provato a usarlo ma l’elevazione della priorità non è una faccenda da sottovalutare e, pertanto, tale operazione è solitamente considerata una operazione privilegiata che richiede l’autorizzazione dell’amministratore di sistema.

Su Linux, la soluzione è descritta in un file README nel percorso di installazione del driver della fotocamera Pylon. Ciò implica consentire a specifici utenti o gruppi di utenti di aumentare le priorità dei thread utilizzando pam_limits.so tramite /etc/security/limits.conf. Tuttavia, poiché il panorama Linux è piuttosto variegato, ciò potrebbe non essere sufficiente a causa di AppArmor o di altre restrizioni di sicurezza. Su Microsoft Windows è possibile eseguire WaveMe come amministratore, ma generalmente è meglio evitare questa opzione. È preferibile risolvere questo problema regolando la Local Security Policy (secpol.msc). Navigare su Local Policies > User Rights Assignment. Trovare la politica “Adjust memory quotas for a process” o “Increase scheduling priority”.”

Forse il modo più semplice per evitare completamente questo problema è utilizzare USB3. Sebbene l’Ethernet abbia alcune caratteristiche interessanti, come la possibilità di utilizzare cavi molto lunghi, se pochi metri sono sufficienti, USB3 offre una semplicità notevole e, cosa ancora meglio, questo problema non si presenta quando si utilizza una fotocamera USB3.

Quando i buffer di streaming si esauriscono perché la pipeline dell'immagine non è in grado di restituirli alla fotocamera con una velocità sufficiente, la fotocamera semplicemente aspetta che uno di essi venga restituito e il risultato finale è che la velocità dell'immagine diminuisce senza altre conseguenze per l'utente finale.

La trasmissione non inizia

Se WaveMe mostra solo un'immagine e non consente di effettuare lo streaming, allora WaveMe deve essere aggiunto alla Firewall di Windows. Andate su

Impostazioni di sicurezza di Windows

C’è, selezionare “Consenti e app tramite firewall”. Quindi selezionare “Modifica Impostazioni”, che consentirà di attivare il pulsante “Consenti un’altra app…” da cui è possibile accedere alla cartella di installazione di WaveMe e selezionare “waveme.exe”.”

Driver della fotocamera

WaveMe utilizza le telecamere e i driver di Basler. Durante l’installazione, verrà chiesto all’utente se desidera installare i driver delle telecamere. Se già ha scaricato e installato Pylon, non è necessario installare i driver della telecamera che fanno parte dell’installer di WaveMe, poiché questi driver sono già installati durante l’installazione di Pylon. Quando installate Pylon, avrete a disposizione Pylon Viewer e Pylon IP Configurator. Se la vostra rete non è basata sull’allocazione dinamica degli indirizzi IP, sarà necessario utilizzare il Pylon IP Configurator per configurare correttamente la telecamera. D’altra parte, se la vostra rete IP locale utilizza DHCP, non sarà necessario l’installazione del Pylon IP Configurator e, possibilmente, non sarà nemmeno necessario installare Pylon stesso se optate per utilizzare i driver distribuiti insieme a WaveMe.

La telecamera che riceverete da Senslogic sarà configurata per DHCP e dovrebbe funzionare senza ulteriori configurazioni in una rete basata su DHCP. Il processo di installazione prevede l'intervento di due installatori. Uno è WaveMe e l'altro è il set di file di configurazione e calibrazione che vengono salvati nella cartella AppData dell'utente sotto il percorso \AppData\Senslogic\WaveMe.

WaveMe memorizza lo stato dell'applicazione, come i moduli abilitati, se i moduli stessi sono abilitati o meno, se la fotocamera sta trasmettendo dati e molte altre cose. Inoltre, i moduli memorizzano anche lo stato durante il runtime. Quando si avvia WaveMe per la prima volta, è possibile che l'unica cosa che occorra fare sia avviare il programma, che ripristinerà lo stato durante il runtime e inizierà la misurazione immediatamente.