Nastro trasportatore con sensori...

di il
38 risposte

Nastro trasportatore con sensori...

Ciao a tutti sono nuovo di questo forum e forse ancora più nuovo nell'ambiente della programmazione. ho il seguente esercizio da svolgere e vorrei un aiuto da qualcuno disponibile tra voi. l' esercizio è questo: devo simulare un nastro trasportatore con 4 coppie di sensori ai lati (da un parte trasmettitori e dall' altra ricevitori). su questo nastro che viaggia ad una certa velocità v passa una valigia che mana mano che passa oscura i sensori. come faccio a fare tutto ciò???mi chiedo addirittura se sia possibile.grazie anche solo per provarci. grazie sono ben accetti anche consigli.

38 Risposte

  • Re: Nastro trasportatore con sensori...

    Allora, quali dati hai? devi simulare un modello di sensore particolare?
    Devi usare simulink o matlab da codice?
    Qual'è lo scopo finale dell'esercizio (es. contare le valigie)? Perché 4 sensori?
  • Re: Nastro trasportatore con sensori...

    Devo usare matlab
    i sensori sono sensori radar uwb ma quello è secondario per chè quello che mi interessa ai fini dell'esercizio è di far passare la valigia tra questi radar e a seconda che ci sia o meno cambiare il modello di canale: se c'è la valigia il segnale arriva più attenuato altrimenti arriva più forte.
    i sensori sono 4 ma potevano essere benissimo di pi o di meno....l'ha messo il prof...
    ho i seguenti dati: distanza tra i sensori trasmittenti e riceventi =2 metri
    distanza tra un sensore trasmittente e l'altro = 20 cm
    valigia lunga 70 cm e larga 40cm
    velocità nastro trasportatore 1 metro al secondo
    tempo di misura dei sensori 10millisecondi così faccio tante misurazioni tra un sensore e l'altro e diminuisco la probabilità di falsi allarmi che è impostata in base a una soglia: cioè se la potenza ricevuta nel caso in cui sul nastro non c'è la valigia è P allora metto come soglia che se la potenza ricevuta è la metà o di meno vuol dire che c'è la valigia.
    è più chiaro ora? per ulteriori chiarimenti non fatevi scrupoli.....grazie
  • Re: Nastro trasportatore con sensori...

    Ok. Allora, vado avanti con le domande:
    1. sei sicuro di non dover usare simulink (il problema si imposta in modo diverso, quindi è bene esserne sicuri prima di cominciare)
    2. Immagino che tu abbia fatto altri esercizi simili su carta. Come lo svolgeresti? Ad esempio, a cosa serve sapere la distanza tra i sensori? e la larghezza delle valigie?
    3. Hai già un segnale di ingresso che rappresenta l'arrivo delle valigie o devi "inventare" tu quante valigie arrivano, con che frequenza, ecc?
  • Re: Nastro trasportatore con sensori...

    Bravo, domande intelligenti....quando scrivo mi sembra sempre di essere esaustivo ma invece mi fai capire che non lo sono mai perchè le tue domande sono sempre azzeccate!!!(pecco di presunzione.....)
    1) che non devo usare simulink è certo. devo usare solo matlab.
    2)no sinceramente non ne ho mai fatti in matlab...comunque come lo svolgerei te lo dico:
    prima imposto tutte le distanze (e l' ho già fatto ), quindi dovrei fare qualcosa che mi sputi la valigia ad un certo istante (io pensavo di creare qualcosa con random che mi dà o 0 o 1 e quando ho 1 vuol dire che c'è la valigia)....ok ora veniamo alla distanza tra i sensori....questa serve perchè un segnale si attenua nello spazio perciò quello che percorre attenua il segnale inoltre lo spessore della valigia aggiunge un ulteriore attenuazione(ci sono delle leggi apposta.....poi se ti occorrono te le dico....) per quei 40 cm dato che è di un altro materiale....la lunghezza della valigia mi serve perchè man mano che la valigia va avanti copre sempre più sensori fino a coprirli tutti e poi man mano che avanza i sensori tornano a "vedersi " senza ostacoli in mezzo....
    3) di segnali in ingresso non ne ho perchè il prof intanto mi ha detto di non considerarli ma di considerare solo le diverse attenuazioni....per le valigie io mi accontenterei di farne passare una poi se ci sarà tempo e modo ne farò passare di più....
  • Re: Nastro trasportatore con sensori...

    P.s.:vale sempre la storia delle domande....più ne hai più fammene che io sono disponibile e paziente di natura e questoa capacità aumenta con la voglia di capirci qualcosa di più
  • Re: Nastro trasportatore con sensori...

    Credo sia pratica comune dare per scontato che chi risponde sul forum conosca l'argomento proposto. E capisci bene che matlab viene usato in una miriade di campi diversi, dall'elaborazione dei segnali, ai sensori, alle immagini, all'elettronica, all'ingegneria civile, ecc.
    Io conosco abbastanza bene matlab ma di tutti i campi possibili ne conosco sì e no uno o due.
    Ma ho anche imparato che anche se non si conosce l'argomento, se i dati sono semplici numeri e non elettroni/travi/campi elettromagnetici, e le relazioni sono semplici (o meno) formule e non relazione di tizio o equazione di caio, si può risolvere qualunque problema.
    Quindi, tornando ai tuoi... dati.
    Intendevo dire che probabilmente lo sai risolvere su carta, e quindi mettere in gioco tutte le variabili attraverso... delle formule.
    Mi immagino più che un vettore con tutti zeri e un uno che rappresenta una valigia, un segnale a gradini, dove ciascun gradino sarà lungo 70, che risulterà attenuato (smussato?) secondo qualche legge, nel momento in cui viene rilevato dai sensori.
    La domanda ora è: cosa ti aspetti che venga fuori in uscita? o meglio, qual'è l'uscita del tuo sistema?
  • Re: Nastro trasportatore con sensori...

    Mi è un po poco chiara la tua idea ma aspetto gli sviluppi per capire meglio...l'uscita che mi aspetto di avere è la potenza ricevuta, cioè in base alla potenza capire se la valigia c'è o no...in pratica se c'è la valigia di mezzo la potenza ricevuta dai sensori con visuale ostruita è minore mentre se non c'è la valigia di mezzo l'attenuazione è minore e la potenza ricevuta è maggiore.....
  • Re: Nastro trasportatore con sensori...

    Ok, credo che mano mano che scriverai il codice capirai sempre meglio il modo migliore per implementare il problema.
    Comincia a pensare a cosa deve succedere nel momento in cui l'1del vettore d'ingresso, passa davanti al primo sensore...
  • Re: Nastro trasportatore con sensori...

    Ci ho pensato su un po e ho partorito questo:
    come mi hai suggerito la valigia è il mio vettore di zeri(faccio 7 zeri, uno ogni 10cm, la valigia è lunga 60cm) a questo punto faccio una costante che incrementa di 10 millisecondi ovviamente non secondi veri perchè non sono capace....diciamo che faccio un ciclo for che aumenta di 10 che sono i miei millisecondi e che a 200 la valigia si affaccia al primo sensore perciò dopo 200(a 210)il primo zero della valigia va a 1 dopo 300 anche il secondo e così via. al tempo zero i sensori sono spenti, a dieci l'attenuazione è solo H(chiamiamola così), a 201 l'attenuazione del sensore 1 è H+T(lettere a caso) mentre gli altri sono ancora solo H e così via....ora provo a buttar giù quello che ho scritto e vedo che codice mi esce....sono sulla buona strada???grazie....poi posso farti vedere i miei progressi???di sicuro mi impantano da qualche parte....
  • Re: Nastro trasportatore con sensori...

    Non farei un vettore di zeri, forse la spiegazione non era chiara.
    Fai un vettore che quando è 0 vuol dire che non c'è la valigia, quando è uno c'è la valigia. Ma invece che mettere un unico 1, ne metti 7 (o 70, tanto non cambia niente).
    Così: 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0
    In questo caso ci sono due valigie. Se poi riesci a rapportare il vettore alla velocità del rullo, secondo me è molto meglio.
    Mi sembra che il rullo viaggiasse a 1m/s, quindi in questo caso, ogni elemento di un vettore rappresenta 1 secondo, cioè 10cm. In questo caso mano mano che analizzi il vettore in ingresso è come se stessi analizzando un secondo alla volta. Non so se è chiaro il ragionamento.
  • Re: Nastro trasportatore con sensori...

    Ahh ho capito la tua idea....ma intanto vorrei fare una valigia solo e provare....ora ho scritto un pezzo di programma e lo copio qua....il vettore val mi sono accorto che è inutile.....guarda un pò.....io mi reputo abbastanza soddisfatto del risultato di un giorno di matlab e soprattutto di tuoi pazienti consigli senza i quali ero spacciato...a=1;
    i=1;

    while i==1;
    i=round(rand(size(a))); %crea la valigia
    if i==1;
    val=[0 0 0 0 0 0 0]; %valigia
    for t=0:10:1500; %progressione del tempo in millisecondi
    if t<=200;
    val=[0 0 0 0 0 0 0];
    Pr1=los();
    Pr2=los();
    Pr3=los();
    Pr4=los();
    end
    if t<=300 & t>=200;
    val=[0 0 0 0 0 0 1];
    Pr1=nlos();
    Pr2=los();
    Pr3=los();
    Pr4=los();
    end

    end

    end
    end



    cosa ne dici??? specifico che los e nlos l' ho pensato come due sottoprogrammi in uno sviluppo un attenuazione e nell' altro l'altra....potrebbe andare????non sono per niente sicuro di ciò che ho fatto anche perchè sto pensando che tutte le pr dovrebbero essere vettori in modo che posso memorizzare tutti i risultati...no????
  • Re: Nastro trasportatore con sensori...

    Ecco il primo pezzo io lo farei così.....ora, se questo è non dico giusto ma almeno aggiustabile, mi resta il problema di implementare le due funzioni di attenuazione....
    a=1;
    i=1;
    Pr1=[];
    Pr2=[];
    Pr3=[];
    Pr4=[];
    while i==1;
    i=round(rand(size(a))); %crea la valigia
    if i==1;
    val=[0 0 0 0 0 0 0]; %valigia
    for t=0:10:1500; %progressione del tempo in millisecondi

    k=t
    if t<=200;
    val=[0 0 0 0 0 0 0];
    Pr1(k)=los();
    Pr2(k)=los();
    Pr3(k)=los();
    Pr4(k)=los();
    end
    if t>200 & t<=300;
    val=[0 0 0 0 0 0 1];
    Pr1(k)=nlos();
    Pr2(k)=los();
    Pr3(k)=los();
    Pr4(k)=los();
    end
    if t>300 & t<=400;
    val=[0 0 0 0 0 1 1];
    Pr1(k)=nlos();
    Pr2(k)=los();
    Pr3(k)=los();
    Pr4(k)=los();
    end
    if t>400 & t<=500;
    val=[0 0 0 0 1 1 1];
    Pr1(k)=nlos();
    Pr2(k)=nlos();
    Pr3(k)=los();
    Pr4(k)=los();
    end
    if t>500 & t<=600;
    val=[0 0 0 1 1 1 1];
    Pr1(k)=nlos();
    Pr2(k)=nlos();
    Pr3(k)=los();
    Pr4(k)=los();
    end
    if t>600 & t<=700;
    val=[0 0 1 1 1 1 1];
    Pr1(k)=nlos();
    Pr2(k)=nlos();
    Pr3(k)=nlos();
    Pr4(k)=los();
    end
    if t>700 & t<=800;
    val=[0 1 1 1 1 1 1];
    Pr1(k)=nlos();
    Pr2(k)=nlos();
    Pr3(k)=nlos();
    Pr4(k)=los();
    end
    if t>800 & t<=900;
    val=[1 1 1 1 1 1 0];
    Pr1(k)=los();
    Pr2(k)=nlos();
    Pr3(k)=nlos();
    Pr4(k)=nlos();
    end
    if t>900 & t<=1000;
    val=[1 1 1 1 1 0 0];
    Pr1(k)=los();
    Pr2(k)=nlos();
    Pr3(k)=nlos();
    Pr4(k)=nlos();
    end
    if t>1000 & t<=1100;
    val=[1 1 1 1 0 0 0];
    Pr1(k)=los();
    Pr2(k)=los();
    Pr3(k)=nlos();
    Pr4(k)=nlos();
    end
    if t>1100 & t<=1200;
    val=[1 1 1 0 0 0 0];
    Pr1(k)=los();
    Pr2(k)=los();
    Pr3(k)=nlos();
    Pr4(k)=nlos();
    end
    if t>1200 & t<=1300;
    val=[1 1 0 0 0 0 0];
    Pr1(k)=los();
    Pr2(k)=los();
    Pr3(k)=los();
    Pr4(k)=nlos();
    end
    if t>1300 & t<=1400;
    val=[1 0 0 0 0 0 0 ];
    Pr1(k)=los();
    Pr2(k)=los();
    Pr3(k)=los();
    Pr4(k)=nlos();
    end
    if t>1400 & t<=1500;
    val=[0 0 0 0 0 0 0];
    Pr1(k)=los();
    Pr2(k)=los();
    Pr3(k)=los();
    Pr4(k)=los();
    end
    end

    end
    end
    ......da 1 a 10 lo spunto un 3,5???il tuo aiuto mi è finora stato fondamentale....sto pensando di metterti nei ringraziamenti particolari con il tuo nick nella relazione finale....
    p.s.:per favore continua a domandare giudicare e consigliare altrimenti non so dove sbattere la testa.....grazie mille in anticipo...
  • Re: Nastro trasportatore con sensori...



    Allora...
    Partiamo dalle piccolezze.
    1. Non c'è bisogno di definire k=t, potresti usare direttamente t. Se t fosse un vettore da 1:1:n, perchè nell'assegnazione ai vettori Pr, in questo modo assegneresti un elemento ogni 10.
    2. Matlab comincia a contare da 1 e non da 0 quindi Pk1(0) non esiste e matlab si blocca.
    3. In questi casi si usa una variabile di supporto, es.
    k=1;
    for i = 1:10:100
    Pr(k)=...
    k=k+1;
    end
    4. Immagino che i Pr siano i 4 sensori...
    5. Probabilmente si può migliorare, ma ti consiglio di implementare prima le funzioni los e nlos, perché probabilmente partendo da quelle ti farai un'idea più chiara anche del resto.
  • Re: Nastro trasportatore con sensori...

    Va bene cercherò di farlo entro stasera...i Pr sono le potenze ricevute dai sensori(e perciò i sensori...)....grazie per il k che in effetti era sbagliato e non me ne ero proprio accorto...
Devi accedere o registrarti per scrivere nel forum
38 risposte