Skocz do zawartości

[Teoria] By jeździć szybciej


sam.podolsky

Pomocna odpowiedź

Super, że zechciałeś się podzielić swoimi doświadczeniami, pewnie ciężko zdobytymi. Pomimo, że nie ma tu grafik, wzorów i obliczeń uważam że jest to jeden z najlepszych artykułów w tym konkursie. Szczególnie moją uwagę zwrócił fragment o problemie w sterowaniu silnikami DC, myślałem że u mnie wynika to z jakiejś wady konstrukcyjnej a okazało się że więcej osób ma taki problem.

Link do komentarza
Share on other sites

Pamiętam, że w Gdańsku była też prowadzona krótka dyskusja na temat pokonywanie zakrętów pod kątem prostym, z tego co pamiętam to Twoje robot pokonują je również tylko na PD, tak? Nie macie do tego żadnych podprogramów?

Na jakiej zasadzie ustalacie aktualną pozycję jaką podajecie do PD? Macie na sztywno wypisane możliwe stany czujników i w case'ach ustalacie z tego pozycje, jeśli tak to jak macie rozpisane tutaj kąty proste?

Jak gęsto masz ułożone czujniki? Planujesz używanie większej ilości niż 8?

No to by było na tyle 😅

Mam jeszcze masę pytań (i pewnie nie tylko ja), ale zostawię je na później.

Link do komentarza
Share on other sites

Często pojawiają się głosy, że im szersze opony tym większa przyczepność. Tarcie zależy od siły nacisku i od współczynnika tarcia pomiędzy materiałami a nie od pola powierzchnia styku koła z podłożem.

Rok temu się właśnie nad tym zastanawiałem i znalazłem w książce z fizyki że w przypadku

materiałów elastycznych(np. guma) powierzchnia ma znaczenie. 💡

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Tak prawdę mówiąc spodziewałem się czegoś innego po twoim artykule. Wszystkie zawarte w nim informacje to są tak naprawdę podstawy, do których albo dochodzi się osobiście przy budowie kolejnego lfr'a, albo wyczytuje się je z innych tematów. Dla kogoś kto buduje pierwszego lfr'a tak naprawdę te informacje nie są do końca przydatne, nie sądzę, że pierwsza konstrukcja osiągnie prędkości, przy których wszystko to co napisałeś jest ważne. Nie mniej warto wyrabiać sobie pewne nawyki projektując każdego robota.

Link do komentarza
Share on other sites

Odpowiedzi w artykule to nie jest dobry pomysł. Dla mnie powoduje to nie mały chaos.

Napisałeś, że nie rozumiesz po co stosować przetwornik ADC do wykrywania linii. Wiele osób przyjmuje zasadę - prosta elektronika, bardziej skomplikowany program. Sam pisałeś o optymalnym pisaniu kodów, a na prawdę przy dobrym kodzie czas potrzebny na odczyt z przetwornika potrafi być prawie pomijalny. W ten sposób nie potrzebujemy dokładać nowy elementów, następnie kalibrować. Ba, nie odczytując linii na zasadzie 0/1 możemy dokładniej ustalać położenie linii, a wtedy działanie algorytmu może być płynniejsze. Ponadto przy ADC istnieje możliwość automatycznej kalibracji czujników - a także kalibracja już w czasie trwania przejazdu.

Gołym okiem nie byłem w stanie zaobserwować czy robot szybciej się zatrzyma przy odłączeniu napięcia od silnika czy poprzez zwarcie jego wyprowadzeń.

Tu mnie zdziwiłeś. Ja widziałem wyraźny wpływ zwarcia wyprowadzeń silnika przy zwarciu wyprowadzeń - szczególnie w opisanej na forum konstrukcji sumo. Być może w przypadku tak mały silników jak używane są w lf to nie jest widoczne.

Zdziwiłeś mnie też, że osiągałeś lepsze czasy na kółkach z pololu - one się masakrycznie ślizgają hmm.. chyba, że wykorzystujesz jakoś to zjawisko.

Silnik pracując na maksymalnym napięciu bez trudu pokonuje opór taśmy i kręci się z maksymalną prędkością.

Nie zdziera Ci się taka taśma? Jednak taki silnik ma swoją prędkość.

Szkoda, że nie wkleiłeś zdjęć swojego robota dla podparcia swoich przykładów. Tak artykuł jest co najwyżej przeciętnych. Porusza kwestie o których mnóstwo osób raczej już wie. Zero rewolucji 🙂

Link do komentarza
Share on other sites

Tak artykuł jest co najwyżej przeciętnych. Porusza kwestie o których mnóstwo osób raczej już wie.

A nie zostały dotychczas zebrane w jedną w miarę spójną całość. Poza tym ciekawe ile osób byłoby skłonnych napisać dla ogółu wiedzę zdobytą samemu podczas budowy robotów. Gdzieś pojawiają się jakieś szczątki takiej wiedzy, ale nie zaobserwowałem żeby ktoś wyłożył taką ilość własnego doświadczenia.

