Supporto WaveMe

Supporto WaveMe

Smooth Camera Stream

WaveMe relies on stable image streaming for its main mode of operation. Therefore, a great effort has been made to ensure that images are processed efficiently and in parallel with other tasks. This is one of the reasons behind the image pipeline, and why the Hartmann module supports two different methods for presenting its wavefront results. One mode that offers pixel-perfect rendering and another which prioritizes rendering time. There are however limitations if a computer without a dedicated Graphics Processing Unit (GPU), or with a weak GPU is used. Examples of such a combination may be and Intel Core i5 processor without support of a dedicated GPU, while a Core i7 will most probably handle the load without any problems, although this will depend on the resolution of the display. HD (1920×1080) displays will most likely be handled with less powerful configuration while 4K (3840×2160) will need a more modern CPU with good built-in graphics unit or at least a low-end dedicated graphics card that supports 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.

On Linux, the solution is described in a README file in the installation directory of the Pylon camera driver. This involves allowing specific users or user groups to elevate thread priorities using pam_limits.so through /etc/security/limits.conf. Although, since the Linux landscape is rather diverse, this may not be enough due to AppArmor or other security restrictions. On Microsoft Windows, it is possible to run WaveMe as an Administrator, but this is generally something to be avoided. It is preferred to solve this by adjusting the Local Security Policy (secpol.msc). Navigate to Local Policies > User Rights Assignment. Find the policy “Adjust memory quotas for a process” or “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

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 is using Basler cameras and drivers. During the installation, it will ask the user if he wants to install camera drivers. If you already have downloaded and installed Pylon, you don’t need to install the camera drivers which are part of the WaveMe installer since the same drivers are already installed during the installation of Pylon. When you install Pylon, you will get Pylon Viewer and Pylon IP Configurator. If your network is not based on dynamic IP allocation, you will need to use Pylon IP configurator to configure your camera properly. On the other hand, if your local IP network is using DHCP, you may not need the Pylon IP Configurator and possibly, you may not even need to install Pylon itself if you choose to use the drivers that are distributed together with 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.