logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Konstrukcja mechaniczna do robota - znajomość Bascoma?

piotrek038 20 Sty 2008 21:11 3151 7
REKLAMA
  • #1 4716238
    piotrek038
    Poziom 12  
    Posty: 74
    Witam,
    Mam zamiar zrobić takiego robota Konstrukcja mechaniczna do robota - znajomość Bascoma?
    Wiem ze będzie mi potrzebna konstrukcja mechaniczna około 6 serw i mikro kontroler. Chciałbym aby robot ren podnosił przedmioty które sam wykryje tzn. chodzi mi oto żeby potrafił na przykład podnieść czerwoną piłeczkę i wsadzić ją do słoiczka a następnie poszukać piłeczki zielonej i umieścić ją również w słoiczku. Nie wiem tylko jakiego mikro kontrolera użyć i czy wystarczy mi znajomość Bascoma do zaprogramowania go?
  • REKLAMA
  • #2 4716747
    gumer
    Poziom 14  
    Posty: 78
    Pomógł: 7
    Ocena: 4
    Przygotuj się na to, że serwa są słabe. Tam raczej tych za 25zł nie zamontowali :). Dużo tym nie podniesiesz, a i ramion za długich nie zrobisz. Co nie zmienia faktu, że zabawa może być super :).

    Jak ma szukać tej piłeczki? Jeśli video, to może komputer PC i gotowe biblioteki w stylu RoboRealm?
  • REKLAMA
  • #3 4716827
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Albo OpenCV. Bascom do tego z pewnością nie wystarczy.

    Mikrokontroler to tylko do generowania przebiegów dla serw, kamerka na USB podłączona do komputera.

    Projekt jest bardzo trudny, wymaga lokalizowania przedmiotów w przestrzeni 3D i przeliczenia kinematyki odwrotnej. Wykonanie samego manipulatora nie powinno być trudne (przy reszcie pracy) Jak napisał gumer serwa muszą być bardzo dobrej jakości. Podwójne łożyska kulkowe i duży moment to podstawa, najlepiej na metalowych trybach i markowe.
  • #4 4717109
    gumer
    Poziom 14  
    Posty: 78
    Pomógł: 7
    Ocena: 4
    A propos kinematyki odwrotnej, nie znacie jakiś bibliotek do tego? Bo właśnie za niedługo też mnie to czeka...
  • REKLAMA
  • #5 4719058
    piotrek038
    Poziom 12  
    Posty: 74
    więc wracając do serw zajmuje się modelarstwem i mam zamiar wykorzystać serwa większe i mocniejsze od standardowych a o niefirmowych niema mowy, po przeliczeniu kosztów jest to bardzo drogi projekt ale mam zamiar uzbierać potrzebną sumę.
    Co do programowania to jaki język proponujecie i gzie mogę znaleźć potrzebną lekturę?
    Największy problem jak dla mnie stanowi szukanie piłeczki, otóż nie miałem niestety jeszcze okazji zapoznać się ze sprzętem który to umożliwi i chciałem was poprosić o rade, projekt ten nie będzie zrealizowany w ciągu miesiąca ze względu na koszty dlatego w tym czasie mam zamiar doszkolić się w tej kwestii.
  • #6 4719385
    gumer
    Poziom 14  
    Posty: 78
    Pomógł: 7
    Ocena: 4
    No to ja polecam PC i jedna z wyżej wymienionych bibliotek, lub poszukaj jeszcze innych.

    Ja bym najpierw wybrał bilioteki, później jezyk taki, żeby z nim współpracowały biblioteki.

    Z tego co piszą na stronie RoboRealm działa z: Perlem, C#, Java, Visual Basic. Jednak zaznaczam, że nie korzystałem z niego na razie i mam wątpliwości, czy np. pójdzie pod linuxem (jeśli to ma znaczenie).

    W C# mam doświadczenie. Pisze się przyjemnie, duużo helpa i materiałówn w internecie. Jest to część platformy .NET Microsoftu. Działa pod tylko pod Windowsem. Pod linuxa lepiej wybrać inny język.

    W C# pisze się w Visual Studio 2008 Express (do ściągnięcia za darmo ze strony Microsoftu).

    Podstawy C#: dowolna książka, jest tego tyle, że szok.

    Szukanie piłeczki (kod w VB):

    http://www.roborealm.com/tutorial/color_object_tracking_2/slide010.php

    No i przerób sobie przechwytywanie obrazu z kamery, podpinanie bibliotek etc. Wbrew pozorom takie pierdoły pochłaniają ogromną ilość czasu.

    Przechwytywanie video (C#):
    http://www.codeproject.com/KB/directx/directxcapture.aspx
    http://www.codeproject.com/KB/directx/DirXVidStrm.aspx?df=100&forumid=73014&exp=0&select=2125984

    Oczywiście można w C++, Javie, ale to już niech ktoś kto w tym siedzi się wypowie.
  • REKLAMA
  • #7 4719707
    riddyk
    Poziom 21  
    Posty: 358
    Pomógł: 34
    Ocena: 109
    Ja myślę że każdy język by się nadawał, osobiście preferuje c/c++ zarówno do uC jak i do pisania programów pod windowsa, dla mnie oprogramowanie czegoś takiego nie sprawi większego problemu (największym problemem jest brak czasu), ale nie o mnie mowa.

    Program do detekcji np. czerwonej piłeczki jest banalny, należy najpierw odfiltrować obraz z innych kolorów, pozostawiając ten który szukamy i jego kilka odcieni, następnie wybrać największe skupisko tego koloru, i zaznaczyć pewną płaszczyznę, znaleźć środek i porównać z aktualną pozycją. To mogę napisać bez jakikolwiek bibliotek w Borlandzie Builderze c/c++.
    Trochę większym wyzwaniem będzie przechwytywanie obrazu z kamerki, jako że nigdy podobnej rzeczy nie robiłem.
    Oprogramowanie uC, hmm sterowanie PWM odpowiednich serwonapędów, i tak komputer musi "pamiętać" pozycje ramienia i wysyłać odpowiednie rozkazy. Jedynie uC będzie powiadamiał komp o pewnych pozycjach krytycznych ramienia.

    pozdro.
  • #8 4720007
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Poczytaj o OpenCV, załatwi to kwestię interfejsu z kamerą. Osobiście się jeszcze nie bawiłem, ale widzę na codzień jak to się odbywa ;)

