Skocz do zawartości

niciki

Users
  • Zawartość

    61
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    1

niciki zajął 1. miejsce w rankingu.
Data osiągnięcia: 31 sierpnia 2011.

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

O niciki

  • Urodziny 01.01.1960

Informacje

  • Płeć
    Brak informacji

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

Osiągnięcia użytkownika niciki

Entuzjasta

Entuzjasta (7/19)

  • Młodszy Juror
  • Młodszy redaktor
  • Za 5 postów
  • Za 25 postów
  • To już rok!

Odznaki

8

Reputacja

  1. niciki

    [Czujniki] Skaner 3D

    Co to są zniekształcenia aparatu (jakiego aparatu?)? Co rozumiesz przez macierz parametrów wewnętrznych?
  2. niciki

    [Czujniki] Skaner 3D

    1. Robi się to po to, aby określić środek linii lasera w każdym wierszu obrazu korzystając z tzw. środka ciężkości jasności pikseli. Jak masz obraz tylko po progowaniu to przekrój obrazu w wierszu daje obraz linii laserowej w postaci prostokąta, natomiast po tej operacji, o którą pytasz, przekrój to jakaś figura, której poszukuje się środka ciężkości. Znaleziony środek ciężkości przyjmuje się za punkt środka linii laserowej w danym wierszu ekranu. Operację powtarza się dla każdego wiersza. 2. Tak, kąty są stałe. Kalibracja załatwia nam sprawę orientacji kamera/laser. Nie robimy pomiaru kątów wprost. 3. Kąt obrotu platformy był uwzględniany w przekształceniu układ 2D obrazu -> układ cylindryczny. 4. "r" i "z" to NIE JEST "w" i "k"!! W i K to współrzędne obrazu (współrzędne linii laserowej na danym zdjęciu). R i Z to współrzędne cylindryczne. R - odległość od środka platformy wzdłuż promienia. Z - odległość od platformy wzdłuż wektora normalnego do powierzchni platformy. Współrzędne R i Z można obliczyć znając W i K i wykonując wcześniej skanowanie obiektu wzorcowego o znanych wymiarach.
  3. niciki

    [Czujniki] Skaner 3D

    Wystarczy Ci rozdzielczość aparatu/kamery i szybkość robienia zdjęć. Nasza metoda wykorzystuje odwzorowanie każdego piksela kamery. Odwzorowanie to tablica o rozmiarze robionych zdjęć (w tym przypadku niespełna 800x600). Elementy tej tablicy są określane na podstawie znajomego obiektu (obiektu wzorcowego), którym w naszym przypadku była prostokątna cienka pionowa tektura o wymiarze 120x60mm. Tekturkę stawialiśmy na skraju platformy obrotowej, oświetlaliśmy ją linijką laserową i robiliśmy zdjęcia przy włączonym obrocie platformy. Jako, że stała przy skraju platformy to odległość od środka talerza wynosi zawsze r - promień platformy (na dwóch zdjęciach, najbliżej i najdalej kamery, odległość od środka talerza jest ta sama - stąd odwzorowanie odległości). Wyszło nam, że odwzorowanie odległości od środka talerza dobrze przybliżane jest funkcją kwadratową. Natomiast wysokość tektury na dwóch zdjęciach kamery (gdy tekturka była bliżej kamery i dalej kamery) dała info o liniach stałej wysokości na obrazie kamery - stąd odwzorowanie linii stałej wysokości. Wyszło nam, że odwzorowanie wysokości dobrze przybliżane jest przez funkcję liniową. Podam Ci spis literatury, z której korzystałem przy opracowaniu tego projektu. 1. J.A. Beraldin, F. Blais, P. Boulanger, and M. Rioux. Range imaging sensors development at NRC laboratories. Proc. IEEE Workshop Interpretation 3D Scenes, pages 154–160, 1989. 2. P.J. Besl and N.D. McKay. A Method for Registration of 3-D Shapes. IEEE Trans. Pattern Analysis and Machine Intelligence, 14(2):239–256, luty 1992. 3. F. Blais. Review of 20 Years of Range Sensor Development. Journal of Electronic Imaging, styczen 2004. National Research Council Canada, Ottawa, Ontario. 4. M. Bubicz. Raport: szybkie prototypowanie cz. II Skanery 3D. Rodzaje, sposób działania, przeglad dostepnych rozwiazan. Projektowanie i Konstrukcje Inzynierskie, 6(09):12–21, czerwiec 2008. 5. S. Chaudhuri and A. Rajagopalan. Depth from defocus: a real aperture imaging approach. Springer Verlag, 1999. 6. D. Sciebura. Uzyskiwanie obrazu 3D obiektów za pomoca wizyjnego systemu, zrobotyzowanego stanowiska spawalniczego. Master’s thesis, Politechnika Gdanska, 2008. 7. N. D’Apuzzo. Overview of 3D surface digitization technologies in Europe. Three- Dimensional Image Capture and Applications VI, 2006. Proc. of SPIE-IS&T Electronic Imaging, SPIE Vol. 6056, San Jose (CA), USA. 8. G. Gruener, J.W. Weingarten, and R. Siegwart. Inspection of surface by the Moire method. Measurement Science Review, 1(1):29 – 32, 2001. Slovak Institute of Metrology, Bratislava. 9. G. Gruener, J.W. Weingarten, and R. Siegwart. A State-of-the-Art 3D Sensor for Robot Navigation. Intelligent Robots and Systems, 3:2155 – 2160, wrzesien/ pazdziernik 2004. Three-Dimensional Image Capture and Applications VII. 10. S. Kumar, M.L. Smith, and L.N. Smith. An Overview of Passive and Active Vision Techniques for Hand-Held 3D Data Acquisition. Proceedings of SPIE, 4877:16–27, 2003. Opto-Ireland: Optical Metrology, Imaging and Machine Vision. 11. T. Masuda, K. Sakaue, and N. Yokoya. Registration and Integration of Multiple Range Images for 3-D Model Construction. Proceedings of ICPR, 1996. Nara Institute of Science and Technology, Ikoma, Nara 630-01, Japan. 12. R.J. Woodham. Photometric method for determining surface orientation from multiple images. Optical Engineerings, 19(1):139–144, styczen/luty 1980.
  4. A słyszałeś o sztucznych sieciach neuronowych, algorytmach ewolucyjnych, programowaniu genetycznym, czy uczeniu ze wzmocnieniem? Jeśli odpowiedź na którekolwiek z powyższych zagadnień brzmi "nie", to polecam literaturę: Mulawka J.J., Systemy ekspertowe, WNT, Warszawa 1996. Cichosz P., Systemy uczące się, WNT, Warszawa, 2000. Żurada J., Barski M., Jędruch W., Sztuczne sieci neuronowe, PWN, Warszawa 1996. Jędruch W., Sztuczna inteligencja. Materiały do wykładu, 2003.
  5. niciki

    Odnajdywanie robota w przestrzeni 3d

    Proponuję zapoznać się z radionawigacją: http://pl.wikipedia.org/wiki/Radionawigacja oraz nawigacją hiperboliczną: http://heading.pata.pl/hiper.htm
  6. jakbyś mógł pomierzyć, ponieważ niezmiernie mnie to ciekawi 😉
  7. Gratuluję projektu i wykonania! jak masz rozwiązane zasilanie i ile całość pobiera?
  8. podaj jakiej instrukcji użyłeś, aby wgrać plik .hex spróbuj: -c stk500v2 -P COM3 -p m32 -U flash:w:twoj_plik.hex
  9. niciki

    ARIA - problem z kompilacja

    Odpowiedz sobie na pytanie: Czy chcesz sterować rzeczywistym robotem, czy symulacją na Twoim ekraniku? Jeśli rzeczywistym, to weź do ręki jakiś mikrokontroler i naucz się go programować.
  10. Sabre: Twoje uwagi do moich postów są niewątpliwie słuszne i zasadne. Moje powyższe argumenty nie są wyznacznikiem poprawności rozwiązania. Pozwól jednak, że obronię przytoczone przeze mnie podejście w inny sposób. Proponuję następujące rozwiązanie: Określenie, który przycisk został wciśnięty, odbywa się na zasadzie skanowania jak poprzednio, z tą różnicą, że port B (od PB0 do PB3) jest portem wyjściowym, a port C (od PC0 do PC3) jest portem wejściowym. Kolejnośc skanowania jest oznaczona pogrubionymi cyframi. Kolorami zaznaczono kolejne kody skanujące: ================== 1 2 3 4 PB0 ----|-----|-----|-----|--- 0 1 1 1 PB1 ----|-----|-----|-----|--- 1 0 1 1 PB2 ----|-----|-----_----|--- 1 1 0 1 PB3 ----|-----|-----|-----|--- 1 1 1 0 _____PC0 PC1 PC2 PC3 (zczytywanie) ______1___1___1___1___1 ______1___1___1___1___2 ______1___1___0___1___3 <- wciśnięty przycisk w 3cim wierszu i 3ciej kolumnie ______1___1___1___1___4 Wady: - komplikacja kodu programu - układ "trudniejszy" do oprogramowania dla początkujących Zalety: - oszczędność nóżek uK (dla 16 przycisków zużywamy 8 nóżek: 4 wiersze i 4 kolumny) - układ skalowalny (szybko można zwiększy/zmniejszyć liczbę przycisków) - możliwość wykrycia kombinacji wciśniętych przycisków (np. inna interpretacja wciśnięcia dwóch, lub trzech przycisków jednocześnie)
  11. a to ciekawe Sabre... Podobne rozwiązanie obsługi klawiatury miałem na jednym z laboratoriów na Politechnice Gdańskiej oraz, jak teraz patrze, w pierwszym lepszym linku z klawiaturą i atmegą z elektrody, np.: http://www.elektroda.pl/rtvforum/topic967647.html
  12. kolega grabo ma rację mówiąc, że wynik będzie zero, ponieważ atmega8 nie wspiera zmiennych typu float. nie możesz po prostu pomnożyć pom*0.351, bo kompilator zaokrągli 0.351 do 0 i masz mnożenie pom*0.
  13. Ja bym zrobił jak poniżej: Aby sprawdzić, który przycisk został wciśnięty, należy wystawiać kolejno "0" na dany port (od PC0 do PC3), a na pozostałe wystawić "1". Gdy wystąpi przerwanie np. dla wyrażenia "1101", to już mikrokontroler będzie wiedzieć, że trzeci przycisk spowodował to przerwanie. UWAGA! Gdy wciśnie się oba przyciski jednocześnie, można spowodować zwarcie VCC-GND na pinach uK.
  14. niciki

    Robot balansujący - odwrócone wahadło

    co_pat to zależy od utworzonych równań filtru Kalmana (czy uwzględniasz błędy dryfu, offsetu, etc.) Swego czasu zajmowałem się bardzo intensywnie nieliniowym filtrem Kalmana właśnie do pracy z pomiarami z akcel. i żyro. do estymacji trajektorii ruchu:
  15. Przeczytałem cały Twój artykuł i muszę powiedzieć, że tytuł: [Programowanie] Port szeregowy i interfejs USART czyli komunikacja mikrokontrolera z komputerem. nie odzwierciedla głównego tematu tego artykułu, którym jest: Dopisek [Programowanie] też tutaj niczego nie zmienia, a tylko wprowadza zamieszanie 😉 Dodatkowo, jeżeli chodzi już o samo Visual Studio, to warto zwrócić uwagę na to, że programy w nim napisane nie są w pełni przenoszalne na inne komputery, które nie mają wgranego środowiska Visual Studio, ani frameworków. Nawet, gdy dołączysz potrzebne biblioteki dynamiczne .dll do Twojego programu. Z drugiej jednak strony artykuł ten może spowodować, że więcej osób będzie mogła zacząć przygodę z C++ na PC 🙂 Dzięki!
×
×
  • 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.