Skocz do zawartości
sobal44

[Czujniki] Jak zbudować robota z kamerą?

Pomocna odpowiedź

Teraz wszyscy pewnie myślą, jak sterować robotem, ponieważ informacje z kamery trafiają do komputera, a nie do robota.

Myślałem, że robot będzie autonomiczny...

Ale i tak artykuł ciekawy.

Brakuje mi bibliografii, a w tym linków do wykorzystywanych programów

z zaznaczeniem formy ich dystrybucji (płatny, freeware, demo...)

Udostępnij ten post


Link to post
Share on other sites

Ciekawe podejście do tematu, bawiłem się właśnie wersją trial (bo żadnej innej chyba tam nie ma?), całkiem sporo możliwości 😉

Udostępnij ten post


Link to post
Share on other sites

Jasność diód postaram się poprawić, ale refleksy od nakretki i sygnalizator z drugiej drogi na razie zostawię dla utrudnienia 🙂

Wydaje mi się, że lepiej by było jeśli analizie nie było by poddane całe zdjęcie, ale wcześniej żeby był odfiltrowany fragment z sygnalizatorem algorytmami z tematu o zawodach robotów jeżdżących po makiecie miasta.

Ale mimo to efekty są na prawdę nie złe 🙂

Udostępnij ten post


Link to post
Share on other sites

U mnie niestety jest problem z podłączeniem programu z kamerką.

Kamerkę mam zainstalowaną poprawnie, program też.

W opcjach programu po wyborze kamerki wyskakuje Error:

Could not connect to 'ZSMC USB PC Camera (ZS0211)'. 
Err Code: Failed to render streams! (RENDER_STREAM)
Is your video camera/device plugged in?

Udostępnij ten post


Link to post
Share on other sites

MaRo88PL, nie tylko ty masz taki problem. Tu jest dokładnie to samo opisane.

Udostępnij ten post


Link to post
Share on other sites

Witam, chce podłączyć pod komputer moduł z przekaźnikami sterowany z rs232, całość ma współpracować z programem RoboRealm. Mam pytanie, w programie RoboRealm w zakładce controls jaki rodzaj sterowania mam wybrać? Program napisze w Visual Basic, tylko tutaj też mam pytanie, jakiej komendy w VB trzeba użyć do sterowania portem rs232, np. program ma działać w taki sposób: jeżeli zielony kolor pojawi się na ekranie załącza się przekaźnik. z góry dziękuje i przepraszam za niefachowe słownictwo, gdyż jestem początkujący w tych sprawach. 😕

Udostępnij ten post


Link to post
Share on other sites

W module z przekaźnikami musisz mieć mikrokontroler, który będzie odczytywał komendy przesyłane przez rs232. Musisz też ustalić sobie jakiś "protokół" komunikacji, np. komenda 'L' załącza jeden przekaźnik, a 'R' inny.

Jak napisać to w VB nie mam pojęcia, bo nigdy nie pisałem w tym języku, ale jeżeli korzystasz z Visual Studio, to poszukaj gotowych komponentów do obsługi portu szeregowego.

Udostępnij ten post


Link to post
Share on other sites

Witam. Napisałem krótki programik w c w zakładce CScript program. Narazie miał on w okienku DOS'a wyświetlac położenie obiektu śledzonego, później był by rozwijany w miare moich potrzeb, lecz niestety, programik się kompiluje i niby działa, ale faktycznie się okno dosa nawet nie wyświetla. Może ktoś pomóc co jest nie tak ? bo sam już niewiem, już tyle sposobów próbowałem. W Dev-cpp normalnie się kompiluje i wyświetla okienko dosa. Chyba że nie jestem uświadomiony, że nie można wywołać okienka żadnego ani dosa z pod tego programu.

Oto program:

#include "stdio.h"
#include "stdlib.h"

int main()
{

int cogX, cogY;

cogX = 1;//GetVariable("COG_X");
cogY = 2;//GetVariable("COG_Y");

printf("x =", cogX, "y =", cogY);

system("pause");
return 0;
}

Udostępnij ten post


Link to post
Share on other sites

Żeby zbudować robota z kamerą nie trzeba w cale wyświetlać okna DOSa.

Udostępnij ten post


Link to post
Share on other sites

Z tym że ja nie buduje robota, i musze wyświetlic odpowiednio przerobione dane z tego programu na monitorze, tylko że no niestety niedziała. Ktoś ma jakiś pomysł ?

Udostępnij ten post


Link to post
Share on other sites

Kiper chodzi Ci o coś takiego?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   int punkt_X, punkt_Y;
   punkt_X=1;
   punkt_Y=2;
   cout <<"Punkt X wynosi: "<< punkt_X << "\nNatomiast punkt Y wynosi: " << punkt_Y<< endl;    

   system("PAUSE");
   return EXIT_SUCCESS;
}

Ps: Wybacz że w C++ ale C jeszcze nie znam 😋

Edit:

A tu masz w C poprawione

#include "stdio.h"
#include "stdlib.h"

int main()
{

int cogX, cogY;

cogX = 1;//GetVariable("COG_X");
cogY = 2;//GetVariable("COG_Y");

printf("x = %d\n", cogX);
printf( "y = %d\n", cogY);

system("pause");
return 0;
}

Brakowało Ci po prostu "%d" bez którego nic się nie wyświetli. By wyświetlić

y = %d\n", cogY

przeniosłem do kolejnej linijki inaczej się nie chciało pojawić 🙂

Edit2:

\n

przenosi do nowej linijki WYŚWIETLANY tekst, co ułatwia czytanie tekstu gdzy go wyśietlimy

Udostępnij ten post


Link to post
Share on other sites

a po co ty chcesz żeby współrzędne wyświetlały sie w okienku dosowym ??

Udostępnij ten post


Link to post
Share on other sites

Logon, Dzięki, ale to dalej się nie chcę skompilować i uruchomić w roborealm.

sobal44, Mam jeszcze jakieś półtora tygodnia na zrobienie strzelnicy laserowej, no i musze odpowiednio przerobione dane ze współrzędnych wyświetlić na kompie jako punkty, no ale jak niemogę nawet samych współrzędnych wyświetlić to na razie stoję.

Udostępnij ten post


Link to post
Share on other sites

Zmień może kompilator? Ja używam ogólnie Dev-C++ i jak widać C też skompilował :]

No dobra a dlaczego nie chce się skompilować? Masz tam listę możliwych błędów w kodzie?

Udostępnij ten post


Link to post
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...