Fork me on GitHub
con Valerio Galano

Il podcast dove si ragiona da informatici

Un informatico risolve problemi, a volte anche usando il computer

Riflessioni e idee dal mondo del software

Episodio del podcast

Come ragiona un'ascensore? (con Rinaldo Papa di Ascensori e dintorni)

8 aprile 2021 Podcast Episodio 56 Stagione 1
Come ragiona un'ascensore? (con Rinaldo Papa di Ascensori e dintorni)

Descrizione

Con un ospite d’eccezione, Rinaldo Papa, oggi parliamo degli algoritmi che governano il movimento e la sicurezza di un’ascensore.

I link dell’episodio di oggi:
Ascensori e dintori - https://www.spreaker.com/show/ascensori-e-dintorni
The Hidden Science of Elevators - https://www.popularmechanics.com/technology/infrastructure/a20986/the-hidden-science-of-elevators/

——————————————
Sito ufficiale di Pensieri in codice - https://pensieriincodice.it

Attrezzatura:
Shure Microfono Podcast USB MV7* - https://amzn.to/3862ZRf

Sostieni il progetto

Sostieni tramite Satispay
Sostieni tramite Revolut
Sostieni tramite PayPal
Sostieni utilizzando i link affiliati di Pensieri in codice: Amazon, Todoist, Readwise Reader, Satispay

Partner

GrUSP (Codice sconto per tutti gli eventi: community_PIC)
Schrödinger Hat

Crediti

Montaggio - Daniele Galano - https://www.instagram.com/daniele_galano/
Voce intro - Costanza Martina Vitale
Musica - Kubbi - Up In My Jam
Musica - Light-foot - Moldy Lotion
Cover e trascrizione - Francesco Zubani

Mostra testo dell'episodio

Nascondi

Quella che segue è una trascrizione automatica dell'episodio.

