Microsoft .NET and XNA Framework for the Robot Operating System

Total Page:16

File Type:pdf, Size:1020Kb

Microsoft .NET and XNA Framework for the Robot Operating System P a g e | 1 Microsoft .NET and XNA Framework for the Robot Operating System Michael Edoror B.S Computer Science „12 University of Maryland, Baltimore County Mentor: Chad Jenkins, Ph.D Robotics, Learning, and Autonomy Lab Department of Computer Science Brown University P a g e | 2 Table of Contents: 1. Introduction 2. ROS & Rosbridge 3. JSON 4. .NET & XNA Integration 5. Conclusions & Future Work 6. References P a g e | 3 1. INTRODUCTION The Robot Operating System (ROS) is an open source system which provides libraries and tools to help software developers create robot applications. The most important feature with ROS is its abstraction of hardware and device specific engineering. Conceptually, ROS sits on top of hardware and programmers write software to control the hardware.1 My research dealt with creating an interface which can communicate with the ROS runtime environment using .NET and Microsoft XNA. This framework can publish and subscribe to information from ROS and its connected devices over a TCP/IP socket connection. 2. ROS & ROSBRIDGE ROS executes its programs as nodes which can run simultaneously. In order for ROS entities to communicate with each other, ROS nodes publish data to listeners called topics. Conversely, in order for entities to receive information they subscribe to topics. The Robotics Lab at Brown University have been developing software for ROS, creating many programs including special software that will allow for connection to ROS and ROS objects via the web. The interface is a ROS program called Rosbridge and that functionality allows people to theoretically control ROS object from anywhere and on any type of computer. ROS has been developed and maintained primarily on Ubuntu Linux but with Rosbridge and my research, I have created a framework for .NET and XNA. The overall goal of Rosbridge is to be able to send and receive messages made by ROS objects on the ROS server. Messages in the correct format can be sent over to the ROS object through the topic. In order to receive messages, Rosbridge will subscribe to a certain topic and basically listen to what the ROS object publishes to that topic. P a g e | 4 For this project I used two ROS enabled robots. The first was an iRobot_Create. The robot is connected through a serial connection with a netbook that has ROS installed. I would optionally connect a Playstation Eye to the netbook in order to get a video stream from the robot. The second robot I used was an AR_Drone. I made no modifications to the drone and it connects wirelessly to a netbook which has ROS installed. 2. JSON Rosbridge requires a certain format in order to send and receive data across the socket connection. This format is called JavaScript Object Notation (JSON). It is an open standard many programmers use to interchange data, usually for JavaScript. The exact form varies but for Rosbridge, message data is arranged in the following manner; JSON messages are just sequences of “name : value” pairs wrapped in either quotes for strings, square brackets for arrays, or curly brackets for objects. For an example this is the JSON formatted string I used to subscribe to a topic in ROS. service = "{\"receiver\":\"/rosjs/subscribe\",\"msg\":[\"/sensorPacket\",0]}"; Figure 1. JSON Formatted String 3. MICROSOFT .NET & XNA The .Net Framework is just like any other programming environment with the standard tools to help developers create software. The Framework supports programming in the typical programming language paradigms: functional (F#), procedural (Visual Basic), and object oriented (C#). The most popular Integrated Development Environment (IDE) is Microsoft P a g e | 5 Visual Studio. In order to create my framework for the ROS connection I specifically used Microsoft Visual Studio 2008 with Microsoft Framework version 3.5 and C#. My first task was to create the client interface that communicates between ROS and the host Windows Machine. The way Rosbridge was created makes this process pretty straight forward. In fact, a JavaScript client interface was written in 73 lines of code. The process of creating the client is as follows: create a socket connection, connect the socket to the correct ROS server, and send the appropriate handshake. Afterwards, I would be able to send and receive messages from the ROS server. The big issue that I ran into was that after establishing the connection and sending the handshake, the messages I would summarily send over would not be seen by the ROS server. In order to alleviate this issue I had to send multiple messages at the same time in order for ROS to register it as seen. It turns out that Rosbridge arbitrarily drops messages. When it was all said in done, I had a fully functional client interface now called WinRos which can send and receive messages from a ROS server all in around 85 lines of code. With all of that in place, I wrote a small teleoperator application that would be able to control an iRobot_Create and an AR_Drone. This application runs through the keyboard and can be found here. Once the foundation of communication was reached, I had hopes on expanding on Windows development and making something interesting. I decided to integrate my existing code with Microsoft XNA to create a video game. The Microsoft XNA Framework is a collection of classes and libraries used to enhance development of games within the .NET framework. In addition to using XNA, I also used a game engine, FlatRedBall (FRB). FRB is an engine written over top of XNA which encapsulates all of the coding intensive tasks of XNA like loading art assets or creating screens. FRB also has P a g e | 6 a tool called Glue which provides a visual-interactive interface for game development on XNA. For the game I used FRB June Release and Microsoft XNA Game studio version 3.1. This game is made for XNA PC. The process for creating the game was as follows: Use the existing WinRos interface to get a connection to Rosbridge through XNA, subscribe to topics that ROS objects on the server transmit like movement and video data, read/process the data from the socket, and display the data on the XNA side by drawing it to the screen. It seems straightforward but I still ran into a couple of issues. Getting a video stream was probably the biggest issue. The XNA framework supports video but only static videos. Streaming video is not supported for the most part. Another issue is that getting video from the Rosbridge connection wasn‟t traditional in that the data I was reading was an encoded binary string. The normal forms to transmit video are of a compressed video format. To deal with all of this, I had to do a little conversion gymnastics to decode the binary string in base64 format. Now in order to display the video I had to attach it to a Sprite instance. A sprite is the container of the game object or character in XNA. Every sprite has a texture, which is the actual image. In this case the texture is the video data, so I had to attach the video information to the texture. However texture information has to be in a certain form (in this case an array of bytes) so I further converted the binary string into an array of bytes and read it into the texture using a memory stream. The following code snippet shows the conversion and the next snippet is the process for attaching the video to the texture. P a g e | 7 public MemoryStream decodeFrom64(string encodedData) { //decodes the binary string byte[] encodedDataAsBytes= System.Convert.FromBase64String(encodedData); //creates an instance of memory which is just a buffer for the image data MemoryStream ms = new MemoryStream(encodedDataAsBytes, 0, encodedDataAsBytes.Length); //writes the image data to the buffer ms.Write(encodedDataAsBytes, 0, encodedDataAsBytes.Length); return ms; } Figure 2. Binary String Conversion //converts raw data to string image = Convert.ToString(((Hashtable)serviceReturn["msg"])["uri"]); //removes the json part of the string image = image.Remove(0, 23); //creates the file stream MemoryStream stream = decodeFrom64(image); //these next lines return the buffer to the original position stream.Flush(); //zero base64 stream.Position = 0L; //attaches the stream to the texture video.Texture = Texture2D.FromFile(FlatRedBallServices.GraphicsDevice, stream); video.ScaleX = 10.5f; video.ScaleY = 10.5f; video.Position = new Vector3(5, 0, 0); Figure 3. Code Snippet of the complete process After all of this, I was getting a very choppy image display. The problem was that the frame rate was moving faster than the display of the image. Slowing the frame rate from 60 frames per second to 5 really showed streaming in the video. There was still a 2 second delay between actual movement and the display, but display is a lot more functional than before. P a g e | 8 4 .CONCLUSIONS & FUTURE WORK I feel very happy about what I accomplished this summer. I learned that I have the capability to develop software at a level that I thought wasn‟t reachable yet. Prior to this internship, I had no experience with the Robot Operating System. I had very little exposure to programming on the Windows environment but now I feel very comfortable. I also did not have experience with developing applications, but now I do thanks to this internship and the constant pushing from my mentor. I hope to continue the work I have done this summer. There is a lot I can do to improve and expand upon. For example, I would like to add complete drone functionality to the WinRos_XNA interface.
Recommended publications
  • Download the Ebrochure
    DECEMBER 5-9, ORLANDO, FLORIDA Royal Pacific Resort at Universal Orlando® 5 CODE-FILLED DAYS IN FLORIDA! REGISTER TODAY! VSLIVE.COM/ORLANDO u Visual Studio 2010 / .NET u Web / HTML5 u Developing Services u Cloud Computing u Silverlight / WPF u Windows Phone 7 u Data Management u Programming Practices PLATINUM SPONSORS SUPPORTED BY PRODUCED BY DECEMBER 5-9, ORLANDO, FLORIDA Royal Pacific Resort at Universal Orlando® A Message from the Co-Chairs The Microsoft Development Platform is reaching a huge milestone. With Windows 8 waiting in the wings, the growing momentum of Windows Phone, the industry-wide HTML 5 push and continual emphasis on Cloud Computing, just about everything is changing and growing. We think there’s a great way to digest these changes and seize their collective opportunity. And that’s to hear about them directly TABLE OF from Microsoft product team members and evangelists, along with a number of the finest independent speakers in the business. CONTENTS: We’re Andrew Brust and Rocky Lhotka, and as Conference 10 Reasons to Attend ............................................ 3 Co-Chairs for Visual Studio Live! Orlando, we’d like to personally Speaker List ............................................................................ 4 invite you to join us this December in Orlando, Florida, where we’ll have some of the best content and speakers that you’ll find at a Events & Activities ....................................................... 5 technical conference. Keynote Abstracts ....................................................... 6 Look Who’s Attending .......................................... 6 We’ve put together a blockbuster lineup of sessions on: HTML 5; the Cloud; Windows Phone Development, Silverlight and WPF; Venue & Travel .................................................................... 7 Data Management and Services Development. Agenda-At-A-Glance .............................................
    [Show full text]
  • 3-16 Edit Inhalt CD.Indd
    XNA Framework Magazin 17 satz haben, lässt sich bereits nach wenigen Minuten der Code für das Spiel schreiben. Lästige, immer wiederkehrende Aufga- Revolution in der ben, wie beispielsweise die Initialisierung des Render-Device oder die Wiederher- stellung des Device beim Skalieren des Spiele-Welt Fensters, gehören der Vergangenheit an – diese Aufgaben übernimmt das XNA Managed Code für die XBox: Framework (zumal die XBox 360 keine typischen Fenster kennt). Eine neue Ära der Spieleentwicklung Schichten sind wieder aktuell von Jens Konerow Wo sich das XNA Framework einreiht, lässt sich am einfachsten erkennen, wenn In den letzten ein bis zwei Jahren zierte das Kürzel XNA gehäuft die Wer- das ganze System in Schichten unterteilt beblätter von Entwicklerkonferenzen, die von Microsoft initiiert wurden, wird. Die folgende Auflistung schemati- oder tauchte in Logos auf, die mit der Multimediaschnittstelle DirectX in siert das gesamte Modell von der tiefsten Verbindung standen. Ende August 2006 wurde die erste Beta-Version Ebene bis zur höchsten Ebene: des Produkts XNA Game Studio Express der Öffentlichkeit zur Verfügung • Plattform: Gebildet wird die Plattform gestellt. Doch was genau ist XNA? Welche Vorzüge bietet XNA? Fragen über eine Reihe von nativen und verwal- über Fragen, die in diesem Artikel beantwortet werden sollen. teten APIs. Darunter zählt beispielswei- se Direct3D zur Kommunikation mit der Grafikkarte, XACT, XInput oder XContent (die Begriffe werden später Microsoft hat es geschafft, DirectX als gleich diese vorerst nur aus Vorlagen für noch etwas genauer beschrieben). eine der wichtigsten Schnittstellen im Be- Visual C# Express besteht. Das Besondere • Core Framework: Diese Schicht des reich Multimediaprogrammierung zu an XNA ist, dass die Spiele nicht nur auf XNA Framework kann mit den Aufga- etablieren.
    [Show full text]
  • Test-Driving ASP.NET MVC Dino Esposito, Page 6 Keith Burnell
    Untitled-10 1 6/6/12 11:32 AM THE MICROSOFT JOURNAL FOR DEVELOPERS JULY 2012 VOL 27 NO 7 Pragmatic Tips for Building Better COLUMNS Windows Phone Apps CUTTING EDGE Andrew Byrne .......................................................................... 24 Mobile Site Development, Part 2: Design Test-Driving ASP.NET MVC Dino Esposito, page 6 Keith Burnell ............................................................................ 36 DATA POINTS Create and Consume Writing a Compass Application JSON-Formatted OData for Windows Phone Julie Lerman, page 10 Donn Morse ............................................................................ 48 FORECAST: CLOUDY Mixing Node.js into Your Hadoop on Windows Azure Windows Azure Solution Joseph Fultz, page 16 Lynn Langit .............................................................................. 54 TEST RUN How to Handle Relational Data Classifi cation and Prediction Using Neural Networks in a Distributed Cache James McCaffrey, page 74 Iqbal Khan ............................................................................... 60 THE WORKING A Smart Thermostat on the Service Bus PROGRAMMER The Science of Computers Clemens Vasters ....................................................................... 66 Ted Neward and Joe Hummel, page 80 TOUCH AND GO Windows Phone Motion and 3D Views Charles Petzold, page 84 DON’T GET ME STARTED The Patient Knows What’s Wrong With Him David Platt, page 88 Start a Revolution Refuse to choose between desktop and mobile. With the brand new NetAdvantage for .NET, you can create awesome apps with killer data visualization today, on any platform or device. Get your free, fully supported trial today! www.infragistics.com/NET Infragistics Sales US 800 231 8588 • Europe +44 (0) 800 298 9055 • India +91 80 4151 8042 • APAC (+61) 3 9982 4545 Copyright 1996-2012 Infragistics, Inc. All rights reserved. Infragistics and NetAdvantage are registered trademarks of Infragistics, Inc. The Infragistics logo is a trademark of Infragistics, Inc.
    [Show full text]
  • Microsoft XNA Game Studio
    CreatingAcceleration an Abstract and ClassThe Physics Windows in C# .. Phone .. .. .. Marketplace .. .. .. .. .. .. ... ... ... ... ..282 .. .. .. .. ..340 . 403 Drawing Multiple Text Strings . 97 Extending anMaking AbstractAdding Sense RegisteringTomato ClassDetecting of Memory.Accelerometer Targets. forKey . the.Overflow Presses .. App.. .Readings. .Hub. .and. ... ..Data . .. .. Values . .. .. .. .282. .. .. .. .. ..341. ... ... ... 227 .. 404 ..155 . 35 Repeating Statements with a for Loop . 99 DesigningCreating with a Abstract “CheeseTomatoUsingDecoding Classes Lander” CollisionsaMaking Windows . KeyTipping . a . .CharactersProper Phone.. .Game. .. Mood Device.. .... ... Light .. .. .. .. .. .. .. .. 284 . 343 . .. .. .. .229. .404. 159. 36 Other Loop Constructions . 101 ReferencesTable Gameto ConclusionAbstract World Creatingof ParentUsing Objects . .Making Contentsthe . ClassesGames .in Shift. “Cheese Decisions. for .Keys. .Sale . .Lander”. in. .. .Your . .. .. .. Program. .. .. .. .. .. .. .. .. .. .. .284... .... .... .... .... ..343. ... ... ... 232 ... 405.. 160. 37 Fun with for Loops . 101 Constructing ClassGetting InstancesChapterConclusion Access Review Editing. .to .The. the .Questions .the .Completed . Accelerometer .Text. .. .Mood . Class. .Light . from. .XNA . ..285 ... ... ... ... ... 344 .. .. .. .232. .405. 161. 41 Creating Fake 3-D . 103 ConstructorsUsing inAcknowledgments StructuresChapter theConclusion Accelerometer Review .Finding . .Questions . .Programin . an .. XNA ... ..Bugs Game.. ... .. ... ... ... .. .. .
    [Show full text]
  • Actualización De NVIDIA 1.5.20 NVIDIA Corporation 05/12/2011 1.5
    Actualización de NVIDIA 1.5.20 NVIDIA Corporation 05/12/2011 1.5.20 Adobe AIR Adobe Systems Incorporated 08/05/2012 3.2.0.20 70 Adobe Community Help Adobe Systems Incorporated 18/04/2012 3.0.0.400 Adobe Creative Suite 5 Master Collection Adobe Systems Incorporated 18/04/2012 1.240 MB 5.0 Adobe Dreamweaver CS3 Adobe Systems Incorporated 16/10/2011 861 MB 9.0 Adobe Flash Player 11 ActiveX Adobe Systems Incorporated 11/10/2012 6,00 MB 11.4.402.287 Adobe Flash Player 11 Plugin Adobe Systems Incorporated 11/10/2012 6,00 MB 11.4.402.287 Adobe Media Player Adobe Systems Incorporated 18/04/2012 1.8 Adobe Reader X (10.1.4) - Español Adobe Systems Incorporated 17/08/2012 121,1 MB 10.1.4 Advanced RAR Repair v1.2 16/07/2012 Age of Empires III Microsoft Game Studios 20/04/2012 2.091 MB 1.00.0000 Alcatel USB Modem Alcatel 27/06/2012 1.001.00022 Alien Wars Media Contact LLC 20/11/2011 1.0 AnyToISO CrystalIdea Software, Inc. 02/07/2012 16,0 MB 3.2 Apache Tomcat 7.0.14 01/05/2012 Archivos auxiliares de instalación de Microsoft SQL Server 2008 Microsoft Corpor ation 16/10/2011 33,7 MB 10.1.2731.0 Assassin's Creed Revelations Ubisoft 09/10/2012 1.00 AutoCAD 2011 - Español Autodesk 16/10/2011 18.1.49.0 AutoCAD Mechanical 2011 Autodesk 16/10/2011 15.0.46.0 Autodesk 3ds Max 2010 64-bit Autodesk 02/10/2012 770 MB 12.0 Autodesk 3ds Max 2010 64-bit Components Autodesk 02/10/2012 721 MB 12.0 Autodesk 3ds Max 2010 Tutorials Files Autodesk 02/10/2012 259 MB 12.0 Autodesk Backburner 2008.1 Autodesk, Inc.
    [Show full text]
  • Business at the Speed of Game Production: Opengl Or XNA? Necemon Yai Department of Computer Science, Swansea University ******@Swansea.Ac.Uk
    Business at the speed of game production: OpenGL or XNA? Necemon Yai Department of Computer Science, Swansea University ******@swansea.ac.uk (a) Some OpenGL (c) An XNA sphere (b) An OpenGL sphere (d) Some spheres in an XNA game spheres [Silicon [Riemers] Graphics] Figure 1: Teaser Abstract A common start-ups' question in the gaming industry is: 2 Background Which graphical environment should we use? As time is money, a Let’s introduce the APIs and their features. crucial factor in a choice is time: not only the time it takes to build complete games with each API but also a fluid timing during the 2.1 OpenGL gaming experience to make it enjoyable. In this analysis, we will OpenGL (Open Graphics Library) is a standard specification compare the OpenGL industry standard to the Microsoft XNA defining a cross-language, cross-platform API for writing game framework on the speed factor. The study will include applications that produce 2D and 3D computer graphics. The learning curve, programming, modeling and rendering speeds on interface consists of over 250 different function calls which can be both sides. used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. 1 Introduction (SGI) in 1992 and is widely used in CAD, virtual reality, scientific visualization, information visualization, and flight A graphics API is basically a way to talk to graphics simulation. It is also used in video games, where it competes with hardware. By using an API, it gets simpler to send drawing Direct3D on Microsoft Windows platforms.
    [Show full text]
  • Learning XNA 4.0
    Learning XNA 4.0 Learning XNA 4.0 Aaron Reed Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Learning XNA 4.0 by Aaron Reed Copyright © 2011 Aaron Reed. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Courtney Nash Indexer: Fred Brown Production Editor: Kristen Borg Cover Designer: Karen Montgomery Copyeditor: Genevieve d’Entremont Interior Designer: David Futato Proofreader: Kristen Borg Illustrator: Robert Romano Printing History: December 2010: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Learning XNA 4.0, the image of a sea robin fish, and related trade dress are trade- marks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein. ISBN: 978-1-449-39462-2 [M] 1291906059 To my mother and father, who, after shelling out $2,500 in the 1980’s for a sweet Compaq 286 with a 4-color monitor, 16k internal memory, a 5 1/4" floppy and no internal hard drive, didn’t yell at me when they came home and found that I’d taken the thing apart.
    [Show full text]
  • Installation Instructions for the Visual C# Express Edition Software
    Copyright 2011-2015 by Homeschool Programming, Inc. Installation Instructions for the Microsoft XNA Game Studio 4.0 Now includes instructions for Windows 8 and Windows 10! Updated November, 2015 The TeenCoder™: Game Programming course relies on the Microsoft XNA Game Studio 4.0 software. These instructions will guide you through the online download and local installation procedure. Microsoft XNA Game Studio 4.0 will be installed on top of Visual C# 2010 Express on your computer. This software is a free download from the Microsoft website. You must have already installed the Microsoft Visual C# 2010 Express software prior to taking these steps! Please see the “Visual_CS_2010_Install_Instructions.pdf” if you have not already done so. The following guide will show step-by-step screen shots. In some cases we have added red circles around the buttons or links you need to click. These circles are not present on the install screens you will be using; we added them to highlight the right selections. Copyright Notices: Microsoft Windows, Microsoft Visual C# 2010 Express, Microsoft XNA Game Studio 4.0, and related terms are all copyright by Microsoft Corporation. For more details, please see Microsoft's copyright page. This document, TeenCoderTM, KidCoderTM, and related terms are copyright by Homeschool Programming, Inc. This document is intended for use in a TeenCoderTM computer programming course and may not be used or distributed for other purposes. http://www.HomeschoolProgramming.com/ Page 1 Copyright 2011-2015 by Homeschool Programming, Inc. Disclaimer: Homeschool Programming, Inc, and their officers and shareholders, assume no liability for damage to personal computers or loss of data residing on personal computers arising due to the use or misuse of this course material.
    [Show full text]
  • Handreichung Zur EDV-Beschaffung 2016
    Vorarlberger Bildungsservice Handreichung zur EDV-Ausstattung 2015 Handreichung zur EDV-Ausstattung 2015 Bregenz, im Juni 2015 Übersicht Vorwort .......................................................................................................................................................... 3 Libre Office oder Microsoft Office? ................................................................................................................ 5 Softwarelizenzierung ...................................................................................................................................... 6 Microsoft-Produkte (Betriebssysteme und Office) ..................................................................................... 6 Erforderliche Lizenzen ................................................................................................................................ 7 Liste der installierten Lernprogramme für MS / HS / PTS .............................................................................. 9 Liste der installierten Lernprogramme für VS / ASO /SPZ ............................................................................ 13 Technische Kurzbeschreibungen (für IT-BetreuerInnen) .............................................................................. 16 "PC Tower" HP ProDesk 600 MT .............................................................................................................. 16 "PC Mini" HP Elite 800 Ultraslim Desktop ...............................................................................................
    [Show full text]
  • Development of a Hci Course on the Microsoft Surface
    Session S3F Work in Progress - Development of a HCI Course on the Microsoft Surface Aaron Striegel, Dirk Van Bruggen University of Notre Dame, [email protected], [email protected] Abstract - With the advent of multi-touch devices, there exist exciting new opportunities for course development in the area of Human Computer Interfacing (HCI). From the most recent set of devices, the Microsoft Surface offers a set of unique capabilities and challenges for teaching a HCI course. The natural trend of the device towards simultaneous interactions with multiple users as well as the ability to recognnize physical objects via byte tags offer fascinating teaching and laboratory experiences. In this paper, we will discuss our experiences in teaching a Surface-oriented course with regards to lecture and laboratory design. We will also offer insight with respect to student performance, student feedback, comparingn those aspects versus efforts with the Nintendo Wiimote with regards to programming difficulty. Finally, we will conclude with Figure 1 - Microsoft Surface (surface.com) suggestions for future course refinement. target audiences. The size, cost, and mechanisms for Index Terms – Microsoft Surface, Human Computer interaction (touch, byte tags, Surface API) represent a Interface, Course Development. sizeable departure from other gesture-based systems. It is these departures and their subsequent impact on a Human INTRODUCTION Computer Interface course that form the basis for this paper. In the past few years, there has been an explosion of portable In this paper, we describe what we believe to be the first of devices capable of responding to multi-touch input. While its kind in offering a course primarily dedicated towards the notion of touch as an interface is certainly not new to the teaching HCI on the Microsoft Surface.
    [Show full text]
  • Kunsela Hall Room B118
    Kunsela Hall Room B118 Mac Software Title Version AMD Accelerated Video Transcoding 12.5.100.20704 AMD APP SDK Runtime 10.0.937.2 AMD Catalyst Install Manager 8.0.877.0 AMD Drag and Drop Transcoding 2.00.0000 AMD Media Foundation Decoders 1.0.70704.0230 Apple Application Support 2.3 Apple Software Update 2.1.3.127 Audacity 2.0.2 2.0.2 Auslogics Disk Defrag 3.5 Boot Camp Services 3.3.2921 Bootstrapper 1.1.2.0 Catalyst Control Center ‐ Branding 1.00.0000 Catalyst Control Center Graphics Preview ... 2012.0704.122.388 Catalyst Control Center InstallProxy 2012.0704.122.388 Catalyst Control Center Localization All 2012.0704.122.388 Catalyst Pro Control Center 2012.0704.122.388 CCC Help Chinese Standard 2012.0704.0121.388 CCC Help Chinese Traditional 2012.0704.0121.388 CCC Help Czech 2012.0704.0121.388 CCC Help Danish 2012.0704.0121.388 CCC Help Dutch 2012.0704.0121.388 CCC Help English 2012.0704.0121.388 CCC Help Finnish 2012.0704.0121.388 CCC Help French 2012.0704.0121.388 CCC Help German 2012.0704.0121.388 CCC Help Greek 2012.0704.0121.388 CCC Help Hungarian 2012.0704.0121.388 CCC Help Italian 2012.0704.0121.388 CCC Help Japanese 2012.0704.0121.388 CCC Help Korean 2012.0704.0121.388 CCC Help Norwegian 2012.0704.0121.388 CCC Help Polish 2012.0704.0121.388 CCC Help Portuguese 2012.0704.0121.388 CCC Help Russian 2012.0704.0121.388 CCC Help Spanish 2012.0704.0121.388 CCC Help Swedish 2012.0704.0121.388 Kunsela Hall Room B118 Mac Software Title Version CCC Help Thai 2012.0704.0121.388 CCC Help Turkish 2012.0704.0121.388 ccc‐utility 2012.0704.122.388 CCleaner 3.09 Cisco NAC Agent 4.9.1.13 Citrix online plug‐in ‐ web 12.1.44.1 Citrix online plug‐in (DV) 12.1.44.1 Citrix online plug‐in (HDX) 12.1.44.1 Citrix online plug‐in (USB) 12.1.44.1 Citrix online plug‐in (Web) 12.1.44.1 Construct 2 r139 1.0.139.0 Crystal Reports for Visual Studio 12.51.0.240 Dotfuscator Software Services ‐ Communit ..
    [Show full text]
  • Getting Started with XNA Install XNA Step 1) Download and Install .NET
    Getting Started with XNA Install XNA Step 1) Download and install .NET framework 2.0 Redistributable (if you don’t already have it) : 32‐bit: http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB‐4362‐4B0D‐8EDD‐ AAB15C5E04F5&displaylang=en 64‐bit: http://www.microsoft.com/downloads/details.aspx?FamilyID=B44A0000‐ACF8‐4FA1‐AFFB‐ 40E78D788B00&displaylang=en Step 2) Download and install DirectX 9.0c (if you don’t already have it): https://www.microsoft.com/downloads/details.aspx?familyid=9226a611‐62fe‐4f61‐aba1‐ 914185249413&displaylang=en Step 3) Download and install Visual C# Express edition: http://msdn2.microsoft.com/en‐us/express/aa700756.aspx You’ll need to “register” the application but it’s still completely free. Step 4) Download and install XNA Game Studio 1.0 Refresh: http://msdn2.microsoft.com/en‐us/xna/aa937795.aspx Create Your First XNA Game Project! Step 1) Start C# Express edition Step 2) Click File‐>New‐>Project Select Windows Game or Xbox 360 Game Name your project whatever you like. Windows Game Projects and Xbox 360 Game projects contain exactly the same code. The difference is how you will run your application, whether you send it to the 360 to run it there (using Microsoft creator’s club) or you run it locally on your windows machine. Step 3) Run your very first XNA game! Press f5 on your keyboard, click the little green triangle run button on the top bar of the program, or click Debug ‐> Start Debugging Woohoo!!! Blue screen! That’s all there is to making a game in XNA, this gives us a solid base to make a full game.
    [Show full text]