To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.loc.itOpen lugnet.loc.it in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Local / Italia / 6165
6164  |  6166
Subject: 
Re: RCX upgrade
Newsgroups: 
lugnet.loc.it
Date: 
Mon, 11 Dec 2000 09:42:42 GMT
Viewed: 
832 times
  
"Stefano Gatti" <sgatti@aitek.it> ha scritto:

E soprattutto: come diavolo faccio a sapere quando il roverbot ha fatto
una rotazione di 90 gradi :-) ???

Questa è una bella domanda, che richiede una risposta lunga. La domanda
appartiene alla famiglia "dove sono?" e "dove vado?", e ci sono
interminabili thread su lugnet.robotics che illustrano le varie possibilità
di rilevamento della posizione e della direzione.
Come forse hai già scoperto non è possibile fare affidamento sul timing dei
motori, i risultati sono troppo variabili e risentono dello stato delle
batterie.
Per riepilogarti brevemente, gli unici sistemi affidabili sono:
1) avere un sistema di misurazione della strada percorsa dalle ruote motrici
(odometria).
2) avere un sistema di riferimenti esterni da consultare.

Le soluzioni del gruppo 1 sono decisamente più facili da affrontare di
quelle del gruppo 2. Un approccio classico è quello di avere due sensori di
rotazione applicati alle due ruote motrici di un robot a guida
differenziale. Questo, con un po' di trigonometria, permette di ottenere
tutti gli elementi per una perfetta navigazione su brevi distanze. Su quelle
lunghe invece risente del problema fondamentale dell'odometria: l'accumulo
degli errori di misurazioni.
Nel tuo caso, dato che ti interessa misurare solo l'angolo di rotazione del
robot, un solo sensore di rotazione può bastare. Puoi collegarlo ad una
delle due ruote e girare tenendo ferma l'altra, oppure (più elegante)
utilizzare un differenziale come sottrattore del moto dei due assi
principali: quando il robot va dritto il differenziale sottrae le due
componenti e quindi resta fermo, mentre invece quando ruota le direzioni
hanno segno opposto e quindi vengono sommate, e la rotazione del corpo del
differenziale ti indica l'angolo percorso.
Se non hai sensori di rotazione, puoi usare un sensore touch come contatore
di impulsi. Cioè ti costruisci un sistemino meccanico che ti chiude
l'interruttore n volte per ogni giro dell'asse di cui vuoi misurare la
rotazione.
Un'altra cosa importante: NON usare i cingoli. Non è possibile costruire un
sistema odometrico affidabile basato su cingoli. Anzi, devi evitare il più
possibile lo slittamento delle ruote principali.

Le soluzioni del gruppo 2 sono tutte impegnative da realizzare e gestire:
griglie e  gradienti sul terreno, raggi laser, radiofari ecc. Comunque sono
*troppo* per il tuo problema attuale, sarebbe come sparare alle zanzare con
un bazooka :-)

Infine esiste un approccio meccanico al tuo problema: invece di costruire
una piattaforma a guida differenziale potresti costruire un sinchro-drive
con soli 90° di rotazione degli assi. In questo caso le tue rotazioni
sarebbero perfette, e non hai bisogno di alcun sensore. Naturalmente in
questo caso il robot non cambia orientamento ma solo direzione del moto.

HTH

Ciao
Mario



Message has 1 Reply:
  Re: RCX upgrade
 
(...) [...] Grazie della "rispostona". Pensavo di realizzare il misuratore a differenziale, con un touch sensor che conta i giri, non avendo (ancora) rotation sensor. Per quanto riguarda i cingoli: (...) me ne sono accorto. Comuque, stavo cercando (...) (24 years ago, 11-Dec-00, to lugnet.loc.it)

Message is in Reply To:
  Re: RCX upgrade
 
(...) [...] (...) La prima parte l'ho vissuta qualche giorno fa... Che novita` ci sono nel firmware 2.0 a parte il controllo batterie? E soprattutto: come diavolo faccio a sapere quando il roverbot ha fatto una rotazione di 90 gradi :-) ??? Saluti (...) (24 years ago, 11-Dec-00, to lugnet.loc.it)

19 Messages in This Thread:






Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR