Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 3274
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#1

Post napisał: tuxcnc » 27 lis 2019, 14:06

Temat poruszyłem w wątku nietypowa-instalacja-linuxcnc-t102892.html.
Chodzi o migrację z programu camview-emc, który zawsze był trudny w instalacji i kapryśny w działaniu, a obecnie w ogóle nie jest wspierany, na coś lepszego.
Podgląd z kamery w oknie linuxcnc załatwia Mplayer, pozostaje problem przycisków którymi da się cały proces uprościć do kilku kliknięć.
Cóż, pomimo stu odsłon tamtego wątku, chyba nikt nie ma ochoty się tym zająć, więc nie pozostało mi nic innego jak zarwać noc i sprawę popchnąć do przodu.
Opis problemu :
Materiał na stole obrabiarki można ustawić na bazach i wtedy program musi wcelować tam gdzie powinien, albo materiał ustawić jak popadnie i w programie dokonać odpowiednich poprawek.
Ustawianie na bazach często nie wchodzi w grę, bo albo jest uciążliwe, jak szarpanie się z arkuszem blachy ważącym tonę, albo po prostu niemożliwe, bo na przykład mamy do dyspozycji ścinek materiału o nieregularnych kształtach ...
Z pomocą przychodzi polecenie G10 L2, które umożliwia przesunięcie początku układu współrzędnych w aktualne położenie narzędzia. Ale problemem pozostaje ustalenie o jaki kąt należy ten układ współrzędnych obrócić.
Rozwiązanie :
Na maszynie montujemy kamerę, albo laser, albo dowolny wskaźnik lub czujnik i oczywiście instalujemy program.
Najpierw zadajemy offset narzędzia "kamera", normalnie, przez G43, potem przesuwamy kamerę czujnik dokładnie w to miejsce, gdzie przed zmianą narzędzia było wrzeciono czy palnik.
Służy do tego przycisk "cam on".
Mówiąc inaczej kamera będzie patrzyła dokładnie w to miejsce, na które powinno "patrzeć" narzędzie.
Potem kasujemy ewentualny offset z poprzedniego G10 L2 (przycisk "clear offset"), najeżdżamy na miejsce w którym byśmy chcieli mieć punkt leżący na dodatniej półosi X (X>0, Y=0) i klikamy pierwszy przycisk ("align start"), najeżdżamy na punkt w którym byśmy chcieli mieć początek układu współrzędnych (X=0, Y=0) i klikamy drugi przycisk ("align X").
Potem zdejmujemy offset kamery, tak jak go zrobiliśmy tylko odwrotnie. I gotowe.

Na poniższym obrazku widać to dokładnie, Najpierw najechałem punkt X150,Y0 i go zaznaczyłem, potem pojechałem do punktu X30,Y30 i kazałem tam przenieść układ współrzędnych.
Wartości TLO X i TLO Y to jest offset kamery Wartość G54 R to jest wyliczony przez program kąt obrotu,

Obrazek

Drugi obrazek z podglądem z kamery, niestety nie na maszynie a w symulatorze, więc kamera patrzyła na pudełko po procesorze ...

Obrazek

Do zrobienia :
Program trzeba sprawdzić i ewentualnie poprawić.
KONIECZNIE plik panel.xml trzeba przepisać z pyvcp na Glade, bo inaczej nie da się przycisków przenieść do zakładki w oknie podglądu.

W załączniku pliki konieczne do uruchomienia symulacji.
W pliku cam-sim.ini może być konieczna zmiana parametrów Mplayera, żeby dopasować do posiadanej kamery.
Nie jestem autorem użytych subów, kiedyś skądś je ściągnąłem, ale było w nich tyle błędów, że właściwie wymagały napisania od nowa. Wszystko oczywiście jest na licencji GPL.
Offset kamery ustawiony jest normalnie, w tabeli narzędzi, jako narzędzie nr 99.

Jak będą pytania, to odpowiem.

