Il futuro è dietro l'angolo: le 100 innovazioni del 2010 - 11. Sicurezza

Indice articoli

SICUREZZA

91. Hydronalix EMILY

Innovaz._91_emily

EMILY, l’Emergency Integrated Lifesaving Lanyard, è una piccola boa robotica di salvataggio che può essere pilotata da terra. È in grado di affrontare le onde più increspate e raggiungere i naufraghi per dare loro soccorso. Alla velocità di 26mph, raggiunge il naufrago 10 volte prima di quanto lo farebbe il nuotatore più esperto. È dotata di una telecamera ed i soccorritori possono parlare con le vittime grazie ad un apposito dispositivo. Hydronalix è già stato testato come mezzo di salvataggio in almeno 20 spiagge sparse per il mondo. Il prossimo anno è in programma la versione dotata di un sistema di navigazione sonar.

92. Aesir Embla

Innovaz._92_aesir

Decolla ed atterra come un normale elicottero, ma senza causare lo stesso caos o gli stessi vortici di aria attorno. Embla sembra un Ufo, ma in realtà è una piccola navicella che si alza in volo sfidando la forza del vento e di qualsiasi perturbazione atmosferica. Provvista di una videocamera HD, è pilotata da terra per monitorare le zone più impervie o quelle appena toccate da una sciagura. Il suo decollo è effettuabile in posti angusti ed è capace di raggiungere zone dove sarebbe altrimenti impossibile mettervi piede. Usata anche nelle missioni militari per scovare i nascondigli nemici, è stata soprattutto testata per sorvolare le aree disastrate. Il suo motore a combustione le garantisce di volare a 80mph ad un’altitudine di circa 10 mila piedi.

93. Lincoln Laboratory ISIS

Innovaz._93_lincolnlabisis

Nove videocamere in una. Ed è possibile vederla all’opera al Logan International Airport di Boston, dove questo sistema di videosorveglianza ha debuttato nel dicembre dello scorso anno. ISIS (Imaging System for Immersive Surveillance) si presenta come una telecamera provvista di nove ‘occhi’, ognuno dei quali fornisce immagini da 100 megapixels sullo schermo ed un software apposito unisce ogni immagine in un’unica scena, in modo tale da avere una visuale a 360 gradi. Il sistema garantisce così una visione completa da parte degli operatori che possono monitorare l’intera area ed intervenire in caso di infrazioni.

94. Decision Sciences International Multimode Passive Detection System

Innovaz._94_Screen_shot_2010-11-16_at_11.07.44_AM

I ricercatori del Decision Sciences hanno sviluppato quest’anno il primo rivelatore nucleare che analizza e percepisce ogni possibile devianza a livello di sicurezza. Questo software sarà utilizzato non solo negli Stati Uniti, ma anche in altri paesi per migliorare la sicurezza dopo le minacce terroristiche degli ultimi anni. Il sistema è in grado di monitorare mezzi pesanti, come Tir o Van, in pochi secondi, mappando il mezzo in modo più preciso dei comuni scanner a raggi-X. Questo sistema, in pratica, identifica particelle di plutonio e uranio e, dunque, ‘legge’ più in profondità degli scanner orientati prevalentemente alla scansione dei semplici metalli.

95. University of Tokyo Olfactory Sensor

Innovaz._95_robonose

I ricercatori dell’Università di Tokyo hanno costruito un rivelatore chimico sensibile abbastanza ad avvertire gli esalazioni più deboli presenti nell’aria, come l’ammoniaca e l’anidride solforosa. Per far ciò, gli scienziati hanno iniettato nelle uova di rana i geni di alcuni comuni insetti della frutta, tra i quali le mosche e i moscerini, le cui cellule olfattive sono tra le più sensibili agli elementi chimici. Le cellule geneticamente modificate saranno in grado di monitorare le specifiche molecole anche in concentrazioni molto ridotte.

96. Sierra Nevada Corp. Gorgon Stare

Innovaz._96_gorgon

I comuni sensori UVA permettono agli operatori di setacciare piccole porzioni di terra. Gordon Stare, al contrario, permetterà a molti di loro di monitorare lembi di terra la cui estensione si aggira attorno ai due miglia quadrati. Il sistema è provvisto di camere ottiche e ad infrarossi in grado di catturare immagini giorno e notte, per poi convogliarle in una singola scena mosaico.

