
Pickle Robot Company opracowuje rozwiązania z zakresu robotyki dla łańcuchów dostaw, logistyki i przemysłu wytwórczego. Jej systemy łączą fizyczną sztuczną inteligencję, generatywną AI, widzenie maszynowe i zrobotyzowane manipulatory, aby automatyzować wymagające fizycznie prace magazynowe. Flagowy autonomiczny robot firmy rozładowuje niepaletyzowane towary z kontenerów transportowych, pomagając zmniejszyć obciążenie fizyczne pracowników i zwiększyć wydajność magazynów. Firma zatrudnia od 11 do 50 osób, a niedawno zakończyła rundę finansowania serii B o wartości 50 milionów dolarów, co pozwala jej rozwijać możliwości produktów i zwiększać zasięg działalności.
Inżynier oprogramowania junior–mid: planowanie zadań i ruchu (praca hybrydowa)
Twórz oprogramowanie do planowania w C++ i Pythonie dla robotów magazynowych, koncentrując się na chwytaniu, sprawdzaniu kolizji i sekwencjonowaniu zadań. Pomagaj przenosić algorytmy robotyczne z prototypów do niezawodnych wdrożeń w rzeczywistym świecie.
Opis
- Twórz i utrzymuj produkcyjne komponenty planowania w C++ i Pythonie, obejmujące planowanie ruchu, wybór chwytów, sprawdzanie kolizji i sekwencjonowanie zadań.
- Prowadź algorytmy od początkowych prototypów do wdrożenia, biorąc odpowiedzialność za architekturę, wydajność i niezawodność.
- Mierz i poprawiaj wydajność kodu o krytycznym znaczeniu, aby spełniać wymagania dotyczące czasu cyklu w czasie rzeczywistym na sprzęcie robotycznym.
- Twórz infrastrukturę do testowania, symulacji i benchmarków.
- Badaj problemy produkcyjne za pomocą logów i narzędzi do analizy kompilacji, a następnie usuwaj ich przyczyny.
- Podnoś jakość kodu dzięki przemyślanym przeglądom projektów, przeglądom kodu i solidnym praktykom inżynierskim.
- Twórz szybkie, niezawodne i dokładnie przetestowane systemy planowania dla robotów fizycznych.
- Pomagaj rozwijać planowanie zadań i ruchu na potrzeby chwytania przez roboty oraz bezpiecznego poruszania się w zmieniających się naczepach.
Wymagania
- Masz 2–4 lata doświadczenia w dostarczaniu oprogramowania produkcyjnego, głównie z użyciem nowoczesnego C++17 lub nowszego, a także praktyczną znajomość Pythona.
- Masz solidne podstawy projektowania oprogramowania, struktur danych, algorytmów i optymalizacji wydajności.
- Potrafisz przejąć odpowiedzialność za komponenty oprogramowania na etapie projektowania, implementacji, testowania, wdrażania i bieżącego wsparcia.
- Rozumiesz współbieżność, zarządzanie pamięcią i narzędzia do profilowania wydajności.
- Interesujesz się planowaniem ruchu, manipulacją i chwytaniem oraz chcesz rozwijać głębszą wiedzę algorytmiczną wraz ze specjalistami w tej dziedzinie.
- Swobodnie pracujesz blisko sprzętu i diagnozujesz problemy na styku oprogramowania oraz systemu fizycznego.
- Praktyczne doświadczenie w planowaniu ruchu lub manipulacji, na przykład z planistami opartymi na próbkowaniu lub optymalizacji, generowaniem trajektorii albo planowaniem chwytów, będzie dodatkowym atutem.
- Doświadczenie z CUDA lub optymalizacją wydajności GPU będzie dodatkowym atutem.
- Znajomość bibliotek lub frameworków robotycznych, takich jak OMPL, Drake, FCL lub Pinocchio, będzie dodatkowym atutem.
- Znajomość geometrii 3D, kinematyki lub algebry liniowej z użyciem Eigen albo podobnej biblioteki będzie dodatkowym atutem.
- Doświadczenie ze środowiskami symulacyjnymi i testami regresji na dużą skalę dla robotyki lub innych systemów krytycznych dla bezpieczeństwa będzie dodatkowym atutem.
- Doświadczenie we wdrażaniu oprogramowania na fizycznych robotach w środowisku produkcyjnym będzie dodatkowym atutem.
Benefity
- Ubezpieczenie zdrowotne, dentystyczne i okulistyczne.
- Nielimitowany urlop.
- Płatne święta federalne i stanowe.
- Wpłaty na plan 401(k) w wysokości 5% wynagrodzenia.
- Pokrywanie przez firmę kosztów podróży służbowych.
- Dodatkowe udogodnienia mające sprawić, że praca będzie przyjemniejsza, wygodniejsza i bardziej produktywna.