Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Robot klasy Linefollower - RetroBot

kamdz 01 Feb 2019 15:57 2511 9
Renex
  • Robot klasy Linefollower - RetroBot
    Witam wszystkich.

    Po paru latach od mojej rejestracji na tym forum, mam w końcu przyjemność przedstawić Wam mojego pierwszego w miarę poważnego robota - linefollower'a. Na początek trochę o nim: Projekt został w całości sfinansowany przez moją szkołę, ma służyć jako pokaz na dni otwarte, ale planujemy także wybrać się z nim na parę konkursów. 2 płytki, główna i ta z czujnikami zostały zaprojektowane i wykonane przeze mnie. Ścieżki rysowałem 2 pisakami PCB: Edding 1mm i 0,3mm. Z racji, iż jest to moja pierwsza tego typu konstrukcja, to odpuściłem sobie projektowanie całości układu - nie czułem się na siłach żeby zrobić taką skomplikowaną jak dla mnie płytkę - zdecydowałem, że skorzystam ze wszelakich możliwych gotowych modułów, a tylna płytka będzie tylko łączyła poszczególne moduły. Zdaję sobie sprawę, że zyskałem przez to dużo wagi, a także straciłem aerodynamikę, ale tak jak mówiłem: nie liczę na pierwsze miejsca, ta konstrukcja miała mnie przede wszystkim nauczyć trochę o linefollower'ach, pokazać mi pułapki, które mogą gdzieś być. I spełniła tą funkcję. Ze względu na swój przepiękny wygląd płytek domowej roboty, linefollowera nazwałem RetroBot :)

    Budowa:

    Robot został złożony z następujących części:

    2 * Silnik Pololu HP 10:1
    2 * Pololu TB9051FTG - jednokanałowy sterownik silników 28V/2,6A
    2 * Mocowania do micro silników Pololu
    2 * Koło Solarbotics RW2 - mocowanie zewnętrzne
    Moduł STM32F103C8T6 ARM Cortex-M3
    Moduł zasilający 3,3V / 5V z gniazdem DC
    Moduł Bluetooth 2.1 XM-15B 3,3V/5V
    9 * Czujnik transoptor odbiciowy KTIR0711S
    Do budowy użyłem też laminatu, markerów PCB, lakieru izolacyjnego PVB 16, wytrawiacza, listewki węglowej 1 x 5mm, Taśmy i 2 złącz IDC 14, goldpinów, wtyków JST, rezystorów i reszty drobnicy takiej jak np. śrubki 2mm. Rezystory do czujników KTIR zostały dobrane eksperymentalnie, na wartości 560ohm do diody i 10K do kolektora. Ślizgacze natomiast zrobiłem z 2 spiłowanych kulek BB.

    Masa robota z pakietem wynosi 152g, a bez pakietu 140g.

    Schematu głównej płytki nie mam, ponieważ robiłem ją z głowy, natomiast schemat płytki z czujnikami wrzucam w załączniku.

    Efekt końcowy:

    Program, który miałby podążać za linią nie jest jeszcze dopracowany więc osiągi na pewno można jeszcze poprawić, ale wrzucam kilka filmików z dotychczasowych jazd.
    2 pierwsze filmy są nagrane na szkolnym korytarzu, mocno brudnym i zakurzonym, więc nie mógł rozwinąć tam pełnej prędkości i utrzymać przyczepności.
    Przepraszam za koszmarne nagranie ale mój telefon nie załapał, że leży na boku :(











    Galeria:

    Czyli to, na co pewnie każdy czekał ;) Pierwsze kilka zdjęć to te z budowy przedniej płytki, potem już niestety nie pamiętałem i zrobiłem zdjęcia tylko ostatecznego wyniku :(

    Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot Robot klasy Linefollower - RetroBot

    PS: Koniecznie dajcie znać w komentarzach, co myślicie o tej konstrukcji i co można by poprawić w kolejnej wersji.
    About Author
    kamdz
    Level 12  
    Offline 
    kamdz wrote 191 posts with rating 20, helped 6 times. Live in city Kraków. Been with us since 2014 year.
  • Renex
  • #2
    Anonymous
    Level 1  
  • Renex
  • #3
    Anonymous
    Level 1  
  • #5
    Anonymous
    Level 1  
  • #6
    khoam
    Level 42  
    kamdz wrote:
    co można by poprawić w kolejnej wersji.

    Gdybyś się zrezygnował przynajmniej z części gotowych modułów, to wydaje mi się, że zmieściłbyś to wszystko na tylnej, głównej "płycie", bez dodatkowych "kanapek". Byłaby nieco lżejsza.
    Całkiem nieźle trzyma się toru jazdy. Bardzo fajny projekt.
  • #7
    katakrowa
    Level 22  
    Bardzo fajny projekt widać, że ogarnąłeś temat. Niestety jest jedno ale
    Jak w zdecydowanej większości przypadków w projektach z uC autor nie podzielił się kodem źródłowym a w tej konstrukcji to kluczowy element, który z przyjemnością bym obejrzał.

    A tak przyszłościowo - mając na pokładzie tak silny uC, który bez trudu obsłuży operacje zmiennoprzecinkowe może warto zaimplementować do sterowania urządzeniem sieci neuronowe. W takich zastosowaniach sprawdzają się bardzo dobrze. Wstępne uczenie i symulacje można realizować na PC. Wbrew pozorom to łatwy temat.
  • #8
    kamdz
    Level 12  
    katakrowa wrote:
    Bardzo fajny projekt widać, że ogarnąłeś temat. Niestety jest jedno, ale
    Jak w zdecydowanej większości przypadków w projektach z uC autor nie podzielił się kodem źródłowym a w tej konstrukcji to kluczowy element, który z przyjemnością bym obejrzał.

    A tak przyszłościowo, mając na pokładzie tak silny uC, który bez trudu obsłuży operacje zmiennoprzecinkowe, może warto zaimplementować do sterowania urządzeniem sieci neuronowe. W takich zastosowaniach sprawdzają się bardzo dobrze. Wstępne uczenie i symulacje można realizować na PC. Wbrew pozorom to łatwy temat.

    Co do kodu to naprawdę nie ma czym się chwalić. Prosty i zapewne źle napisany regulator PD. Jak taka wola ludu to mogę wstawić, ale jest to dokładnie to co tu: Link tylko przepisane pod stm32.
    Co do sieci neuronowych to rozważałem, że byłoby dobrze je zastosować, ale nie mam o nich żadnego pojęcia i nie mam pojęcia jak z nimi zacząć. Nawet nie do końca wiem, jak to działa. Z chęcią przytulę, jakieś przydatne linki.
  • #9
    krzbor
    Level 25  
    Świetny projekt. Jeśli coś można zauważyć, to problemy przy ostrych zakrętach. Prawdopodobnie jest to spowodowane zbyt długim i zbyt ciężkim czujnikiem. Warto przemyśleć jego konstrukcję. Jeśli będzie bliżej i będzie lżejszy, to ostry zakręt nie spowoduje tak dużego powrotnego wychylenia.
  • #10
    Anonymous
    Level 1