97. First Alert Pool Alarm

Innovaz._97_pool_alarm

Si sa che le piscine possono essere dei luoghi molto pericolosi, soprattutto quando si hanno dei bambini e non sempre si è con loro per tenerli sotto controllo. First Alert Pool Alarm è il primo sistema di difesa a riguardo. Si tratta di un idrofono che si immerge appena sotto la superficie dell’acqua e funziona grazie al suo sonar detector. Può percepire onde sonore in una piscina di oltre 600 metri quadrati. Il suo algoritmo distingue i movimenti nell’acqua differenziandoli tra quelli di un bambino o di qualsiasi oggetto immerso. Se si tratta di un bambino, l’allarme comincia a suonare a 85 decibel attirando l’attenzione degli adulti.

98. BI2 Technologies MORIS

Innovaz._98_MORIS

Ecco una innovativa applicazione per iPhone che si propone di sfidare il crimine. Si chiama MORIS (Mobile Offender Recognition and Identification System) ed è un software che permette di riconoscere il sospettato tramite la fotocamera del dispositivo. Basta scattare una foto del colpevole ed inviarla ad un database che, in seguito, informerà l’ufficiale se la persona fotografata è un pregiudicato o meno. Questo metodo di autenticazione avviene attraverso l’iride dell’occhio ed un lettore di impronte digitali. La polizia del Massachusetts ha già sperimentato questo sistema di riconoscimento facciale e i risultati sono molto soddisfacenti. Per la polizia, ma non per tutti: quest’applicazione non è in commercio!

99. Robotic Tentacle Manipulator

Innovaz._99_army.mil-81080-2010-07-27-100730

Sicuramente sarà di aiuto nelle zone di guerra, dove il pericolo è sempre in agguato. E lo sanno bene i soldati che, spesso, si trovano a neutralizzare bombe poste nei luoghi più impensati, come dietro porte e finestre, o che si presentano come bombe artigianali. Queste rappresentano la causa del più alto tasso di mortalità tra le truppe. Ecco perché il Research Laboratory dell’esercito degli Stati Uniti ha sviluppato un Robotic Tentacle Manipulator, ossia un robot anti-bomba, costituito da tentacoli robotizzati, coordinati tra loro e montati su di una base cilindrica. Il sistema è dotato di un programma di gestione di immagini tridimensionali allo scopo di analizzare qualsiasi oggetto sospetto, manipolandolo come fosse sul palmo di una mano. Il tutto senza farlo esplodere. Questi tentacoli assolvono anche la funzione di movimento per il robot, capace di addentrarsi in spazi angusti e di setacciare terreni accidentati per raggiungere il proprio obiettivo. Robotic Tentacle Manipulator è controllato a distanza, tramite un computer e collegato via Bluetooth o WiFi.

100. Morpho Detection ShoeScanner

Innovaz._100_morpho

Sempre più sofisticati i sistemi di controllo collocati negli aeroporti. Questo, in particolare, è stato già stato testato all’Indianapolis International Airport e presto sarà approvato dal Transportation Security Administration, l’agenzia governativa statunitense addetta alla sicurezza dei trasporti. Lo ShoeScanner combina tre differenti tipologie di rilevamento dei metalli nascosti nelle scarpe o nei pantaloni. È interamente automatizzato e occorre semplicemente fare alcuni passi sullo scanner e poi soffermarsi sulle impronte disegnate sul tappetino ed attendere pochi secondi. Una luce rossa o verde si accenderà per decretare il responso della presenza o meno di materiali sospetti.

Federica Vitale