cam-sim.tar
(40 KiB) Pobrany 8 razy



Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 3274
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#2

Post napisał: tuxcnc » 28 lis 2019, 01:54

Jest już wersja Glade.
Specjalnie dałem tyle przycisków, żeby edytując pliki controls.ui i controls.hal można było dodać nowe funkcje.
Z zasady nienawidzę partaczy, którzy mają we krwi związać drutem i się cieszyć że jakoś działa, zamiast zrobić porządnie. Niestety w Linuxcnc pełno jest takich partaczy, którzy coś rozgrzebią a potem porzucą. Efekt jest taki, że Glade w wersji wyższej niż 3.6.8 ani nie otworzy, ani nie utworzy plików dla Linuxcnc. Po prostu albo trzeba mieć gdzieś zainstalowany stary system i przypadkiem go nie upgradować, albo pozostaje ręczne poprawianie gotowych plików w edytorze. Ręczne dłubanie wcale nie jest takie trudne, tylko trzeba załapać co skopiować i wkleić, a gdzie zmienić nazwy zmiennych ...
cam-sim-glade.tar
(60 KiB) Pobrany 10 razy
Zauważyłem następujące problemy :
Po pierwsze, zawsze loguję się jako root, więc moje pliki mają właściciela ustawionego na root. Jeśli macie z tym problem, to trzeba po rozpakowaniu zrobić sudo chown user:user linuxcnc -R
Druga sprawa, to zauważyłem że symulator nie chciał się uruchomić na live linuxcnc-2.7-wheezy. Wypluwał za to jakieś kretyńskie komunikaty o błędach. Zapewne winne są pliki dostarczone z linuxcnc 2.9, który jest u mnie zainstalowany. Można podmienić na te same pliki ze swojej wersji.

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 4765
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#3

Post napisał: adam Fx » 30 lis 2019, 03:17

Widzę że zrobiłeś kawał roboty i w imieniu wszystkich którzy kiedykolwiek z tego skorzystają to chciałem podziękować.
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Awatar użytkownika

Zienek
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 3200
Rejestracja: 13 gru 2008, 19:32
Lokalizacja: Szczecin
Kontakt:

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#4

Post napisał: Zienek » 30 lis 2019, 09:11

Tux - jakiś czas temu myślałem o tym, co się dzieje ze starymi bywalcami.

Powróciłeś w wielkim stylu :)


hecza
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 392
Rejestracja: 06 mar 2012, 13:25
Lokalizacja: Częstochowa

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#5

Post napisał: hecza » 01 gru 2019, 12:28

Proste i jest.

Jeżeli ktoś potrzebuje więcej regulacji przy kamerze to zainstalowanie dawnego camview (obecny instalator – campy) nie jest też żadną tragedią.
Zainstalowałem na Debian 7 Wheezy LinuxCNC 2.7.14 i Debian 9 Stretch LinuxCNC 2.9 i jest OK.
Postępem by było „ożenienie” przycisków sterujących z kamerą w jednej zakładce, ale z tym jak jest też jest dobrze – zależnie od upodobań.

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 3274
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#6

Post napisał: tuxcnc » 01 gru 2019, 21:35

hecza pisze:
01 gru 2019, 12:28
zainstalowanie dawnego camview (...) nie jest też żadną tragedią.
Wiem, jest o tym cały wątek https://forum.linuxcnc.org/48-gladevcp/ ... and-jessie
Niestety, po pierwsze, mam złe doświadczenia z camview, który potrafił mi się zawieszać w najmniej oczekiwanym momencie, a po drugie gwarancji że po jakimś upgrade czegośtam nie przestanie działać, nie ma żadnej.
Te kółka fajne są, ale stabilność jest ważniejsza.
Mplayer jest w każdej dystrybucji w standardzie i mała szansa żeby być przestał.