Podsumowanie tematu

✨ Dyskusja dotyczy budowy robota z manipulatorem wykorzystującym około 6 serwomechanizmów oraz mikrokontroler do sterowania. Projekt zakłada wykrywanie i podnoszenie kolorowych piłeczek (czerwonej i zielonej) oraz umieszczanie ich w pojemniku. Wskazano, że serwa muszą być wysokiej jakości, z dużym momentem obrotowym, najlepiej z metalowymi trybami i podwójnymi łożyskami kulkowymi, gdyż tanie serwa nie zapewnią odpowiedniej siły i precyzji. Do detekcji piłeczek rekomendowane jest wykorzystanie kamery USB podłączonej do komputera PC, a nie mikrokontrolera, który powinien jedynie generować sygnały PWM dla serw. Proponowane oprogramowanie do analizy obrazu to biblioteki RoboRealm lub OpenCV, które umożliwiają wykrywanie obiektów na podstawie koloru i lokalizację w przestrzeni 3D. Języki programowania sugerowane do współpracy z tymi bibliotekami to C#, Java, Visual Basic lub C/C++. Bascom nie jest wystarczający do realizacji zadań związanych z przetwarzaniem obrazu i kinematyką odwrotną. Projekt wymaga znajomości kinematyki odwrotnej do sterowania manipulatorem, a także umiejętności programowania i obsługi kamery. Autor planuje doszkolić się w zakresie programowania i detekcji obrazu, gdyż projekt jest kosztowny i czasochłonny.
REKLAMA