W tym artykule także rewolucji nie widać, a jakoś nikt nie zwrócił uwagi że jest przeciętny.

Link do komentarza
Share on other sites

Hej,
miałem tutaj napisać spory wywód na temat tarcia i przyczepności, ale darowałem sobie jak zacząłem czytać to co napisałem... szersze opony zwiększają przyczepność poprzez poprawę kontaktu powierzchni, przy wąskiej oponie, jeżeli trafi się mała nierówność przyczepność się gwałtownie zmienia (z moich doświadczeń i przemyśleń).

Artykuł uważam za ciekawy, z jednej strony ogólny, a z drugiej porusza wiele tematów. Plus za autora, za podzielenie się własnymi spostrzeżeniami i bagażem doświadczeń.

Dla tych co uważają artykuł za przeciętny, zauważcie, że jak dotąd roboty Sławka są lepsze (szybsze) od Waszych. Sam uważam go za głównego i motywującego przeciwnika 🙂. Większość robotów które widziałem nazwałbym przeciętnymi, Sławek mocno mnie zaskoczył swoim mocnym entree w Wiedniu 😃.

Pozdrawiam serdecznie, konstruktor "szuflady".

Będziesz we Wrocławiu?

Link do komentarza
Share on other sites

Postaram się przygotować jakąś niespodziankę 😃 A propo tego co napisałem w artykule. Szuflada jest rozmiarami dość wielka, ciężka, ma dużo czujników i jest jednym z najszybszych lf w Polsce. Nie ma jedynego słusznego przepisu na lf.

Link do komentarza
Share on other sites

Należy także pamiętać by człon różniczkujący wyliczać nie z każdym obiegiem pętli, ale tylko co jakiś czas.

Dobierasz jakoś co ile pętli pobierasz człon różniczkujący, czy ustawiasz jakąś liczbę i dostosowujesz do niej współczynniki?

Dzięki za poprzednie odpowiedzi.

Link do komentarza
Share on other sites

Człon można wyliczać na przerwaniu co precyzyjnie odmierzony przedział czasu. Z mojej praktyki wynika czas od kilku do kilkunastu milisekund w zależności od tego jak szybko jeździ Twój robot. Człon różniczkujący bada różnicę pomiędzy kolejnymi odczytami - jeśli będziesz go wyliczał ze zbyt mały odstępem czasu nie będzie niczego wnosił, gdyż on coś wnosi gdy zmienia się sygnał z czujników - trzeba dać czas robocikowi by ta zmiana nastąpiła.

Link do komentarza
Share on other sites

Witam serdecznie, bardzo podoba mi się artykuł. Fajnie by było jakbyś zaprezentował pozostałe swoje konstrukcje w odpowiednim dziale, chyba że to jakaś tajemnica 🙂

Co do artykułu to:

Sumujemy liczbę punktów z danego odczytu (tak jakbyśmy maskowali te czujniki które się nie świecą) i liczymy średnią. Znając wartość średnią wszystkich punktów wiemy gdzie znajduje się robot. Naprawdę zachęcam do lektury manuala Pololu 3pi – tam jest wszystko opisane.

Od dwóch dni wertuje manuala, ba nawet ściągnąłem bibliotekę i przejrzałem ich podprogramy do odczytu linii i niestety za cholerę nie umiem tego zrozumieć, jeśli byłaby szansa nieco rozwinąć tą myśl to bardzo bym prosił 🙂

Gratuluje sukcesów 🙂

Link do komentarza
Share on other sites

int poz_czujnikow[7] = {0, 20, 40, 60, 80, 100, 120};

unsigned int czytaj_czujniki(){
//bity port PA(x)=1 gdy czujnik widzi biała linię
unsigned int wynik = 0;
wynik |= PA(0) ? _BV(0) : 0;		
//ustawia _BV(0) gdy PA(0)=1, gdy PA(0)=0 to _BV(0)=0
wynik |= PA(1) ? _BV(1) : 0;
wynik |= PA(2) ? _BV(2) : 0;
wynik |= PA(3) ? _BV(3) : 0;
wynik |= PA(4) ? _BV(4) : 0;
wynik |= PA(5) ? _BV(5) : 0;
wynik |= PA(6) ? _BV(6) : 0;
wynik ^= 0x7F;		//odwraca bity nr 0..6
return wynik;
}

int licz_odchylke(int czujniki){	
int wynik;
int ilosc_zapalonych = 0;
int i;	
int suma = 0;	
for(i = 6; i >= 0; i--){
	int bit_czujnika = 1 << i;
	if(czujniki & bit_czujnika){
		suma += poz_czujnikow[i];	
		ilosc_zapalonych++;


	}			
}
wynik = suma / ilosc_zapalonych - poz_czujnikow[3];
return wynik;
}
Link do komentarza
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!

Gość
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...

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.