Pensieri in codice. Idee dal mondo del software, a cura di Valerio Galano. Salve a tutti e bentornati su Pensieri in codice. Essendo questo un podcast a tema informatica ci capita ovviamente molto spesso di parlare di algoritmi. A volte descriviamo come sono implementati, altre volte come si è arrivati ad una certa implementazione e altre volte ancora quali impatti essi hanno sulla nostra vita quotidiana. E in generale quando ci riferiamo ad un algoritmo lo facciamo pensando ad un computer, ad uno smartphone, ad un’intelligenza artificiale. Nel fare questo però spesso dimentichiamo una parte importante della storia e c’è che, se è pur vero che esistono tutta una serie di algoritmi che influenzano la nostra vita digitale, le nostre ricerche, i nostri acquisti eccetera, quando poi siamo lì fuori nel mondo digitale siamo comunque esposti ad una enorme quantità di algoritmi. A volte questi sono insiti all’interno di strumenti che utilizziamo o in procedure alle quali prendiamo parte, ma in ogni caso hanno un effetto enorme sulla nostra vita quotidiana. Un esempio molto comune è quello delle assicurazioni. Quando infatti ci richiamo in agenzia per stipulare una polizza o in banca per chiedere un prestito, di fatto è un algoritmo a decidere se possiamo avere quel tipo di servizio e quanto lo dobbiamo pagare. Dunque l’episodio di oggi parla di algoritmi che governano il funzionamento di un mezzo di trasporto. In particolare un mezzo di trasporto che bene o male tutti abbiamo utilizzato almeno qualche volta e cioè l’ascensore. Vi siete mai chiesti come ragiona un ascensore? Cosa accade dopo che avete premuto il pulsante di chiamata o perché la cabina non si muove quando le porte sono aperte? Beh, io sì! E quindi in questo episodio vedremo quali sono gli algoritmi che guidano il movimento e la sicurezza degli ascensori. Cominciamo subito col dire che il compito di un ascensore è quello di trasportare le persone da un piano all’altro e questo è ovvio. Quello che però è un po’ meno ovvio è che un impianto può svolgere questo suo compito con un maggiore o minore grado di ottimizzazione. Ci sono infatti tre valori da tenere il più possibile sotto controllo e sono il costo di installazione e manutenzione, i consumi e l’indice di sofferenza dei passeggeri. I primi due valori dovrebbero essere abbastanza intuitivi. Banalmente è lecito pensare che più un impianto sia complicato dal punto di vista sia meccanico che logico, maggiori saranno i costi per l’installazione iniziale e per la successiva manutenzione. E allo stesso modo appare banale il fatto che questo impianto consumerà un qualche tipo di energia la quale avrà un costo e che quindi minore sarà il dispendio di energia per movimenti non necessari, minore sarà anche il costo per il funzionamento. Diverso invece è il ragionamento quando si parla di indice di sofferenza dei passeggeri. Non ne parleremo in modo approfondito perché probabilmente richiederebbe un podcast a sé, ma vi basti sapere che è un concetto abbastanza controintuitivo. Pare infatti che un utente di un ascensore sia molto più disposto a attendere all’interno della cabina piuttosto che al piano. Giusto per fare un esempio sembra che gli utenti siano più felici di trascorrere 10 secondi al piano e 50 all’interno della cabina piuttosto che 30 al piano e 30 nella cabina anche se la somma di questi tempi è uguale. Ora dunque che sappiamo quali sono gli obiettivi della nostra ottimizzazione proviamo a descrivere i principali algoritmi del mondo degli ascensori e cominciamo subito col dire che gli ascensori non sono sempre stati guidati da algoritmi. Fino al 1950 infatti la cabina era pilotata da un operatore, cioè proprio una persona che muoveva una leva a seconda della direzione in cui doveva muoversi e che aveva anche la responsabilità di fermarsi precisamente al piano, nonché a volte anche di aprire e chiudere le porte. Successivamente a questo periodo iniziarono a diffondersi gli switch elettrici i quali permettevano di automatizzare alcune funzioni e che quindi portarono all’eliminazione dell’operatore. La cabina iniziò quindi a muoversi autonomamente ma con una logica molto basica. Essa infatti vuota o piena che fosse si spostava continuamente da un piano all’altro procedendo fino a fine corsa e poi tornando indietro. Se al piano erano presenti dei passeggeri questi salivano nel momento in cui la cabina si presentava appunto al loro piano e poi attendevano tutte le fermate fino al piano al quale dovevano scendere. In pratica l’ascensore si comportava un po’ come un autobus che va da una fermata all’altra fino a fine corsa e poi torna indietro. E come potete immaginare questo algoritmo era piuttosto inefficiente sotto il punto di vista dei consumi. Pertanto non ebbe vita molto lunga e dopo pochi anni fu rimpiazzato dal sistema di manovra. Ora il sistema di manovra è quello che conosciamo un po’ tutti. C’è una pulsantiera ad ogni piano ed una pulsantiera all’interno della cabina. In questo modo gli utenti che devono salire possono chiamare l’ascensore al proprio piano mentre quelli che sono già a bordo possono specificare il piano di destinazione. E quindi il discorso sembrerebbe terminare qui ma in realtà è proprio qui che c’è la parte più interessante. Dietro quelle pulsantiere infatti si possono nascondere vari algoritmi che guidano il movimento della cabina e in particolare in Italia i più diffusi sono tre e sono anche quelli di cui parleremo più approfonditamente in questo podcast. Il primo prende il nome di manovra universale ed è anche il più semplice dei tre. Con questo tipo di manovra infatti l’ascensore si trova in soli due stati possibili libero e occupato. Se l’ascensore è libero allora risponde immediatamente alle chiamate e si dirige al piano del chiamante. Se invece l’ascensore è occupato allora risponde solo ai comandi della pulsantiera interna e si dirige al piano indicato dal passeggero. Chiaramente si tratta di un algoritmo di manovra piuttosto semplice e non ottimizza né il tempo di attesa dei passeggeri né il risparmio energetico. Con esso infatti si rischia che la cabina viaggi spesso con poco carico e contemporaneamente lasci gli utenti ad attendere al proprio piano mentre i passeggeri raggiungono la loro destinazione. E questo anche se magari tutti i passeggeri devono raggiungere lo stesso piano come ad esempio è il caso del piano terra. Tuttavia questo tipo di impianti risulta essere piuttosto economico e quindi ottimizza il terzo dei nostri parametri, quello che riguarda il costo di installazione e di manutenzione. Dunque questo algoritmo di manovra è particolarmente indicato per contesti residenziali non troppo grandi dove l’utilizzo dell’ascensore non è troppo intenso e al tempo stesso non ci sono troppi piani da raggiungere. Un meccanismo di manovra invece sicuramente più evoluto è detto collettivo per scendere. In questo sistema l’ascensore occupato si comporta diversamente a seconda che stia andando verso l’alto o verso il basso. In particolare quando si muove verso il basso se chiamato da uno dei piani che si trovano ancora al di sotto della cabina questa si ferma a caricare passeggeri finché non raggiunge il pieno carico. Poi una volta piena prosegue finché non raggiunge il primo dei piani prenotati dai passeggeri per la discesa. Rispetto all’algoritmo di manovra universale con il quale ancora condivide il comportamento in caso di movimento verso l’alto o di cabina libera, questo algoritmo collettivo per scendere risulta più efficace nel ridurre i tempi di attesa dei passeggeri e del consumo energetico, ma anche dei costi di installazione e di manutenzione maggiori. E dato che dà una maggiore priorità al movimento verso il basso è particolarmente indicata per palazzi che contengono uffici dove il traffico si concentra verso il piano terra ed in determinati orari. Infine la manovra più complessa è detta collettiva selettiva per salita e discesa. In pratica è molto simile alla manovra precedente ma si ferma a caricare passeggeri sia che la cabina stia procedendo verso l’alto che verso il basso. Di questo algoritmo di manovra la cosa più interessante secondo me è che ai vari piani sono presenti delle pulsantiere leggermente diverse. Se per le manovre precedenti infatti avevamo un solo pulsante di chiamata in questo caso ne abbiamo due. Uno che indica la volontà del passeggero di salire e l’altro che indica la volontà di scendere. So che sembra una differenza da poco ma avere questa informazione in più da gestire cambia di gran lunga il funzionamento dell’impianto. Per la cabina sapere che l’utente all’esterno vuole andare in basso o in alto significa sapere se deve fermarsi oppure no. Mentre per l’utente significa verificare che la cabina che si è fermata al suo piano stia andando nella direzione desiderata. Se infatti ad un determinato piano sono presenti due utenti che vogliono andare in direzioni opposte o peggio ancora l’utente non conosce la differenza tra i due pulsanti e li preme entrambi, quando le porte si aprono occorre verificare che la direzione sia quella giusta altrimenti si rischia di salire e doversi fare tutto il percorso fino al piano estremo e poi ritorno. In pratica quindi se volessimo fare un parallelismo con lo sviluppo del software potremmo dire che aumentando la complessità dell’algoritmo di movimento aumenta anche la complessità dell’interfaccia utente. Ad ogni modo come avrete intuito questa è sicuramente la manovra più efficiente per passeggeri e consumi ma ovviamente è anche quella che rende l’impianto molto più costoso. Quante volte hai preso l’ascensore nella tua vita? Premi un tasto, arriva la cabina, le porte si aprono, entri, un altro tasto e arrivi a destinazione. Una routine, un gesto normale fatto senza pensare. E se qualcosa andasse storto? Se la cabina partisse mentre stai entrando? Se le porte si aprissero mentre l’ascensore si muove o se la corsa non si arrestasse fino a farti schiantare oltre l’ultimo piano? Dietro quel gesto così automatico c’è una logica complessa che oltre a portarti a destinazione si prende cura della tua sicurezza. Ma per ora non preoccuparti e goditi il tuo viaggio in ascensore. La logica della sicurezza di un ascensore può essere gestita in maniera molto semplice attraverso quella che in gergo si chiama la catena delle sicurezze. Che altro non è che un buon numero di contatti collegati elettricamente in serie tra loro in modo che l’apertura di uno solo di essi causi l’interruzione di tutto il circuito e l’arresto dell’impianto andando ad agire direttamente sul circuito di alimentazione del motore e del freno. Esempi di contatti che formano la catena delle sicurezze sono i contatti posti sulle porte di piano che risultano chiusi solo se le porte sono a loro volta chiuse o i contatti di extracorsa che bloccano l’impianto in caso di superamento dei piani estremi. Questi contatti sono detti di sicurezza perché per la loro conformazione quando devono aprirsi lo fanno anche nel caso malaugurato in cui si fossero saldati tra loro. Per esempio tornando alle porte di piano di solito esse sono dotate di contatti detti a ponte asportabile costituiti di due parti una fissata al telaio della porta e l’altra all’anta in modo che l’azione di apertura della porta comporti l’allontanamento di una delle due parti detta ponte e l’apertura del circuito. La catena delle sicurezze proprio per la sua importanza fondamentale è un canale che si tende a tenere il più possibile separato dalle altre parti del circuito di comando che presiedono al controllo delle funzioni di un ascensore. La scheda madre può leggere le informazioni che provengono dalla catena delle sicurezze di solito da alcuni punti ritenuti di particolare importanza e utili per la diagnostica ma ciò deve essere fatto a particolari condizioni come ad esempio l’impiego di foto accoppiatori e in una zona della scheda isolata dal resto della circuiteria in modo che un guasto sulla scheda madre non possa mai compromettere l’integrità della catena delle sicurezze. Ci sono però casi in cui un circuito elettronico deve interagire con la catena delle sicurezze ad esempio andando a cortocircuitarne una parte e quello che accade quando si deve riportare al piano una cabina che si abbassa mentre viene caricata con le porte aperte. In questo caso per muovere la cabina con le porte aperte è necessario cortocircuitare il contatto della porta che essendo aperto non consentirebbe il movimento della cabina. E’ ovvio che questa operazione è piuttosto rischiosa muovere la cabina mentre le persone stanno entrando o uscendo espone a pericoli che sono facilmente immaginabili quindi circuiti di questo tipo devono avere caratteristiche speciali come essere ridondanti rispondere a specifiche caratteristiche per quanto riguarda i materiali impiegati per la loro costruzione e sottostare ad una severa analisi dei guasti in modo tale che un cambiamento di stato di qualsiasi componente non comprometta la sicurezza dell’impianto. Inoltre il software che definisce la logica di funzionamento di questi particolari circuiti elettronici detti di sicurezza deve risultare inaccessibile dall’esterno a chi non sia autorizzato dunque deve essere protetto da un codice di accesso oppure risiedere su EPROM. A questo punto forse quell’azione così semplice che hai fatto tante volte di entrare in ascensore e premere un pulsante ti apparirà sotto una luce diversa. Forse starai pensando a quali pericoli tu possa andare incontro entrando in un ascensore beh puoi stare tranquillo l’ascensore oggi è uno dei mezzi di trasporto più sicuri al mondo difficilmente un passeggero potrà subire qualsiasi tipo di inconveniente mentre si trova al suo interno neanche se si rompessero tutte le funiche sostengono la cabina questa potrebbe precipitare e anche oggi siamo giunti al termine dell’episodio prima di chiudere ringrazio rinaldo papa che ci ha prestato la sua voce e le sue competenze se non conoscete il suo podcast ascensori ed intorni andatelo a recuperare e scoprirete quanto può essere interessante il mondo degli ascensori vi lascio il link in descrizione oltre a ciò vi ricordo che sempre in descrizione trovate tutti i miei contatti se volete parlarmi o chiedermi consulenze il link al gruppo telegram se volete interagire con la community e il link al canale telegram per rimanere aggiornati su tutte le novità e con questo direi che non c’è altro se non salutarvi e ricordarvi che un informatico risolve problemi a volte anche usando il computer

Nascondi