Written by 10:07 am F1/10 - Samochody autonomiczne w skali 1:10 3 komentarze

Składam Waveshare JetRacer (Part 2)

Witam,
Tu Daniel i zapraszam do części drugiej overview na temat składania Jet Racer od firmy Waveshare.

Instalacja

Proces instalacji przeszedł bez większych problemów używając manuala ze stronki: https://www.waveshare.com/wiki/JetRacer_AI_Kit. Następnie wykonując kolejne kroki w sekcji ‘Guide of DonkeyCar’. Miałem kilka śmiesznych zagadek i chciałbym się z wami nimi podzielić. Jeśli się na takowe natkniecie to oszczędzicie sobie troszkę czasu.

Podczas łączenia się z w Wifi (sudo nmcli device wifi connect <ssid> password <pass>) miałem błąd:

error: bash: syntax error near unexpected token `newline'

[te <> trzeba usunąć w terminalu bo to placeholder jest tylko, czyli pass bez <> wpisujemy]

Copy + Paste w terminalu jupyter:

  • Ctrl + Shift + V robimy wklej
  • Shift + RightClick otwieramy okno dialogowe i wybieramy kopiuj

Podczas wykonywania rename oczywiście musimy znaleźć nazwe pliku (w sensie xxx nie zadziała) to jest raczej logiczne, ale wole dodać na wszelki wypadek.

Budowanie OpenCV

Podczas wykonywania cmake także miałem problem z komendą:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/projects/cv2/opencv_contrib/modules \
    -D PYTHON_EXECUTABLE=~/env/bin/python3.6 \
    -D BUILD_EXAMPLES=ON ../opencv

Usunięcie pliku CMakeCache.txt i uruchomienie bez ../opencv załatwiło sprawę.

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/projects/cv2/opencv_contrib/modules \
    -D PYTHON_EXECUTABLE=~/env/bin/python3.6 \
    -D BUILD_EXAMPLES=ON ..

Źródła:

make -j2 (-j2 oznacza dwa wątki) trochę to potrwa (około 2-3h o ile dobrze pamiętam, a zbyt duża ilość wątków zwiesi Ci cały proces zatem nie dodawał bym więcej)

Musiałem downgradeować picamera i jeśli u Ciebie wystąpi podobny problem to ja zrobiłem downgrade do 1.12:

sudo pip install picamera==1.12

Kalibracja

Jeśli chodzi o kalibracje to u mnie wygląda to tak:

Calibrate:
530 Center
Left 400
Right 650 

donkey calibrate --channel 0 --bus=1

Problem z repo -> W dokumentacji waveshare był dodany nieprawidłowy repo (wysłałem do nich maila, powinno być poprawione do czasu publikacji tego bloga). Należy użyć repo: https://github.com/waveshare/donkeycar. Repozytorium od Waveshare zawiera modyfikacje oficjalnego repo donkeycar tak by działało bez problemów na hardwarze dostarczonym przez Waveshare. (oficialny nie zadziała out of the box niestety).

Koła wariują

Podczas uruchamiania web_control koła same mi wariowały tak jakby mu było zimno 😉
Aby to poprawić wchodzimy do lokalizacji:
cd ~/projects/donkeycar/donkeycar/parts/web_controller/templates
nano base.html
Integrity należy usunąć w dwóch miejscach by koła nie wariowały.

Problem z I2C

Należy skonfigurować I2C PCA9685 tutaj:

http://docs.donkeycar.com/guide/create_application/

Problem z rsync

Upewnij się że masz zainstalowane rsync na jetsonie:

sudo apt-get install rsync

Pobieranie zdjęć z jetsona

192.168.1.77 poniżej to IP Twojego Jetsona z wyświetlacza na jetsonie bądź z terminala, więc uwaga.

rsync -rv --partial jetson@192.168.1.77:~/mycar/data/ ~/mycar/data/

Trenowanie modelu

conda activate donkey
python ~/mycar/manage.py train --model ~/mycar/models/mypilot.h5

Wysyłanie modelu z powrotem na jetsona

rsync -rv --partial ~/mycar/models/ jetson@192.168.777.777:~/mycar/models/

Jeśli JetRacer nie jedzie po wytrenowaniu modelu zapewne masz /mycar z repo donkeycar a nie z waveshare (skopiuj ze swojej karty SD folder /mycar na Twojego Ubuntu i nim się wytrenuje bez problemów).

Wiecej pomocy!

Jeśli mimo to będą jakieś problemy to znajdziecie mnie (a także wielu innych pomocnych duszków) na discord:
https://www.donkeycar.com/community.html

Obraz od Supportu Waveshare service@waveshare.com (nie próbowałem ale zakładam, że działa):
https://onedrive.live.com/?authkey=%21AOrBIyT5wWey3eU&id=807979134EB82134%21371247&cid=807979134EB82134

Robienie własnego obrazu podłączając kartę SD do PC (Ubuntu):

sudo dd bs=4M if=/dev/sdb of=jetcard_image.img status=progress
zip jetcard_image.zip jetcard_image.img

Source: https://github.com/NVIDIA-AI-IOT/jetcard

Efekt Końcowy

Podsumowanie

Trochę zabawy z tym było, ale dzięki temu poznałem ciekawych i bardzo pomocnych ludzi na Discordzie a co najważniejsze udało mi się wredzcie go uruchomić 🙂

Mam nadzieje, że dzięki temu krótkiemu wpisowi oszczędze komuś troszkę czasu i troche ułatwię zabawę. 

PS. Taka mała auto-reklama -> znajdziesz mnie na Medium pod adresem: 
https://medium.com/@danielszulc (postaram się coś tam wrzcić od czasu do czasu)

Close