Dodane 42 minuty 10 sekundy:
Kombinowałem z tym już wcześniej, ale złe parametry podawałem i wychodziły mi bzdury.
Teraz spróbowałem jeszcze raz i się udało.
Nie będę pisał kodu, bo znowu jakieś łapki będą się wyświetlać, wszystko jest na obrazku. Obrazek


hecza
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 392
Rejestracja: 06 mar 2012, 13:25
Lokalizacja: Częstochowa

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#7

Post napisał: hecza » 02 gru 2019, 11:14

Kamera – obojętnie jaka opcja, jeśli jest zainstalowana, to działa (lepiej lub gorzej).
Problem się zaczyna, gdy potrzebujemy wypiąć ją z usb lub straci połączenie z innych przyczyn (????)- i dotyczy wszystkich znanych mi do tej pory rozwiązań.
Na starcie lub przy pierwszym wciśnięciu w usb ma źródło /dev/video0 i na nim LinuxCNC się fiksuje.
Powtórne nawiązanie połączenia skutkuje przydzieleniem /dev/video1 i tu jest problem.
Brak jest możliwości wyboru innego źródła lub restartu bez wyłączania LinuxCNC.
Nie wiem – informatyk ze mnie żaden – czy jest możliwość umieszczenia np. mplayera bezpośrednio w zakładce (i tam jakieś „kombinacje”), bo uruchamianie go z pliku *.ini chyba blokuje jakieś rozsądne wyjście i zmusza do restartu przynajmniej samego LinucCNC.
Może ktoś ma jakieś eleganckie wyjście z tego problemu, albo już jest - tylko ja go nie znam.

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 3274
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#8

Post napisał: tuxcnc » 02 gru 2019, 18:20

Trochę powalczyłem z dwiema kamerkami.
Oczywiście Mplayer.
Zasadniczo nie ma problemu z utworzeniem dwóch okien z podglądem dwóch kamer.
Nie da się podglądać tej samej kamery w dwóch oknach.
WAŻNE : Linuxcnc po zamknięciu pozostawia osierocone procesy mplayera i działają one gdzieś w tle. Po ponownym uruchomieniu linuxcnc podglądu z kamer NIE będzie. Rozwiązanie jest proste, procesy mplayera można zabić poleceniem killall mplayer , albo ręcznie z konsoli, albo uruchamiając linuxcnc prostym skryptem:

#!/bin/bash
killall mplayer
linuxcnc
killall mplayer

Pierwsze killall jest na wszelki wypadek, drugie żeby linuxcnc po sobie posprzątał. Skrypt jest o tyle dobrym rozwiązaniem, że nic nie trzeba pamiętać, a w przyszłości można będzie coś tam jeszcze dopisać.
Trochę powalczyłem też z opornym sprzętem.
Jak dotąd modelem który ma najlepszy stosunek jakości do ceny jest "mikroskop USB 500x". Jak to u Chińczyków, może się różnić nazwą i szczegółami, ale chodzi o coś takiego :
Obrazek
Za 50 zł dostaje się prawdziwe 640x480 pikseli z przyzwoitą matrycą i dobrą optyką. Jak sama nazwa wskazuje, można uzyskać duże powiększenie, ale też da się ustawić tak jak normalną kamerkę. Przestrzegam przed kamerkami po dziesięć złotych, bo to zwykłe oszustwo, najtańsza matryca 176x144 pikseli interpolowana, czyli taki "zoom cyfrowy", a do tego tandetna plastikowa soczewka, czyli w sumie cud że cokolwiek widać.
Ten mikroskop daje naprawdę ostry i wyraźny obraz, ma tylko taką wadę, że potrzebuje dużo światła ...
Na początku myślałem że szlag mnie trafi, bo nie wiedziałem co się dzieje. Po włączeniu komputera kamerka daje jednolicie zielony obraz w mplayerze, ale w v4l2-test wszystko działa jak należy, a co ciekawe, potem to i mplayer działa prawidłowo ... Okazało się że o brak światła chodzi, a mplayer będzie działał z marszu po dodaniu parametru -tv gain=32 ... Gain może mieć wartość do 100, ale lepsze efekty da przyzwoita lampa, która i tak na stanowisku pracy jest obowiązkowa.


