
Autor: Mikołaj Zalewski Inżynier nauczania maszynowego i Przemysław Walczyk, starszy menedżer ds. inżynierii
W Nomagic intensywnie pracujemy z kamerami RealSense z serii D400 (głównie D415). Kamery te są dostępne ze względu na dostarczanie RGB i głębi obrazu w cenie – dziesięć razy więcej niż przemysłowe kamery głębi obrazu. Jako kamera stereoskopowa ze statycznym obrazem, D415 umożliwia jednoczesną możliwość wykorzystania wielu kamer bez użycia. Poza tym głębi obrazu może być inny (z drugiej strony, RealSense wyznacza głębię w czasie, gdy jest wysoki dodatkowy klatek na drugim), dodatkowy problem, jaki natrafiliśmy, był okresowa awaria kamery. Problemy te często pogłębiają złożoność naszego systemu wizyjnego, który wymaga dostępu do wielu kamer. Poniżej przedstawiamy kilka skutecznych rozwiązań tych problemów.
Często po usunięciu procesu ROS dla kamer, kamera nie uruchamia się przy użyciu jej prób. Czasami kamera przestawała również podczas wykonywania. W takich przypadkach pojawiają się komunikaty o błędach związanych z błędami wejścia/wyjścia lub, a kamera po prostu znika z ekranu. rs-enumerate-devices I lsusb. Ponowne urządzenia komputerowe rozwiązywały problem (choć w jednym przypadku trzeba zrestartować komputer, jak odkryć na zewnątrz). Używaliśmy zasilanych koncentratorów, a następnie natychmiastowo rozwiewaliśmy problem. Jednakże rozwiązanie problemu między hubem a narzędziem działa tylko w niektórych przypadkach. Sugeruje to, że występują co najmniej dwa dodatkowe problemy — więcej dodatkowych kryteriów.
W jednym eksperymencie podłączyliśmy cztery kamery do systemu i ponownie uruchomiliśmy ich węzły ROS 6631 razy z rzędu. Zaobserwowaliśmy 45 przypadków, w których jeden z czterech kamer nie zareagował ponownie (około 1%). Szczegóły tego problemu można znaleźć w tym wydaniu, które może zostać poddane działaniu — w niektórych dniach dodatkowe kamery, w innych gorszych przypadkach.
Ponieważ zdalne odłączenie kamery nie jest możliwe, zastosujemy dwa dodatkowe triki:
Wstępne te rozwiązania, które występują w krótkim czasie, nie są dostępne do zastosowania produkcyjnego. Szukaliśmy bardziej alternatywnych rozwiązań.
Domyślne oprogramowanie układowe 5.8.15 dostarczane z kamerami często powoduje problemy z okresowymi awariami. Aktualizacja do serii 5.9.x rozwiązuje wiele z tych problemów, a seria 5.10.x oferuje jeszcze większe problemy.
Czasami kamera łączy się z portem USB2 (nawet po podłączeniu do portu USB3), co ogranicza jej funkcjonalność. Na przykład rejestrowanie obrazów głębi i nadajnika lub rozszerzenie rozdzielczości i liczby wskaźników na sekundę staje się możliwe. Aby sprawdzić typ połączenia, uruchom lsusb -t. Dostępna kamera może być cztery wpisy z prędkością 5000 mln. Jeśli masz tylko trzy wpisy na 480 milionów, konieczne jest rozdzielenie aparatu.
Jak powszechnie dostępne w tych elastycznych kamerach RealSense są stosowane w ramach teoretycznej przepustowości USB3 5000 Mb/s (przy rzeczywistej przepustowości, zwykle około 3200–3600 Mb/s). Podłączenie zbyt wielu kamer do jednego portu USB za pośrednictwem koncentratorów może być dostarczane z powodu braku przepustowości. Oprócz oddzielnych portów USB, wiele głównych płyt ma tylko jeden lub dwa wewnętrzne koncentratory USB, co oznacza, że porty mogą współdzielić tę sieć internetową 5000 Mb/s. lsusb -t decyzja może ujawnić, ile koncentratorów jest w użyciu (poszukaj linii wyznaczonych 5000 mln).
Aby przepustowość:
Resetowanie oprogramowania komputerowego przed użyciem jest bardzo skuteczne, szczególnie w przypadku wcześniejszego wydania oprogramowania sprzętowego. Wiele problemów wystąpiło poprzez programowe resetowanie kamer, jak powstało w tym artykule. popełniać. Dodanie kodu do procesu uruchamiania urządzenia, które powoduje niepowodzenie inicjalizacji.
Resetowanie lub wyłączanie kamery może ujawnić błąd w niektórych jądrach Linuksa, w tej wersji używanej w Ubuntu 16.04 LTS. Jak doszło w dziesięć raportów, niektóre wersje jedra przeciekają /dev/media* urządzenia po odłączeniu. Po użyciu wszystkich 255 urządzeń kamer RealSense przestają urządzenia.
Działania obejmują:
lsusb -t seans Kierowca= zamiast Sterownik=uvcvideo.ls /dev/media* pokazano 255 wpisów.Opublikowanie tego problemu jest rozwiązaniem systemu, chociaż rozwiązanie to jest uaktualnieniem jądra do wersji, której nie dotyczy ten błąd (np. 4.18 lub nowszej).
Jeżeli głębokość zaczyna być zniekształcona, może to spowodować konieczność wprowadzenia danych dotyczących głębokości. “Narzędzie do stosowania” umożliwia przy regulacji danych kalibracyjnych za pomocą Intel.Realsense.CustomRW -g, następnie uruchom procedurę powtarzalną.

Problemy pojawiają się z kablami, szczególnie gdy kamera jest zainstalowana na komputerze stacjonarnym. Funkcja obejmuje wykrywanie konkretnych kamer z czasem, aż do wyłączenia zaprzestania jej działania. Wymiana rozwiązania zwykle rozwiązuje dziesięć problemów. Nie zapewniamy jeszcze niezawodną metody niezawodnych kabli, zliczania niekompletnych klatek lub użycia z… Pobierz przeglądarkę błędów portu polecenie (wprowadzone w USB 3.1) może pomóc.
Uwaga: Teoretyczna przepustowość USB3 zapewniaca 5000 Mb/s może zakłócać działanie urządzeń radiowych 2,5 GHz. Na przykład, klawiatura bezprzewodowa przestała działać po podłączeniu w pobliżu kamer RealSense. Ekranowane kable USB lub unikanie takich urządzeń w prosty sposób może złamać dziesięć problemów.
Wiele z nich jest przechowywanych sztucznie, poprzez interakcje z Obsługa Intel RealSense, za co jesteśmy wdzięczni. Możesz tam zgłosić wyłączenie i przesłanie odpowiedzi.