!-- // used to save the current hostname var gAvgHostName = ""; var gAvgDataElement = null; var shortened_urls = new Array("tinyurl.com","3.ly","bit.ly","tiny.cc","short.to","is.gd","tr.im"); var border_colors = new Array( "#00A120;", "#EAA500;", "#F57301;", "#D20003;" ); var background_colors = new Array( "#C3E5CA;", "#FEEFAE;", "#FFD3B0;", "#F5D4C1;" ); var images = new Array ( "linkscanner://safe12.png", "linkscanner://caution12.png", "linkscanner://warning12.png", "linkscanner://blocked12.png" ); var showCleanVerdicts = true; var showLowRiskVerdicts = true; var showMedRiskVerdicts = true; function avg_ls_does_url_contain(url, contain) { if ((url == null) || (url.length 1)) { return false; } var strUrl = new String(url); // breakup the url to check var parts = strUrl.split("/"); if (parts.length -1) { return true; } return false; } function avg_ls_valid_gmail_search(url) { if ((url == null) || (url.length 1)) return false; var hostMatch = false; // split the url based on '/' var strUrl = new String(url); var parts =strUrl.split("/"); // need domain and path if ((parts == null) || (parts.length 4)) return false; var domain= parts[2]; var path = parts[3]; if ((domain.indexOf("mail.google.") != -1) || (domain.indexOf("gmail.") != -1)) { // save the hostname to use getting links gvgHostName = "google.com"; return true; } return false; } function avg_ls_get_parent_div(element) { if ((element ==null) || (element.parentNode == null)) return null; while (element != null) { if ((element.tagName == "DIV") && element.className && (element.className.length > 0)) return element; element = element.parentNode; } // no div return null; } function avg_ls_parse_ads(href) { if (!href) return href; // check for google ad var regex = "^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)"; var re = new RegExp(regex); var matches = href.match(re); if (matches && (matches.length >= 4)) { // else we want the fourth value var match = matches[3]; if (match && (match.length > 0)) return match } return href; } function avg_ls_get_gmail_links(doc, processFrames) { if (doc == null) return; var links = new Array(); var anchors = avg_ls_get_anchors(doc); var element = null; var outHref = ""; var elemClass = ""; // loop through all for (var i = 0; (i < anchors.length) && anchors; i++) { element = anchors[i]; // already processed this element if (element.getAttribute("avglschecked")) continue; // initial checks if ((element.href == null) || (element.href.length < 1)) continue; if (avg_ls_does_url_contain(element.href, gAvgHostName)) continue; // don't mark anything but http:// if (element.href.indexOf("mailto") == 0) continue; if (element.parentNode) { var parentDiv = avg_ls_get_parent_div(element); if ((parentDiv.tagName == "DIV") && ((parentDiv.className == "ii gt") || // mail message body (parentDiv.className == "mv") || // top sponsored links (parentDiv.className == "vb") || // right sponsored links (parentDiv.className == "im") || // inside quotes (parentDiv.className == "gmail_quote") // quote )) // right ads { // parse for any ads var newHref = avg_ls_parse_ads(element.href); // add the image avg_ls_check_url(doc, element, newHref); } } } // recursively process all frames if (processFrames && doc.frames && (doc.frames.length > 0)) { for (var j = 0; j < doc.frames.length; j++) { // 'editable' frame it's probably a reply if (doc.frames[j].frameElement.className && (doc.frames[j].frameElement.className.indexOf("editable") != -1)) { continue; } avg_ls_get_gmail_links(doc.frames[j].document, processFrames); } } return links; } function avg_ls_valid_facebook_search(url) { if ((url == null) || (url.length < 1)) return false; var hostMatch = false; // split the url based on '/' var strUrl = new String(url); var parts = strUrl.split("/"); // need domain and path if ((parts == null) || (parts.length < 2)) return false; var domain= parts[2]; if (domain.indexOf("www.facebook.com") != -1) { // save the hostname to use getting links gAvgHostName = "www.facebook.com"; return true; } return false; } function avg_ls_get_facebook_links(doc, processFrames) { if (doc == null) return; var links = new Array(); var anchors = avg_ls_get_anchors(doc); var element = null; var outHref = ""; var elemClass = ""; // loop through all for (var i = 0; (i < anchors.length) && anchors; i++) { element = anchors[i]; // initial checks if ((element.href == null) || (element.href.length < 1)) continue; if (avg_ls_does_url_contain(element.href, gAvgHostName)) continue; // don't put verdicts in areas where typing is going on if (element.parentNode) { var parentDiv = avg_ls_get_parent_div(element); if ((parentDiv.tagName == "DIV") && (parentDiv.className == "Mentions_Input")) continue; } // already processed this element if (element.getAttribute("avglschecked")) continue; avg_ls_check_url(doc, element, element.href); } /*///cbk - take it out for now the home page can't access frameElement // recursively process all frames if (processFrames && doc.frames && (doc.frames.length > 0)) { for (var j = 0; j < doc.frames.length; j++) { if (doc.frames[j].frameElement != null ) { // 'editable' frame it's probably a reply if (doc.frames[j].frameElement.className && (doc.frames[j].frameElement.className.indexOf("editable") != -1)) { continue; } } avg_ls_get_facebook_links(doc.frames[j].document, processFrames); } } *///cbk return links; } function avg_ls_has_image(element) { if ((element == null) || (element.firstChild == null)) return false; var nextElem = element.firstChild; while (nextElem) { if (nextElem.id && (nextElem.id.indexOf("avg_ls_image") != -1)) return true; nextElem = nextElem.nextSibling; } return false; } function avg_ls_update_image(doc, element, image ) { if ((doc == null) || (element == null)) return ; // mark the element as processed element.setAttribute("avglschecked", "1"); // if no image, nothing to add if (image == null) return; // update the image if (element && element.firstChild) { image_elem = element.firstChild; element.firstChild.src = image; } } function avg_ls_add_image(doc, element, image, flyover) { if ((doc == null) || (element == null)) return; // if no image, nothing to add if (image == null) return; // create a new image var img = doc.createElement("img"); img.src = image; img.border="0"; img.hspace="5"; img.id = "avg_ls_image"; img.setAttribute("title", ""); // append the image to the link element.appendChild(img); img = null; var newImg = element.lastChild; if (flyover && newImg && newImg.id == "avg_ls_image") { newImg.attachEvent("onmouseover", function() {avg_ls_showinline(newImg, flyover)}); newImg.attachEvent("onmouseout", function() {avg_ls_hideinline()}); } } var timeoutId = null; var stopGmail = false; function avg_ls_monitor_gmail(doc, processFrames) { // clear the timer if set if (timeoutId) { clearTimeout(timeoutId); timeoutId = null; } // get the links avg_ls_get_gmail_links(doc, processFrames); // reset the if (!stopGmail) timeoutId = setTimeout(function() {avg_ls_monitor_gmail(doc, processFrames);}, 1000); } function avg_ls_monitor_facebook(doc, processFrames) { // clear the timer if set if (timeoutId) { clearTimeout(timeoutId); timeoutId = null; } // get the links avg_ls_get_facebook_links(doc, processFrames); // reset the if (!stopGmail) timeoutId = setTimeout(function() {avg_ls_monitor_facebook(doc, processFrames);}, 1000); } function avg_ls_process_links(doc, processFrames) { if (avg_ls_valid_gmail_search(doc.location.href)) { // process the gmail links stopGmail = false; avg_ls_init_ratings(doc); showCleanVerdicts = false; avg_ls_monitor_gmail(doc, processFrames); } if (avg_ls_valid_facebook_search(doc.location.href)) { // process the facebook links stopGmail = false; avg_ls_init_ratings(doc); showCleanVerdicts = false; avg_ls_monitor_facebook(doc, processFrames); } } function avg_ls_reload(e) { avg_ls_process_links(document, true); } function avg_ls_onload(e) { if (timeoutId) { clearTimeout(timeoutId); timeoutId = null; } var doc = document; // set the event handler for the data element to listen for load/reloads var data_element = doc.getElementById("avglsdata"); if (data_element) { // save data element for use in later iframes gAvgDataElement = data_element; // rowexit event used to notify javascript of a page data load avg_ls_remove_event(data_element, "rowexit", avg_ls_reload); avg_ls_add_event(data_element, "rowexit", avg_ls_reload); // process links for the document avg_ls_process_links(doc, true); } } function avg_ls_get_anchors(doc) { return doc.getElementsByTagName("a"); } function avg_ls_call_func(doc, name, param1, param2, param3, param4, param5) { var avg_ls_data = null; // get the data element if (gAvgDataElement == null) { avg_ls_data = doc.getElementById("avglsdata"); if ((avg_ls_data == null) || (name == null)) { // data element does not exist return; } gAvgDataElement = avg_ls_data; } else { avg_ls_data = gAvgDataElement; } // for some reason you can't fire and event on an element with no parent node if ((avg_ls_data == null) || (avg_ls_data.parentNode == null)) { return; } // set the attributes avg_ls_data.setAttribute("function", name); if (param1) avg_ls_data.setAttribute("param1", param1); if (param2) avg_ls_data.setAttribute("param2", param2); if (param3) avg_ls_data.setAttribute("param3", param3); if (param4) avg_ls_data.setAttribute("param4", param4); if (param5) avg_ls_data.setAttribute("param5", param5); avg_ls_data.fireEvent("onrowenter"); // get the result return avg_ls_data.getAttribute("result"); } function avg_ls_get_image(result) { if ((result == null) || (result.length < 1)) return null; var strResult = new String(result); var parts = strResult.split("::"); if (parts.length < 3) return; var nSeverity = parseInt(parts[0]); var image = null; switch(nSeverity) { case 0: if (showCleanVerdicts) image = images[nSeverity]; break; case 1: if (showLowRiskVerdicts) image = images[nSeverity]; break; case 2: if (showMedRiskVerdicts) image = images[nSeverity]; break; case 3: image = images[nSeverity]; break; default: image = "linkscanner://unknown12.gif"; break; } return image; } // do the url check function avg_ls_check_url(doc, element, href) { if (avg_ls_has_image(element)) return; var result = avg_ls_call_func(doc, "MalsiteCheck", href); if (result == null) return; var parts = result.split("::"); if (parts.length < 3) return; var nSeverity = parts[0]; var riskCategory = parts[1]; var riskName = parts[2]; if ( nSeverity == 0 ) { // safe shortened urls will get checked at mouse over time if (avg_ls_filter_url(href, shortened_urls)) { // add onmouseover for anchors with shortened url avg_ls_add_event(element, "mouseover", avg_ls_mouse_over); return; } } // mark as processed element.setAttribute("avglschecked", "1"); // get the image from the result var image = avg_ls_get_image(result); if (image == null) return; var bgColor = background_colors[nSeverity]; var borderColor = border_colors[nSeverity]; // build the inline html var html = ""; html += "

