lunedì 10 marzo 2008
lunedì 3 marzo 2008
sabato 16 febbraio 2008
localizzazione fine col sonar (US) /sliding scale sonar
meow
oppure
davis
oppure
guy
oppure
xaos69
ma perfezionata da un motore che va avanti-indietro radialmente in modo da determinare la posizione in cui US cambia cifra.
Lasciamo perdere il fatto che quando US dice 27cm (a proposito occorre ricordare di mettere
DefaultUnits=Metric , per avere cm invece di pollici nel file
C:\Program Files\LEGO Software\LEGO MINDSTORMS NXT\MINDSTORMS Options.ini) in realta' possono essere 30cm oppure 24cm. Non e' accurato, si sa.
Parliamo invece di precisione.
Supponiamo che US dica 27cm di distanza. In realta' potrebbe essere 27.1cm oppure 27.9cm.
Montando US su un meccanismo a vite senza fine, si puo' stabilire quanti mm all'interno del cm.
Un motore sposta radialmente (ma si monitorano le rotazioni) US di poco verso l'oggetto finche' la cifra passa a 26cm.
Il motore potrebbe essere spingere un coso cosi':
Il blu viene fatto girare, la vite senza fine ruota il filetto nella scanalatura gialla, la quale spinge il pezzo a "L", dove e' montato il sensore US.
Un giro di motore corrisponde ad una distanza pari a quella del passo del filetto.
In questo modo sappremo quanti mm era oltre i 27cm.
en passant: link meccanica
martedì 29 gennaio 2008
cinema

primo tentantivo di fenachistoscopio:
motore B usato come joystick per la velocita' del motore A (supporto figura);
motore C usato come joystick per la frequenza di lampeggio del sensore di luce (usato solo come generatore).
Con pazienza si cerca la giusta combinazione;
secondo tentativo: luce sempre accesa e secondo cartoncino con buchi come da fotografia in modo da assicurare il sincronismo per costruzione.altra immagine da stampare.
domenica 13 gennaio 2008
istruzioni di montaggio
i miglioramenti sono lasciati al costruttore...
qui le foto
sabato 12 gennaio 2008
lego NXT segway

(immagine png, scaricabile e zoomabile)
questo e' il programma NXT-G che realizza il PID (numeri interi) per il NXT-way standard, che in nbc viene implementato cosi':
http://www.philohome.com/nxtway/nxtway.nbc
(da http://www.philohome.com/nxtway/nxtway.htm)
il programma touchway5.rbt in figura e' stato realizzato da
http://www.freewebs.com/thesystemprogrammer/
per approfondimenti, vedere tesi di Serra
http://www.epokh.org/tesi/TesiMathSerra.pdf
E
http://nikemagic.altervista.org/download/Servo/progetto_pendolo_pid.pdf
http://www.plcforum.info/didattica/conreg/conreg.htm
E, ma in inglese,
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en021807



da http://www.pages.drexel.edu/~ttl28/thesis.html#labview :
Modeling/Simulation
One major challange is how to properly model this system i.e. a specific transfer function. To identify the system, I first began but re-designing the model in SolidWorks to find the robot's Center-of-Mass and Moment-of-Inertia to use in plant designs of mobile inverted pendulums.
qui simulazioni con matlab
invece, per i poveracci, le simulazioni si possono fare con scilab, seguendo l'esempio:
utile guida per scicos/scilab : Bucher
sistemi MIMO in scilab: http://www.wolffdata.se/scilab/mimo1.html
di interesse:
http://madrobotics.blogspot.com/
Nel caso si abbiano 2 sensori di luce a disposizione (in realta' nel testo si dice che funziona anche con uno, quello dietro, "hinter"):
http://www.uni-kassel.de/fb16/rat/diplom/Diplom1Mayer.pdf
tale tesi ad opera di Sybille Mayer, in tedesco, e' veramente interessante.
Viene presentato il modello di pendolo inverso IMPERNIATO SU RUOTE (cosa non affrontata in altri lavori); dopo linearizzazione viene identificato il modello del motore
Il modello meccanico e' a pagina 24.
(risposta al gradino) e il modello del sensore di luce (con interessante digressione sul comportamento su pavimenti di colore diverso...).A questo punto SM progetta il regolatore sfruttando sia il sensore di luce (anche 1 solo) e il sensore di rotazione nel motore. L'idea e' un PD sulla luce,cioe' l'angolo alfa, e un PID sulla rotazione cioe' l'angolo gamma. Per intenderci alfa+gamma e' la rotazione della ruota, che moltiplicata per il raggio da' lo spostamento del NXTway dalla posizione iniziale. Il sistema totale e' a pagina 36 (PD+PD), con variante (PD+PID) alla pagina 37.
Le simulazioni sono basate su questo modello del sistema (simulink):
Il programma per NXT-G (sic!) e' scaricabile qui:
http://forums.nxtasy.org/index.php?act=attach&type=post&id=616
NB: nel programma i coefficienti sono leggermente diversi da quelli teorici.
codice scilab per analizzare il sistema di Sybille da lanciare con exec nomefile:
A=[0,1,0,0; 94.05,0,0,1.3;0,0,0,1; -544.05,0,0,-14.3];
B=[0;-0.21;0;2.32];
C=[1,0,0,0;0,0,1,0];
D=[0;0];
nxtway_SYB=syslin('c',A,B,C,D);
s=%s;
nxtway_SYBtf=ss2tf(nxtway_SYB) // passo nel dominio Laplace
cl_nxtway_SYBtf=clean(nxtway_SYBtf) // mette a zero i coefficienti infinitesimi
t=0:0.01:1;
u=ones(1:length(t)); // step input
y=csim(u,t,nxtway_SYB); // risposta al gradino instabile
xset('window',1);
xbasc()
plot2d(t,y(2,:))
plot2d(t,y(1,:), style=5)
// poli del sistema
spec(A)
autovalori_di_A=spec(A)
// dalle specifiche ai poli desiderati
os=9.48 // overshoot desiderato
ts=0.74 // settling time desiderato
os=os/100
xi=-log(os)/sqrt(%pi*%pi+log(os)*log(os)) //smorzamento xi
tetaxi=acos(xi)
wn=(-log(0.02*sqrt(1-xi*xi)))/(ts*xi) // risonanza wn
th=acos(xi)
ps=-xi*wn+%i*wn*sqrt(1-xi*xi); // uno dei 2 poli complessi coniugati del sys 2o ordine per fare os e ts
cl_nxtway_SYBtf(2,1)
trfmod(cl_nxtway_SYBtf(2,1),'p') // calcolo dei poli e degli zeri
poli_desiderati=[-6 -2 ps conj(ps)] // poli sono i desiderati
K=ppol(A,B,poli_desiderati) // calcolo della matrice di feedback K
F=A-B*K // sistema in retroazione
g2=syslin('c',F,B,C,D)
t=0:0.01:3;
u=ones(1:length(t)); // step input
y=csim(u,t,g2); // risposta al gradino controllato
xset('window',1);
xbasc()
plot2d(t,y(2,:))
plot2d(t,y(1,:), style=5)
scicos
Altro progetto, in tedesco, con NXT controllato voa USB (purtroppo Labview8.2) oppure standalone:
http://projekte6.fhnw.ch/technik/eit/Herbst2007/BruWid/
In italiano:
Infine una bella carrellata di robot affini:
http://leiwww.epfl.ch/joe/joerelatives.htmlinteressante pendolo pilotato verticalmente:
http://www.zfm.ethz.ch/~leine/vertically_driven_pendulum.htm
con istruzioni
http://www.zfm.ethz.ch/~leine/LEGO/VerticallyDrivenPendulum/VDPBuildinginstructions.pdf
anche questo:
giovedì 10 gennaio 2008
martedì 8 gennaio 2008
tecnica avanzata Labview
non usare shift registers nel toolkit: sono troppo lenti
http://nxtasy.org/2007/04/12/advanced-nxt-g-block-techniques-part-iv/
sabato 5 gennaio 2008
venerdì 4 gennaio 2008
giovedì 3 gennaio 2008
raccolta links Samuele e Valter
interessante ohmetro
http://digilander.libero.it/Valter_NXT/ohmmetronxt.html
venerdì 21 dicembre 2007
grande sito
http://daniele.benedettelli.com/NXTrobots.htm
interfaccia grafica uomo macchina via USB
http://daniele.benedettelli.com/NXTusbCP2.htm
con sorgenti open


