970 resultados para Framework Android robot Arduino Uno Bluetooth
Resumo:
Uno dei principali ambiti di ricerca dell’intelligenza artificiale concerne la realizzazione di agenti (in particolare, robot) in grado di aiutare o sostituire l’uomo nell’esecuzione di determinate attività. A tal fine, è possibile procedere seguendo due diversi metodi di progettazione: la progettazione manuale e la progettazione automatica. Quest’ultima può essere preferita alla prima nei contesti in cui occorra tenere in considerazione requisiti quali flessibilità e adattamento, spesso essenziali per lo svolgimento di compiti non banali in contesti reali. La progettazione automatica prende in considerazione un modello col quale rappresentare il comportamento dell’agente e una tecnica di ricerca (oppure di apprendimento) che iterativamente modifica il modello al fine di renderlo il più adatto possibile al compito in esame. In questo lavoro, il modello utilizzato per la rappresentazione del comportamento del robot è una rete booleana (Boolean network o Kauffman network). La scelta di tale modello deriva dal fatto che possiede una semplice struttura che rende agevolmente studiabili le dinamiche tuttavia complesse che si manifestano al suo interno. Inoltre, la letteratura recente mostra che i modelli a rete, quali ad esempio le reti neuronali artificiali, si sono dimostrati efficaci nella programmazione di robot. La metodologia per l’evoluzione di tale modello riguarda l’uso di tecniche di ricerca meta-euristiche in grado di trovare buone soluzioni in tempi contenuti, nonostante i grandi spazi di ricerca. Lavori precedenti hanno gia dimostrato l’applicabilità e investigato la metodologia su un singolo robot. Lo scopo di questo lavoro è quello di fornire prova di principio relativa a un insieme di robot, aprendo nuove strade per la progettazione in swarm robotics. In questo scenario, semplici agenti autonomi, interagendo fra loro, portano all’emergere di un comportamento coordinato adempiendo a task impossibili per la singola unità. Questo lavoro fornisce utili ed interessanti opportunità anche per lo studio delle interazioni fra reti booleane. Infatti, ogni robot è controllato da una rete booleana che determina l’output in funzione della propria configurazione interna ma anche dagli input ricevuti dai robot vicini. In questo lavoro definiamo un task in cui lo swarm deve discriminare due diversi pattern sul pavimento dell’arena utilizzando solo informazioni scambiate localmente. Dopo una prima serie di esperimenti preliminari che hanno permesso di identificare i parametri e il migliore algoritmo di ricerca, abbiamo semplificato l’istanza del problema per meglio investigare i criteri che possono influire sulle prestazioni. E’ stata così identificata una particolare combinazione di informazione che, scambiata localmente fra robot, porta al miglioramento delle prestazioni. L’ipotesi è stata confermata applicando successivamente questo risultato ad un’istanza più difficile del problema. Il lavoro si conclude suggerendo nuovi strumenti per lo studio dei fenomeni emergenti in contesti in cui le reti booleane interagiscono fra loro.
Towards model driven software development for Arduino platforms: a DSL and automatic code generation
Resumo:
La tesi ha lo scopo di esplorare la produzione di sistemi software per Embedded Systems mediante l'utilizzo di tecniche relative al mondo del Model Driven Software Development. La fase più importante dello sviluppo sarà la definizione di un Meta-Modello che caratterizza i concetti fondamentali relativi agli embedded systems. Tale modello cercherà di astrarre dalla particolare piattaforma utilizzata ed individuare quali astrazioni caratterizzano il mondo degli embedded systems in generale. Tale meta-modello sarà quindi di tipo platform-independent. Per la generazione automatica di codice è stata adottata una piattaforma di riferimento, cioè Arduino. Arduino è un sistema embedded che si sta sempre più affermando perché coniuga un buon livello di performance ed un prezzo relativamente basso. Tale piattaforma permette lo sviluppo di sistemi special purpose che utilizzano sensori ed attuatori di vario genere, facilmente connessi ai pin messi a disposizione. Il meta-modello definito è un'istanza del meta-metamodello MOF, definito formalmente dall'organizzazione OMG. Questo permette allo sviluppatore di pensare ad un sistema sotto forma di modello, istanza del meta-modello definito. Un meta-modello può essere considerato anche come la sintassi astratta di un linguaggio, quindi può essere definito da un insieme di regole EBNF. La tecnologia utilizzata per la definizione del meta-modello è stata Xtext: un framework che permette la scrittura di regole EBNF e che genera automaticamente il modello Ecore associato al meta-modello definito. Ecore è l'implementazione di EMOF in ambiente Eclipse. Xtext genera inoltre dei plugin che permettono di avere un editor guidato dalla sintassi, definita nel meta-modello. La generazione automatica di codice è stata realizzata usando il linguaggio Xtend2. Tale linguaggio permette di esplorare l'Abstract Syntax Tree generato dalla traduzione del modello in Ecore e di generare tutti i file di codice necessari. Il codice generato fornisce praticamente tutta la schematic part dell'applicazione, mentre lascia all'application designer lo sviluppo della business logic. Dopo la definizione del meta-modello di un sistema embedded, il livello di astrazione è stato spostato più in alto, andando verso la definizione della parte di meta-modello relativa all'interazione di un sistema embedded con altri sistemi. Ci si è quindi spostati verso un ottica di Sistema, inteso come insieme di sistemi concentrati che interagiscono. Tale difinizione viene fatta dal punto di vista del sistema concentrato di cui si sta definendo il modello. Nella tesi viene inoltre introdotto un caso di studio che, anche se abbastanza semplice, fornisce un esempio ed un tutorial allo sviluppo di applicazioni mediante l'uso del meta-modello. Ci permette inoltre di notare come il compito dell'application designer diventi piuttosto semplice ed immediato, sempre se basato su una buona analisi del problema. I risultati ottenuti sono stati di buona qualità ed il meta-modello viene tradotto in codice che funziona correttamente.
Resumo:
Il progetto descritto in questo documento consiste fondamentalmente nell'integrazione di applicazioni context-aware su dispositivi mobili con reti di sensori e nello studio delle problematiche derivanti, vantaggi e potenziali utilizzi. La rete è stata costruita sfruttando l'insieme di protocolli per comunicazioni via radio Zigbee, particolarmente adatti per interazione tra dispositivi a basso consumo energetico e che necessitano di uno scarso tasso di trasferimento di dati. Le informazioni ottenute da sensori di varia natura sono processate da microcontrollori Arduino, scelti per la loro versatilità di utilizzo e design open source. Uno o più dispositivi sono designati per aggregare i dati rilevati dai singoli nodi in un unico pacchetto di informazioni, semanticamente correlate tra loro, quindi emetterle in broadcast su una diversa interfaccia di rete, in modo che diverse applicazioni esterne in ascolto possano riceverle e manipolarle. Viene utilizzato un protocollo specifico per la comunicazione tra i microcontrollori e le applicazioni che si interfacciano con la rete, costruito su misura per dispositivi con risorse limitate. L'applicazione context-aware che interagisce con la rete è stata sviluppata su piattaforma Android, la cui particolare flessibilità favorisce una migliore capacità di gestire i dati ottenuti. Questa applicazione è in grado di comunicare con la rete, manipolare i dati ricevuti ed eventualmente intraprendere azioni specifiche in totale indipendenza dal suo utilizzatore. Obiettivo del progetto è quello di costruire un meccanismo di interazione tra le tecnologie più adattivo e funzionale possibile.
Resumo:
Il campo della coordinazione può beneficiare di nuovi strumenti e tecnologie per il proprio sviluppo o per rendere accessibili le sue funzionalità ad un pubblico più vasto. Il progetto TuCSoN, in particolare, include lo strumento Inspector tramite il quale è possibile monitorare ed interagire con l'intero spazio di coordinazione. Al fine di rendere disponibili queste funzionalità anche al mondo mobile è necessario eseguire il porting dell'applicazione. In questa tesi, perciò, verranno prima di tutto analizzate le caratteristiche principali dei modelli di coordinazione e, in particolare, del modello TuCSoN. In seguito eseguiremo un'introduzione sulla tecnologia Android, che ci fornirà gli strumenti necessari per la creazione di un framework mobile equivalente all'Inspector. Infine verranno affrontate le problematiche principali per eseguire con successo il porting, come ad esempio la necessità di ridefinire l'intera interfaccia grafica o l'utilizzo di nuovi componenti quali i service e le activity. Questa operazione, quindi, dimostrerà l'esigenza di adattare l'Inspector ai meccanismi appartenenti al nuovo ambiente di esecuzione.
Resumo:
Sommario Il progetto descritto in questo documento consiste nella realizzazione di una prima applicazione pratica di uno specifico studio di ricerca rivolto al ripristino di reti wireless in scenari post-calamità naturali. In principio è stata descritta un’ampia analisi delle problematiche di rete che si vengono a creare in seguito ad eventi catastrofici. Successivamente, analizzando le varie tecniche e tecnologie oggetto di studio di diversi gruppi di ricerca, si è scelto di collaborare con il progetto STEM-Mesh, essendo ancora in fase sperimentale, il quale affronta il problema di ristabilire la connettività di rete in questi particolari scenari, attraverso l’utilizzo di tecnologie Cognitive Radio (CR), mobilità controllata e principi di reti auto-organizzanti. Di questo primo approccio pratico sono state poi descritte le fasi di progettazione, implementazione e testing. Nella fase di progettazione sono state studiate le componenti hardware e software che rispettassero il più possibile i requisiti e le caratteristiche dei dispositivi “staminali” STEM-Node cuore del progetto STEM-Mesh, ovvero dei dispositivi wireless altamente auto-riconfiguranti ed auto-organizzanti che possono diventare dispositivi sostituivi ai nodi compromessi in una rete, riconfigurandosi appunto in base alle funzionalità interrotte. Nella fase di implementazione si è passati alla stesura del codice, in Python e Wiring, abilitante il dispositivo STEM-Node. Infine nella fase di testing si è verificato che i risultati fossero quelli desiderati e che il sistema realizzato funzionasse come previsto.
Resumo:
Introduzione alle strategie di robotic patrolling e analisi delle stesse. Applicazione ad uno scenario di una strategia e realizzazione di un robot patroller.
Resumo:
Il documento di tesi è composto da tre capitoli, che in successione analizzano gli aspetti teorici del progetto fino ad arrivare all’implementazione vera e propria dell’applicazione. Nel primo capitolo vediamo definito il tema dell’accessibilità accennando alle normative presenti in Italia e all’estero sull’argomento. Successivamente viene spiegato il concetto di Smart City e le tecniche che vengono utilizzate allo scopo di migliorare la qualità di vita nelle città. Vengono introdotti i concetti di crowdsourcing e participatory sensing, ideologie alla base delle Smart City. Al termine del capitolo viene introdotto uno studio sul grado di accessibilità degli smartphone presenti oggi sul mercato, analizzando anche le tecnologie assistive disponibili per questi dispositivi. Nel secondo capitolo si descrivono le tecnologie e i servizi utilizzati durante la creazione del progetto. In particolare viene presentato Android ed il suo funzionamento, essendo quest’ultimo il sistema operativo per cui è stata sviluppata l’applicazione. In seguito troviamo una breve analisi di tutti i servizi impiegati nel progetto: Foursquare, Fusion Table e Google Maps. Infine vengono descritte le tecnologie intermedie utilizzate per far comunicare fra loro gli strumenti spiegati in precedenza. Nel terzo capitolo viene presentata in modo dettagliato l’implementazione del progetto. Inizialmente vengono definite le classi principali create per progettare le funzionalità di base del software e per interagire con i servizi scelti. Successivamente viene descritto il funzionamento e l’aspetto dell’applicazione sviluppata insieme a degli screenshot, che permetteranno al lettore di avere un riferimento visivo di ciò che è stato esposto nel corso della tesi.
Resumo:
La tesi affronta il tema dell'innovazione della scuola, oggetto di costante attenzione da parte delle organizzazioni internazionali e dei sistemi educativi nazionali, per le sue implicazioni economiche, sociali e politiche, e intende portare un contributo allo studio sistematico e analitico dei progetti e delle esperienze di innovazione complessiva dell'ambiente di apprendimento. Il concetto di ambiente di apprendimento viene approfondito nelle diverse prospettive di riferimento, con specifica attenzione al framework del progetto "Innovative Learning Environments" [ILE], dell’Organisation For Economic And Cultural Development [OECD] che, con una prospettiva dichiaratamente olistica, individua nel dispositivo dell’ambiente di apprendimento la chiave per l’innovazione dell’istruzione nella direzione delle competenze per il ventunesimo Secolo. I criteri presenti nel quadro di riferimento del progetto sono stati utilizzati per un’analisi dell’esperienza proposta come caso di studio, Scuola-Città Pestalozzi a Firenze, presa in esame perché nell’anno scolastico 2011/2012 ha messo in pratica appunto un “disegno” di trasformazione dell’ambiente di apprendimento e in particolare dei caratteri del tempo/scuola. La ricerca, condotta con una metodologia qualitativa, è stata orientata a far emergere le interpretazioni dei protagonisti dell’innovazione indagata: dall’analisi del progetto e di tutta la documentazione fornita dalla scuola è scaturita la traccia per un focus-group esplorativo attraverso il quale sono stati selezionati i temi per le interviste semistrutturate rivolte ai docenti (scuola primaria e scuola secondaria di primo grado). Per quanto concerne l’interpretazione dei risultati, le trascrizioni delle interviste sono state analizzate con un approccio fenomenografico, attraverso l’individuazione di unità testuali logicamente connesse a categorie concettuali pertinenti. L’analisi dei materiali empirici ha permesso di enucleare categorie interpretative rispetto alla natura e agli scopi delle esperienze di insegnamento/apprendimento, al processo organizzativo, alla sostenibilità. Tra le implicazioni della ricerca si ritengono particolarmente rilevanti quelle relative alla funzione docente.
Resumo:
Questo elaborato ha come argomento lo sviluppo di un progetto informatico creato per mettere in comunicazione tra di loro un sistema di gestione e controllo del ricambio di acqua in una piscina e un dispositivo mobile. Per la realizzazione del sistema di controllo è stata utilizzata una scheda Arduino Mega 2560 munita di modulo Ethernet, mentre, per quello che concerne il dispositivo mobile, la scelta è ricaduta su un device dotato di sistema operativo Android. La comunicazione tra questi due attori è mediata attraverso un server scritto in Java che gira nella stessa rete locale in cui è presente la scheda Arduino. Il progetto può essere inserito nell'ambito dell'Internet of Things, dove ogni oggetto è caratterizzato dalla possibilità di connettersi ad Internet e scambiare informazioni con ogni altro oggetto creando una rete. Questo progetto è suddiviso in tre parti: la prima si occupa della definizione di due protocolli di comunicazione tra le varie componenti, uno per lo scambio di messaggi tra client Android e Server Java e un secondo per quello tra scheda Arduino e Server; la seconda parte è incentrata sulla realizzazione del server Java che rende accessibile la scheda da qualsiasi luogo e permette la raccolta dei dati rilevanti provenienti dalla centralina. L’ultima parte infine è quella relativa allo sviluppo di una applicazione per Android che permette di monitorare il tutto e interagire con la centralina stessa.
Resumo:
Tesi riguardante lo sviluppo di una applicazione Android rivolto ai pendolari. Si da maggior rilievo al framework Wi-Fi P2P e al filtraggio audio.
Resumo:
Gli ultimi anni hanno visto importanti cambiamenti positivi nella cooperazione interstatale in Asia centrale. Crescenti minacce come il terrorismo internazionale, l'estremismo religioso e politico, il traffico di droga, ecc, causati dagli interessi geopolitici e geo-economici delle potenze mondiali, hanno contribuito alla formazione di una politica estera più coordinata e coerente degli Stati della regione. Questo processo si manifesta nella partecipazione attiva dell’istituzionalizzazione della Shanghai Organizzazione del Commonwealth (SOC), Conferenza sulle misure di costruzione d’interazione e fiducia in Asia (CICA) e Organizzazione del Trattato di Sicurezza Collettiva (CSTO). Problemi moderni di sicurezza in Asia centrale dovrebbero essere risolti in dei nuovi modi, non convenzionali. Le nuove minacce alla sicurezza richiedono modi non standard per risolvere il problema. Considerate le differenze fondamentali dell'Unione europea e degli Stati dell'Asia centrale nei valori e dal punto di vista in materia di sicurezza. I paesi dell'Asia centrale non sono pronti per l'integrazione politica. Nonostante questo, nell’Asia centrale sono state adottate misure per contrastare le minacce non convenzionali. L’esperienza europea di unire gli sforzi della regione per garantire la sicurezza interna, può essere utilizzata dai paesi dell'Asia centrale, soprattutto, in primo luogo sulla formazione del quadro istituzionale e giuridico per la cooperazione operativa delle forze dell'ordine per le seguenti aree: • prevenzione del traffico di droga attraverso gli Stati dell'Asia centrale; • lotta contro nuove forme di terrorismo ed estremismo; • limitare la dimensione della migrazione clandestina; • migliorare la protezione giuridica dei cittadini. Fino a poco tempo fa, questi temi hanno ricevuto poca attenzione, sia nella teoria sia nella pratica, poiché i problemi di sicurezza della società erano principalmente ridotti per evitare il pericolo di guerra.
Resumo:
Scopo primario della tesi è studiare e progettare un sistema informatico che proponga un buon livello di innovazione tecnologica in relazione al contesto applicativo di riferimento, ovvero relativamente al supporto al lavoro cooperativo di operatori in scenari d'emergenza. In particolare, la tesi si concentra sul'ecosistema software che ruota attorno al singolo operatore con l'obiettivo di dotarlo di uno strumento informatico che gli consenta di avvalersi di un efficace ed efficiente supporto per l'esecuzione delle proprie azioni sul campo (in generale, per la prima assistenza ai pazienti, triage e monitoraggio di parametri vitali). A tal proposito, l'ambito tecnologico di riferimento è quello del Pervasive Mobile Computing, con specifico riferimento ai sistemi context-aware e a quelli con comportamenti fortemente autonomi. Inoltre, al fine di dotare l'operatore di un supporto per l'interazione con il sistema stesso in modalità hands-free, sono stati analizzati i dispositivi wearable di tipo "see-through"; in particolare, i recenti glasses per realtà aumentata. La progettazione del sistema e il conseguente sviluppo del prototipo (che implementa le caratteristiche più significative ed innovative), è stata guidata da un'ispirazione basata sul modello ad agenti (integrato a quello ad oggetti), rivisitando opportunamente l'utilizzo dei componenti offerti dalla tecnologia Android, al fine di ottenere un prodotto software robusto e modulare facilmente manutenibile ed estendibile. Infine, per garantire a ciascun operatore rapida fruibilità del sistema sono state sfruttate le potenzialità offerte dall'uso di smartcard NFC ed inoltre è stato progettato un protocollo di comunicazione ad hoc, basato su stack Bluetooth, per l'integrazione degli AR-Glasses all'intero sistema.
Resumo:
Il Data Distribution Management (DDM) è un componente dello standard High Level Architecture. Il suo compito è quello di rilevare le sovrapposizioni tra update e subscription extent in modo efficiente. All'interno di questa tesi si discute la necessità di avere un framework e per quali motivi è stato implementato. Il testing di algoritmi per un confronto equo, librerie per facilitare la realizzazione di algoritmi, automatizzazione della fase di compilazione, sono motivi che sono stati fondamentali per iniziare la realizzazione framework. Il motivo portante è stato che esplorando articoli scientifici sul DDM e sui vari algoritmi si è notato che in ogni articolo si creavano dei dati appositi per fare dei test. L'obiettivo di questo framework è anche quello di riuscire a confrontare gli algoritmi con un insieme di dati coerente. Si è deciso di testare il framework sul Cloud per avere un confronto più affidabile tra esecuzioni di utenti diversi. Si sono presi in considerazione due dei servizi più utilizzati: Amazon AWS EC2 e Google App Engine. Sono stati mostrati i vantaggi e gli svantaggi dell'uno e dell'altro e il motivo per cui si è scelto di utilizzare Google App Engine. Si sono sviluppati quattro algoritmi: Brute Force, Binary Partition, Improved Sort, Interval Tree Matching. Sono stati svolti dei test sul tempo di esecuzione e sulla memoria di picco utilizzata. Dai risultati si evince che l'Interval Tree Matching e l'Improved Sort sono i più efficienti. Tutti i test sono stati svolti sulle versioni sequenziali degli algoritmi e che quindi ci può essere un riduzione nel tempo di esecuzione per l'algoritmo Interval Tree Matching.
Resumo:
Il lavoro svolto è dedicato alla realizzazione ed implementazione di un sistema distribuito "smart" per il controllo degli accessi. Il progetto sviluppato è inquadrato nel contesto di "SPOT Software", che necessita di migliorare il processo aziendale di controllo accessi e gestione presenze al fine di aumentarne usabilità ed efficienza. Saranno affrontate in generale le tematiche di Internet of Things, Smart Building, Smart City e sistemi embedded, approfondendo il ruolo delle tecnologie di comunicazione NFC e BLE, al centro di questo lavoro. Successivamente sarà discussa la progettazione di ognuno dei tre nodi del sistema, motivando le scelte tecnologiche e progettuali: Web application, Smart device e Smartphone app.
Resumo:
Obiettivo di questa tesi è quello di illustrare il mondo della realtà aumentata (AR) ed in particolare delle tecnologie software disponibili per lo sviluppo di applicazioni su dispositivi Android. Si partirà dal darne una definizione e riassumerne i principali fatti storici, all'illustrarne i vari hardware disponibili sul mercato e le tecnologie software per sviluppare progetti. Non verranno tralasciati utilizzi e settori di ricerca, e si presenterà poi il sistema operativo Android. Dopo uno sguardo alla sua architettura e alle sue caratteristiche, nonché al linguaggio di programmazione Java, cardine per lo sviluppo in questo sistema, si presenteranno alcune API dell'SDK nativo che si rivelano utili per lo sviluppo di applicazioni per la realtà aumentata. Infine, verrà presentato un approfondimento sull'SDK Metaio.