"; html += ""; html += riskCategory + ""; html += riskName + "

"; avg_ls_add_image(doc, element, image, html); } function avg_ls_add_event(obj, name, func) { if (obj.addEventListener) { obj.addEventListener(name, func, false); return true; } else if (obj.attachEvent) { return obj.attachEvent("on"+name, func); } else { return false; } } function avg_ls_remove_event(obj, name, func) { if (obj.removeEventListener) { obj.removeEventListener(name, func, false); return true; } else if (obj.detachEvent) { return obj.detachEvent("on"+name, func); } else { return false; } } function avg_ls_mouse_over(e) { if (e && e.srcElement && e.srcElement.href) { var element = e.srcElement; if (element.tagName == "A") { // check if it has an image already if (avg_ls_has_image(element)) { return; } // add the image, returns the anchor not the image avg_ls_add_image(document, element, "linkscanner://clock12.png"); // do the check and update in the background setTimeout(function() {avg_ls_check_and_update(document, element);}, 1); } } } function avg_ls_get_inline_image(element) { var nextElem = null; if ((element == null) || (element.firstChild == null)) return nextElem; nextElem = element.firstChild; while (nextElem) { if (nextElem.id && (nextElem.id.indexOf("avg_ls_image") != -1)) return nextElem; nextElem = nextElem.nextSibling; } return null; } function avg_ls_inline_hide_verdict(anchor) { var image = avg_ls_get_inline_image(anchor); if ( image ) { image.style.visibility = "hidden"; } } function avg_ls_check_and_update(doc, element) { var result = avg_ls_call_func(doc, "GetFinalUrl", element.href); if (result) { var result2 = avg_ls_call_func(doc, "MalsiteCheck", result); if (result2 == null) return; // remove the mouseover for this element, no need to fire again avg_ls_remove_event(element, "mouseover", avg_ls_mouse_over); // get the image from the result var image = avg_ls_get_image(result2); if (image == null) avg_ls_inline_hide_verdict(element); else { var img_elem = avg_ls_get_inline_image(element); if (img_elem) { img_elem.src = image; } } } } // function to find a url in a filter list function avg_ls_filter_url(url, filter) { var strUrl = new String(url); var parts = strUrl.split("/"); if ((parts == null) || (parts.length

Cerca