hecza
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 4
Posty: 392
Rejestracja: 06 mar 2012, 13:25
Lokalizacja: Częstochowa

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#9

Post napisał: hecza » 02 gru 2019, 20:02

Doszedłem do wniosku, że najlepiej podgląd/kamerę wyrzucić z LinuxCNC (plik.ini) – zostawić tylko przyciski, czy to na panelu, czy w zakładce – jak kto woli.
Dzięki temu program pozostanie stabilny, a podgląd można uruchomić na wiele sposobów i w razie problemów z kamerą swobodnie kombinować bez uszczerbku dla samego LinuxCNC.
Kamer jest jeszcze więcej i każdy coś sobie dobierze – osobiście używam kamery inspekcyjnej z podświetleniem diodami.
Potrzebny jest tylko program/ramka na którym oprócz wyświetlania video da się wyrysować jeszcze celownik – mi pasuje camview – kolega uzdatnia mplayera – i tak korzystają z jednego v4l2.
Łatwość uruchomienia jest po stronie mplayera, a funkcjonalność i co komu wystarcza, każdy sam wybierze.

Pozdrawiam

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 3274
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Ustawianie G10 L2 kamerą, laserem, czujnikiem etc.

#10

Post napisał: tuxcnc » 02 gru 2019, 21:50

hecza pisze:
02 gru 2019, 20:02
Doszedłem do wniosku, że najlepiej podgląd/kamerę wyrzucić z LinuxCNC (plik.ini) – zostawić tylko przyciski, czy to na panelu, czy w zakładce – jak kto woli.
Najlepiej to w ogóle podgląd mieć na drugim monitorze, co przy dzisiejszych cenach używanych kart graficznych i monitorów jest problemem wyłącznie miejsca, a nie pieniędzy.
Ale każdy ma swoje potrzeby, więc trzeba myśleć uniwersalnie.
Ja na przykład mam jeden komputer przy frezarce i tam jest mi dokładnie wszystko jedno jakiego gui użyję, i czy w oknie czy na pełnym ekranie. Tam też potrzebuję przycisków bo ustawiam obróbkę względem materiału.
Ale przy tokarce mam monitor dotykowy, więc linuxcnc uruchamia się na gmoccapy, na pełnym ekranie, a kamera jest zasadniczo po to, żebym się nie pochylał nad maszyną żeby cokolwiek zobaczyć. Kombinuję dwa mikroskopy USB do ustawiania offsetu i wysokości narzędzia oraz kamerę do nadzoru obróbki, ale to melodia przyszłości. Zasadniczo to mikroskopy do ustawiania narzędzia w ogóle można uruchamiać na laptopie, bo to się robi raz na jakiś czas, a całe oprzyrządowanie z oczywistych względów nie może być zamontowane na stałe.
Jeszcze słowo o camview.
Zraziłem się do tego programu, bo mi się zawieszał. Zapewne problem sprowadza się do tego, że jest to skrypt pythona, porzucony i od wielu lat nie aktualizowany, natomiast deweloperzy pythona co chwilę coś wyrzucają, coś dodają, a nawet jak coś zostawią, to zmienią nazwę, parametry, albo sposób wywoływania. Raczej sytuacja gdy camview działa stabilnie jest wyjątkowa.
Co do ubijania podglądu i uruchamiania w inny sposób, to wygląda na to, że linuxcnc dobrze znosi killall mplayer, pozostają po prostu puste zakładki, a mplayera daje się uruchomić z terminala. Z camview powinno dać się zrobić to samo, ale nie mam jak sprawdzić.

Na koniec kilka obrazków.
Gmoccapy, tokarka, pełny ekran.
Podgląd jest z mikroskopu który wcześniej opisywałem, ta naklejka ma 15x15 mm ...

Obrazek
Obrazek
Obrazek

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”