Skocz do zawartości

robot2016

Użytkownicy
  • Zawartość

    1
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    1

robot2016 zajął 1. miejsce w rankingu.
Data osiągnięcia: 15 lutego 2016.

Treści użytkownika robot2016 zdobyły tego dnia najwięcej polubień!

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Warszawa
  • Zawód
    Automatyk
  • Moje zainteresowania:
    drony

Osiągnięcia użytkownika robot2016

Starszy odkrywca

Starszy odkrywca (5/19)

  • Młodszy roboty
  • To już rok!
  • To już 5 lat!

Odznaki

3

Reputacja

  1. Nie mogłem się zdecydować do jakiej kategorii go zaklasyfikować, czy to jest "line follower"? Z tekstu powinno wyniknąć. Opis projektu Zakres pracy: Projekt, wykonanie i instalacja systemu sterującego robotem dystrybuującym paszę dla zwierząt (krowy w oborze). Zadania robota: Robot porusza się po zadanych torach, wytyczonych przez linie indukcyjne. Z punktów dystrybucyjnych robot pobiera paszę w zadanych proporcjach a następnie rozkłada ją (rozsypuje) w punktach karmienia zwierząt. Punkty te noszą nazwę grup. Grupy gromadzą krowy o podobnych wymogach żywieniowych. Grupy mogą mieć postać odcinków obejmujących wiele krów lub mogą być zredukowane do punktów, w których znajduje się jedna krowa. Przed rozłożeniem świeżej paszy, robot szczotkami usuwa pozostałości starej karmy. Sterownik umożliwia zaprogramowanie o jakiej porze, jaka pasza i do których grup zostanie dostarczona. Cechy części mechanicznej: Jednorazowo można załadować do 1000kg paszy. Robot został zaprojektowany do pracy ciągłej 24/7. Moc silnika napędu: 20KM. Robocza prędkość jazdy: 0.3m/s Dokładność pozycjonowania +/-1cm na odcinku 200m. Masa urządzenia: ok.1000kg Konstrukcja mechaniczna robota: Robot jest wyposażony w silnik spalinowy napędzający alternator i pompę hydrauliczną. Start ilnika zapewnia akumulator i rozrusznik elektryczny. Pompa hydrauliczna wytwarza cisnienie robocze dla elementów wykonawczych (silniki i siłowniki). Elementy wykonawcze są uruchamiane przy pomocy bloku zaworów sterowanych elektrycznie. Część zaworów w bloku sterowana jest proporcjonalnie a część dwustanowo. Konstrukcja sterownika: Należy mówić raczej o całym systemie obejmującym część mobilną zainstalowaną na robocie oraz infrastrukturę w której robot się porusza. Cześć mobilna składa się z dotykowego panelu sterowania i diagnostyki, szafki sterowniczej z wbudowaną jednostką centralną, joysticka, anten naprowadzających, czujników (temperatura, ciśnienie, indukcyjne), wyłączników krańcowych , wyłączników bezpieczeństwa. Część stacjonarna to: generator sygnału indukcyjnego, sieć odbiorników radiowych umożliwiających odbiór poleceń z robota oraz sieć ścieżek indukcyjnych. Procesory: Atmega128, Atmega32 Wejścia analogowe: 10 Wejscia cyfrowe: 10 Wyjscia analogowe PWM: 4 Wyjscia cyfrowe: 9 Serial Port przez Bluetooth: 2 Zadania systemu sterowania: 1. Praca robota w trybie automatycznym, półautomatycznym i ręcznym. 2. Wyswietlanie stanu robota. 3. Definiowanie paszy, punktów dystrybucji, grup, linii, czasów karmienia. 4. Dystrybucja paszy według składu oraz ilości i czasu zadanego przez użytkownika – pobranie z punktu/punktów dystrybucyjnych i wysypanie w zadanym punkcie lub odcinku grupy. 5. Komunikacja radiowa z urządzeniami stacjonarnymi. 6. Sterowanie urządzeń na hali – mixer (otwarcie,zamknięcie) , bramy (otwarcie, zamknięcie), generator sygnału dla linii indukcyjnej (wybór drogi jazdy) 7. Pomiar ilości paszy w zbiorniku z analizą zakłóceń odczytu oraz adaptywnym ich filtrowaniem. 8. Planowanie sposobu optymalnego i równego rozkładania paszy. 9. Ruszanie, zatrzymanie, zmiana kierunku jazdy: do przodu/do tyłu i utrzymanie zadanej prędkości jazdy (PID). 10. Utrzymanie zadanej trasy jazdy (PID). 11. Włączanie / wyłączanie wyładunku paszy i szczotkowania (czyszczenia) według programu użytkownika. 12. Unikanie kolizji z obiektami na hali (przedmioty, zwierzeta i ludzie). 13. Dodatkowe, rozwojowe, które w tym projekcie nie miały zastosowania: 1. Sterowanie wieloma robotami w tym samym czasie 2. Wyznaczanie tymczasowych punktów lub odcinków wyładowania bez konieczności zmian w programie użytkownika przy pomocy fizycznych znaczników początku i końca (RFID, lub optyczne) 3. Prawidłowe prowadzenie kierunku ruchu robota przez skrzyżowania dwóch lub więcej linii indukcyjnych Ciekawsze aspekty projektu (niektórzy nazywają to wyzwaniami - to tygrysy lubią najbardziej): Cały system jest moim pomysłem i moją konstrukcją. Jest układ modułowy, dwuprocesorowy z wymianą danych po szynie I2C. W pracy wykorzystałem płytki developerskie dla układów z montażem SMT aby uniknąć dość niewdzięcznych czynności związanych z lutowaniem i uruchamianiem miniaturowych obwodów. Skupiłem się na głównych zadaniach prowadzących do powstania konstrukcji działającej i spełniającej oczekiwania uzytkownika. W trakcie projektu sterowania okazało się, że konstrukcja robota nigdy nie była projektowana jako urządzenie automatyczne. Jest to wózek z napędem hydraulicznym do pracy pod nadzorem operatora. W późniejszym czasie elektronika sterująca została dodana. Ten pierwotny system sterowania został źle zaprojektowany i był bardzo awaryjny. Ostatecznie nastąpiło jego nieodwracalne elektryczne uszkodzenie. Naprawa okazała się nieopłacalna. W tym momencie zaczął się mój projekt. Trudnym do spełnienia warunkiem było załozenie braku modyfikacji istniejącej konstrukcji mechanicznej. Efektem jest: niewystarczająca ilość czujników (szczególnie trudno jest sterować i stabilizować prędkość jazdy a jest to konieczność ponieważ obciążenie robota się zmienia a trasa nie jest pozioma – pierwszy odczyt prędkości pojawia się po ok.2s. od załączenia silnika, a gdzie czas na utrzymanie stałej prędkości? A co jeśli po tych 2s. odczytu nie będzie , bo właśnie zwierzęta urwały kabel od czujnika?) , awaryjny, bardzo niedokładny system wyładunku (a wymagania do dokładności wyładunku to +/- 2kg), niedokładnie, nierówno położona linia indukcyjna wyznaczająca trasy, obecność dużych przedmiotów stalowych zniekształcających sygnał linii indukcyjnej. W trakcie prac usunąłem uszkodzenia oraz wykonałem regulację w samym pojeździe, takie jak: system paliwowy silnika, centralka zapłonowa, odpowietrzenie instalacji hydraulicznej i wymiana oleju, wymiana uszkodzonego zaworu, zmiana położenia anten. Robot pracuje w dynamicznie zmieniającym się środowisku. Powietrze jest mocno zapylone i wilgotne. Wszystkie powyższe trudności przezwyciężyłem! Dało to ogromną satysfakcję i nowe doświadczenia. Dodatkowo zadowolenie uzytkownika oraz utrzymanie konstrukcji mechanicznej w pierwotnym stanie bez dodatkowego wkładu finansowego na modernizację. Pracę podzieliłem mniej więcej tak: 1. Poznanie własności mechanicznych konstrukcji: a) Sterowanie silnikiem spalinowym b) Własności i specyfika pracy hydrauliki: starzenie instalacji, wycieki, niedobór oleju, praca w szerokim zakresie temperatur, niewystarcząca wydajność pompy hydraulicznej, niepodziewane skoki ciśnienia c) Powstawanie luzów mechanicznych i ich wpływ na sterowność. d) Własności napędu i ich zmiana wraz ze zmianą parametrów oleju hydraulicznego. e) Własności systemu skrętów i ich zmiana wraz ze zmianą parametrów oleju hydraulicznego. f) Dynamika jazdy robota. g) Waga elektroniczna: zachowanie w czasie postoju, ładowania, rozładowania, dryft czasowy i temperaturowy, h) System wyładunku: zależność pracy od rodzaju paszy, zakres przypadkowości działania, wpływ wilgotności i temperatury na szybkość wyładunku. i) Awaryjna konstrukcja czujnika wykrywającego znacznik początku trasy i możliwości kompensacji błędów w oprogramowaniu. j) Niedokładności czujnika pozycji linii i mozliwość ich kompensacji w oprogramowaniu. 2. Zapoznanie z rozchodzeniem fal radiowych w środowisku pracy i dobranie odpowiedniego rozwiązania zapewniającego pewne , odporne na zakłócenia i zaniki połaczenia radiowego sterowanie. 3. Zaprojektowanie i wykonanie prototypowej wersji elektroniki mobilnej, generatora i odbiorników. 4. Zaprogramowanie podstawowych funkcji sterowania („klocków”): jazda, skręty, odczyt czujników, analiza wagi, sterowanie prostymi funkcjami przez serial port i panel dotykowy itp. 5. Budowa symulatora obiektu. Większość prac programistycznych można wykonać „na biurku” zamiast w terenie. W terenie następuje w większości jedynie weryfikacja założeń i składanie oprogramowania z gotowych „klocków”. Jest to o tyle istotne, że robot jest w ruchu oraz należy analizować wiele parametrów w tym samym momencie. 6. Stacja monitorowania w czasie jazdy – połączenie przez bluetooth. Symulacja obiektu przy pomocy zewnętrznego układu nie odpowie na ważne pytanie: jak zachowuje się pasza , często niejednorodna , o różnej gęstości i wilgotności, w trakcie załączania i wyłączania elementów mechanizmu wyładunku. Wszystkie obserwowane parametry można zapisywać do późniejszej analizy. 7. Zapewnienie bezpieczeństwa developera. Zbudowałem bezprzewodowy, radiowy system zatrzymywania robota w razie niespodziewanych reakcji programu (np. ustawienie maksymalnej prędkości jazdy, niekontrolowany zjazd z trasy), które mogłyby spowodować „ucieczkę” maszyny lub zniszczenia w okolicznych obiektach. To urządzenie jest niezależne od głównego systemu procesorowego i reaguje na zanik transmisji z „pilotem”. Transmisja jest dwukierunkowa. Najdłuższy czas reakcji to 5ms. Można korzystać z dwóch trybów „stopu”: chwilowego i trwałego. Przerywane są kluczowe obwody robota powodujące wyłączenie silnika, spadek ciśnienia roboczego, zamknięcie zaworów itp. 8. Praca nad softwarem. To etap zajmujący najwięcej czasu: poprawki i rozbudowa oprogramowania, który w zasadzie nadal trwa. Użytkownik po początkowym zachłyśnięciu się możliwościami robota, przywykł już do dużej oszczędności czasu w pracy i teraz proponuje kolejne dodatkowe funkcje. 9. Dla usprawnienia poszukiwania błędów programowych w stacjonarnej części radiowej systemu, zaprojektowałem i wykonałem urządzenie monitorujące jednocześnie transmisje kablową RS485 oraz radiową w paśmie 433MHz z możliwością zapisywania wyników do późniejszej analizy. 10. Zapewnienie bezpieczeństwa uzytkownika. Osiągnąłem 100% poziom bezpieczeństwa sterownika w trakcie 12 miesięcznej ciągłej pracy urządzenia, tzn. system zawsze poradził sobie z sytuacją awaryjną. System prawidłowo reaguje na: „zawieszenie” sterownika (rzadkie zupełne wyłączenie-najczęściej prawidłowa kontynuacja po samoresecie procesorów), brak sygnału linii indukcyjnej, blokowanie (zakleszczanie) zaworów hydraulicznych, stop awaryjny z przycisków operatora, przetarcie lub zerwanie kabli, sygnał ze zderzaków mechanicznych. Dotyczy to zdarzeń symulowanych i rzeczywistych. Oczywiście ten bardzo optymistyczny wynik nie przesądza o instalacji niezależnego, fabrycznego systemu bezpieczeństwa. Ale to już kolejny projekt.
×
×
  • 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.