Samochód autonomiczny w skali 1:10 – zbieramy dane

Chcesz ale nie wiesz jak zrobić samochód autonomiczny? Od czego zacząć? Tutaj możesz zacząć swoją przygodę jeszcze nie posiadając sprzętu. W tym wpisie dowiesz się jakie dane możesz otrzymać i co możesz z nimi zrobić.

Samochód autonomiczny w skali 1:10

Wraz z Maciejem i Łukaszem spotkaliśmy się zebrać dane do pracy nad samochodem autonomicznym w skali 1:10. Przygotowujemy się do zawodów F1/10 w Turynie w październiku.  16. Czerwca spotkaliśmy się w siedzibie DaftCode w Warszawie. Poniżej zamieszczam odcinek bloga z tego dnia.

Zespół

Nasz zespół to obecnie 4 osoby:

Co udało się nam zrobić jak dotąd?

Budujemy dwa pojazdy autonomiczne, obecnie jednym jeździmy, zbieramy dane i uruchamiamy na nim nasze sieci neuronowe. Jesteśmy już po kilku próbach nagrywania w różnych miejscach i możliwość jeżdżenia w biurze jest obebnie najlepszym rozwiązaniem dla nas. Trasę tworzymy za każdym spotkaniem od nowa, wyznaczając ją za pomocą niebieskiej taśmy malarskiej. To rozwiązanie zdecydowanie możemy polecić – nie pozostawia śladów, a pozwala zbudować trasę w bardzo krótkim czasie.

Samochód autonomiczny w skali 1:10
Samochód autonomiczny w skali 1:10

Dataset

Udostępniamy zbiór danych jaki udało nam się wygenerować. Obecnie mamy dwa zbiory – pierwszy, nazwałbym go w zasadzie zerowym, nagrany na zewnątrz z zamienionymi kanałami kolorów. Oraz drugi nagrany w biurze Daftcode. Pierwszy ze zbiorów całkowicie pominiemy z uwagi na kolory. Tymsamym drugi ze zbiorów nazywamy 001.

Link do pobrania zbioru danych w formacie:

Nasze dane to kolejne obrazy z kamery RGB o rozdzielczości 640×480 z powiązaną informacją o zadanym kącie skrętu oraz zadanej prędkości (nazwijmy to tak narazie).

A więc jak wygląda kąt na poszczególnych klatkach? Pokazujemy na poniższym wykresie gdzie wartości kąta znormalizowaliśmy. Widać że sterowania nie są symetryczne względem zera. Histogram natomiast sugeruje, że większość naszych danych nie zawiera sterowania (kąt 0).

Dataset 001 - indoor - all data
Dataset 001 – indoor – all data
Dataset 001 - indoor - histogram
Dataset 001 – indoor – histogram

Postanowiliśmy więc nieco przerzedzić nasze dane. Odcięliśmy sterowania od -0.1 do 0.1. Widać że zmniejszyło to znacznie liczbę przykładów. Można by nawet powiedzieć, że zbyt znacznie! Tu musimy jeszcze powalczyć. Mamy kilka pomysłów:

  • odbić zdjęcia w lustrze
  • wprowadzić przesunięcia, obroty, zmianę skali, kontrastu czy jasności
  • wykorzystać techniki widzenia maszynowego by poprawić wzorcowe sterowania
Dataset 001 - indoor - filtered data
Dataset 001 – indoor – filtered data
Dataset 001 - indoor - filtered histogram
Dataset 001 – indoor – filtered histogram

Planujemy również udostępnić kolejne zbiory danych, które utworzymy w ramach projektu. Kolejne zbiory danych chcemy wzbogacić o dane z lasera Hokuyo.

Kod źródłowy na Githubie

Tak! Chcemy dzielić się naszym kodem źródłowym. Dzięki temu oszczędzicie sporo czasu rozpoczynając przygodę z własnym samochodem w skali 1:10. Repozytorium znajdziecie na Githubie klikając ten link.

Co dalej?

  • Autonomiczna jazda z wykorzystaniem sieci neuronowych
  • Testy kolejnych sensorów
  • Mapowanie z wykorzystaniem lasera planarnego
  • Poruszanie się wykorzystując model ruchu
  • Meetup – Self-Driving Cars Warsaw

Podziękowanie!

Chciałbym tu serdecznie podziękować za udostępnienie biura firmie Daftcode!

Linki

 

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *