Visualizzazione post con etichetta progetti. Mostra tutti i post
Visualizzazione post con etichetta progetti. Mostra tutti i post

lunedì 10 marzo 2008

vincitori sfida "camera-bot"

http://mindstorms.lego.com/news/#65649

sabato 16 febbraio 2008

localizzazione fine col sonar (US) /sliding scale sonar

L'idea e' quella del localizzatore normale che traccia la mappa del territorio circostante come in

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


usando come base lo spin-art, di Dave Parker,
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

numerosi progetti con incluso il programma e proposte di miglioramento dello stesso.
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

eserciziario

sistemi MIMO in scilab: http://www.wolffdata.se/scilab/mimo1.html

varia didattica

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
(risposta al gradino) e il modello del sensore di luce (con interessante digressione sul comportamento su pavimenti di colore diverso...).

Il modello meccanico e' a pagina 24.

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:

scienzaludica.it


Infine una bella carrellata di robot affini:
http://leiwww.epfl.ch/joe/joerelatives.html

interessante 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:

http://www.zehl.com/?nxtway




martedì 8 gennaio 2008

sabato 5 gennaio 2008

nxtway a doppio sensore di luce

http://www.epokh.org/drupy/?q=node/36

venerdì 4 gennaio 2008

plotter a spillo

http://www.alfonsomartone.itb.it/ebylwl.html#ita

lettore codice a barre

http://www.multimatica.it/mindstorms/barcodereader.htm

giovedì 3 gennaio 2008

raccolta links Samuele e Valter

http://digilander.libero.it/Valter_NXT/linknxt.html

interessante ohmetro

http://digilander.libero.it/Valter_NXT/ohmmetronxt.html

venerdì 21 dicembre 2007

grande sito

tesi di daniele benedettelli

http://daniele.benedettelli.com/NXTrobots.htm

interfaccia grafica uomo macchina via USB

http://daniele.benedettelli.com/NXTusbCP2.htm

con sorgenti open