Skocz do zawartości

Robot z ROSem i analizą obrazu


GAndaLF

Pomocna odpowiedź

Już jakiś czas temu zebraliśmy się w pracy w kilka osób, żeby pomyśleć nad jakimś projektem, w którym moglibyśmy wykorzystać machine learning, chmurę i robotykę. Padło na jeżdżącego robota z kamerką, który mógłby służyć do mapowania terenu i umieszczania na tej mapie obiektów rozpoznanych przy pomocy kamery. Skończyło się na samym gadaniu i przez długi czas nic w tym kierunku nie robiliśmy. Aż w końcu przyszedł NASA Space Apps Challenge, gdzie postanowiliśmy wystartować z ekipą z firmy. Nasz pomysł przerodził się w łazika marsjańskiego, który miał pomóc pierwszym kolonizatorom Marsa w rozpoznaniu terenu dookoła obozowiska. Podczas 24-godzinnego hackatonu udało nam się poskładać coś co jeździ i streamuje obraz z kamery. Biorąc pod uwagę ile rzeczy nie chciało działać, to i tak sukces. Robota w akcji można zobaczyć na filmiku:

Teraz trochę o bebechach:

  • Raspberry Pi 3B+ - miał być na nim postawiony ROS, ale na razie tylko obsługuje kamerkę
  • STM32F4 Discovery - miał być klient rosserial obrabiający komendy z ROSa, na razie jest prosta aplikacja sterująca na sztywno silnikami w pętli
  • 4 moduły mostków H TB6612
  • kamerka USB
  • Powerbank do zasilania logiki - aktualnie ogromny powerbank 30 Ah, bo taki mieliśmy pod ręką
  • Lipol 2S 800 mAh do zasilania silników - docelowo zostanie tylko jedno zasilanie
  • Płytka stykowa do podłączenia lipola, mostków H i switcha ON/OFF
  • Podwozie Pirate 4WD

Co jeszcze planowaliśmy:

  • Intel RealSense - kamera RGB z czujnikiem odległości - układ jaki dostaliśmy nie działał w pełni - brak kamery RGB, sama chmura punktów. Poza tym były wielkie problemy z driverami.
  • Intel Movidius - koprocesor do obliczeń na sieciach neuronowych. Dzięki temu będziemy mogli zrezygnować z chmury.
  • Czujnik IMU - MinIMUv5 Pololu - podczas hackatonu nie było czasu podłączyć. Poza tym i tak ROS nie działał.

Jeżeli chodzi o soft:

  • większość funkcji miał zapewnić ROS działający na Raspberry. Nigdy go nie używaliśmy i chcieliśmy się pobawić modułami sensorów, nawigacji, analizy obrazów itp.
  • na STM projekt powstaje w C++. Miał być system operacyjny DistoRTOS i docelowo będzie, ale na hackatonie nie było czasu go zintegrować.

Repozytorium na razie nie zawiera zbyt wiele. Tylko prosty program w C++ sterujący na sztywno silnikami. Prawdopodobnie repo się mocno przeobrazi i będziemy je wykorzystywać do rozwoju projektu razem z issue trackerem, wiki itp. Kod można oglądać na GitHubie: https://github.com/ucgosupl/solwit_space_robot

Części takie jak RealSense, czy Movidius dostaliśmy z sampli. Poza tym nasza firma - Solwit - zaangażowała się w projekt. Dostaliśmy między innymi Raspberry, mamy też w planach kilka kolejnych wydatków. Docelowo robot ma być wykorzystywany na różnych targach itp. Dodatkowo myślimy, żeby zrobić z niego pomocnika biurowego. Planujemy też wymienić Raspberry i Discovery na zintegrowaną płytkę z procesorem Intel Atom i STM32F4. Myśleliśmy zamiast tego o zastosowaniu Intel Euclid - platformy ze zintegrowanym RealSensem i prockiem z preinstalowanym ROSem, ale niestety Euclida nie ma w samplach.

Zastosowane podwozie na filmiku działa dobrze, ale kiedy jeździ po wykładzinie, opony nie dają rady. Będziemy potrzebowali coś lepszego. Poza tym aktualne silniki nie mają enkoderów i ogólnie nie są najwyższych lotów. Aktualnie poszukuję jakiegoś gotowego podwozia 4-kołowego z enkoderami i porządniejszymi silnikami. Znacie może jakieś dobre modele?

W grę wchodzi też zaprojektowanie własnego podwozia. Docelowo pewnie będziemy chcieli pójść właśnie tą drogą. Tylko nie mamy jeszcze sprecyzowanych wymagań, jakie stawiamy konstrukcji. Dlatego możliwe, że będzie kilka prototypów. Najlepiej je pewnie zrobić na drukarce 3D i dopiero ostateczną wersję wyciąć z jakiejś blachy. Przy okazji poszukujemy kogoś, kto mógłby nam takie podwozie zaprojektować. Najlepiej z okolic Trójmiasta.

Więcej o robocie można przeczytać na moim blogu: https://ucgosu.pl/2018/10/lazik-z-nasa-space-apps-challenge-szczegoly-techniczne/

DSC04195.JPGDSC04235.JPGIMG_20181021_150952285.jpg

20181020_163948.jpg

Edytowano przez Treker
Poprawiłem formatowanie.
  • Lubię! 1
Link do komentarza
Share on other sites

Jeszcze dużo pracy przed Wami, ale zapowiada się ciekawy projekt. Zaskoczyła mnie tylko stosunkowo słaba jakość transmitowanego obrazu. Jak dokładnie teraz realizujecie przesyłanie obrazu? Jakiś czas temu przy pewnym projekcie miałem okazję testować GStreamera na RPi i jakość transmisji była znacznie, znacznie lepsza - można było praktycznie uzyskać "płynne HD".

2 godziny temu, GAndaLF napisał:

Aż w końcu przyszedł NASA Space Apps Challenge, gdzie postanowiliśmy wystartować z ekipą z firmy.

Dla osób, które nie kojarzą tego wydarzenia podlinkuję dodatkowo więcej informacji: NASA Space Apps Challenge – Gdańsk, 20-21.10.2018

Link do komentarza
Share on other sites

Streaming na RPi był zestawiany na szybko jako tymczasowe rozwiązanie, żeby tylko coś pokazać na prezentacji i szczerze mówiąc nie analizowaliśmy tematu za bardzo. O szczegóły realizacji muszę podpytać, bo ja akurat nad tym nie siedziałem.

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.