•  

    Siemanko, czas na kolejny wpis z serii może kogoś zainteresuje.
    Co w tym tygodniu się działo ciekawego z moim projektem? Ze względu na to że moja aktualna praca (mam na myśli zakład pracy) mi nie odpowiada, zacząłem robić szkolenia online i rozglądać się za nowym miejscem pracy w #krakow. Ktoś coś?
    Ale wracając do projektu:
    Software:
    1. Skończyłem pisać mechanizm przekazywania danych na zewnątrz platformy. Stwierdziłem że użyję rzeczywiście pipefs'a, bo robienie kolejnej warstwy oprogramowania którą bym musiał zarządzać by mnie wykończyło. Łącznie utworzyłem trzy pipe'y: do odczytu danych z czujników, do odczytywania obrazu z kamery i do kontrolowania platformy. Na pierwszy rzut oka wszystko działa szybko, stabilnie i jest proste w implementacji (każdy linux to ma) ( ͡° ͜ʖ ͡°). Teraz pozostaje wpiąć do tego mechanizmu wszystkie moduły z firmware'u (na rysunku ładnie widać co i jak) i mieć nadzieję że będzie działało.
    2. Rozpocząłem programowania kontrolera (niebieski bloczek). Zadaniem kontrolera jest odczytanie danej trasy na działce i pokierowanie kosiarką tak żeby skosiła wszystko co trzeba. Kontroler piszę w #python ponieważ chyba tak będzie najłatwiej wpiąć do tego całe ML. Myślałem nad napisaniem tej części również w #cpp ale kompilacja bibliotek mlpack i amadrillo pod #raspberrypi mogłaby mi sprawić problemy w późniejszych etapach. Jakie są te etapy? Mianowicie nauka sieci neuronowej aby nauczyła się omijać przeszkody tak by mimo wszystko obstrzyc działeczkę. Cała sieć będzie uczona na AWS (mam zamiar użyć darmowego planu EC2). Zapewne uważny czytelnik powie: "Fajnie, ale musisz mieć dane!". I tu wchodzi kontroler, cały na biało. Każdy wpis do pipe'a przy użyciu platformy ma określoną strukturę i timestamp. Więc po prostu gdy kosiarka będzie działać w trybie manualnym (sterownia przez android), kontroler zapisze sobie wszystkie odczyty do plików które następnie chcę wysłać na AWS by nauczył moją sieć omijać przeszkody (⌐ ͡■ ͜ʖ ͡■). Pewnie nie zadziała xD.
    Hardware:
    1. Skończyłem robić obudowy na paski zębate do kół (pierwszy komentarz).
    2. Robię enkodery: dawno nie projektowałem nawet najprostszej elektroniki więc chętnie odświeżę sobie wiedze. (drugi komentarz)
    3. Kupiłem ekran do #stm32 aby wyświetlać stan kosiareczki i prostą klawiaturę gdybym nie zawsze miał przy sobie telefon(drugi komentarz)
    Jakie mam następne plany:
    Software: dodanie GPS do kontrolera i obsługa tras (to jest priorytet).
    Hardware: skończyć te nieszczęsne enkodery.

    I cyk tagi: #raspberrypi #cpp #python #robotyka #automatyka #chwalesie #diy #elektronika w sumie może stworzę własny tag żeby wszystkiego nie spamować.

    źródło: architektura.jpg