BuxBleed Napisano Luty 8, 2018 Udostępnij Napisano Luty 8, 2018 Potrzebuję wsparcia informacyjnego odnośnie projektu robota sterowanego wizyjnie. Na ten moment, mam robota który jeździ, nie ma osi skrętnej, skręcanie odbywa się różnicowo, czyli zmiana kierunków obrotu w silnikach. To sprawia że jest w stanie chociażby obrócić się o 180 stopni w miejscu, w praktyce wchodzi bezwładność i tak nie jest. Jest do niego dobrze zrobione sterowanie za pomocą akcelerometru w telefonie, dane wysyłane przez BlueTooth, kręcimy telefonem, robot jeździ skręca opuszcza pisak gdy wciśniemy przycisk jest ok. Wersja finalna ma umożliwić rysowanie jakichś prostych figur. Można to już zaimplementować w tym momencie, w sensie wgrać program który będzie rysował na przykład prostokąt i zobaczyć co z tego wyjdzie ( nie próbowałem ). Wówczas mamy otwarty układ regulacji, nie mamy informacji zwrotnej na temat sygnału wyjściowego ( czy już trzeba skręcić, podnieść pisak, zatrzymać się itp). No więc jeśli zamkniemy układ, to informacja wizyjna z obrazu będzie pełnić rolę ujemnego sprzężenia zwrotnego co przełoży się na lepszą dokładność sterowania i rysowania. Mam kamerkę dedykowaną do Raspbbery Pi, zawieszoną na suficie nad przestrzenią roboczą robota, dwa znaczniki wygenerowane za pomocą funkcji biblioteki OpenCV. Jeden na robocie drugi gdzieś w rogu przestrzeni roboczej. Znam wymiary jednego i drugiego. Położenie ich środków i wierzchołków. 1.Jestem w stanie policzyć odległość w linii prostej od środka jednego znacznika do drugiego znacznika, w pikselach na obrazie. Jak obliczyć ją w jednostkach odległości ? Znam wysokość na jakiej zawieszona jest kamera. 2. Jak obliczyć rotację układu współrzędnych związanych z robotem a układem który jest związany ze znacznikiem odniesienia? Mamy płaszczyznę 2D a więc, tylko współrzędną x i y no i potrzebowałbym jakoś obliczyć kąt o jaki obrócił się jeden układ względem drugiego dookoła osi z . 3. No i potrzebowałbym to jakoś połączyć w programie tak aby zadając punkt na obrazie z kamery robot poruszał się w linii prostej do niego, tyle by na początek wystarczyło. Nie pytam o implementację tylko o funkcjonalności jakie powinien posiadać program. Będę wdzięczny za wszelkie pomysły 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
deshipu Luty 8, 2018 Udostępnij Luty 8, 2018 1. Najprościej jest zmierzyć. Żeby policzyć, musiałbyś znać parametry obiektywu. 2. Poszukaj w algebrze liniowej o macierzy przejścia między bazami. 3. Nie rozumiem tego pytania. Cytuj Link do komentarza Share on other sites More sharing options...
BuxBleed Luty 8, 2018 Autor tematu Udostępnij Luty 8, 2018 1. Mam model matematyczny kamery, w sensie kalibruje kamerę za pomocą odpowiedniej funkcji w OpenCV używając do tego szachownicy.( współczynniki zniekształcenia, ogniskową, oraz centra optyczne(?) zapisane w postaci macierzy i wektorów) Może to jakoś wykorzystać ? 2. Ok 3. Na razie to pomińmy Cytuj Link do komentarza Share on other sites More sharing options...
deshipu Luty 8, 2018 Udostępnij Luty 8, 2018 Zapewne możesz, tylko będziesz musiał w dokumentacji wyczytać jak się tego dokładnie używa. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!