Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology.

Slides:



Advertisements
Similar presentations
Robot Convoy Anees Elhammali Michael Malluck John Parsons Namrata Sopory.
Advertisements

Click to continue Network Protocols. Click to continue Networking Protocols A protocol defines the rules of procedures, which computers must obey when.
CIMCO Integration Software Products
EEE436 / CS422 Final Presentation Group
TURTLEBOT ROBOTIC GUIDE. Project Description Teach a robot to guide a person to a predefined destination. General requirements: 1. Use a Turtlebot as.
Active Server Pages, Script & the Web Cam By: Shara Rell CS 460: Senior Capstone Experience in CS Dr. David Pankratz May 8, 2001.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Computer Science 10/06/20151 iRobot Create Command Interface CPSC /CPSC Rob Kremer Department of Computer Science University of Calgary.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CSCI 4550/8556 Computer Networks Comer, Chapter 3: Network Programming and Applications.
1 2. Controlling Robot Car in Ogre References: 1. LEGO.com MINDSTORMS NXT Home, 2. OGRE 3D, 3. MSDN,
The Alix.1c microcontroller on board the vehicle runs Fluxbuntu Linux and is connected to a g wireless card and a USB web camera. A background process.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Portable Image File Viewer ENEE 408G: Multimedia Signal Processing Seun Fabayo John Glancy Gordon Krauthamer.
Senior Project Design Review Remote Visual Surveillance Vehicle (RVSV) Manoj Bhambwani Tameka Thomas.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Remote Surveillance Vehicle Design Review By: Bill Burgdorf Tom Fisher Eleni Binopolus-Rumayor.
Twitch Plays ECE477 ECE 477 Design Review Team 1 − Spring 2015 Hannan Harlan Root Tornquist.
Implementing RADIUS AAA Phil & Rick. Content Terms and Concepts Access Control What is AAA? Benefits of AAA What is RADIUS? Microsoft IAS Overview Installation.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Chapter Introduction to Computers and Programming 1.
INTRODUCTION TO WEB DATABASE PROGRAMMING
By: Joel Rodriguez.  International student from Mexico  Delicias, Chihuahua Mexico  Spanish  Sports and Music.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Agenda  Terminal Handling in Unix File Descriptors Opening/Assigning & Closing Sockets Types of Sockets – Internal(Local) vs. Network(Internet) Programming.
ROM Read Only Memory “…computer memory on which data has been prerecorded. Once data has been written onto a ROM chip, it cannot be removed and can only.
iRobot Create Introduction Assembled from various online resources
Getting to Know TiVo: The Home Media Engine (HME SDK) Eric M. Upchurch CS 525 Spring 2008.
Ruslan Masinjila Aida Militaru.  Nature of the Problem  Our Solution: The Roaming Security Robot  Functionalities  General System View  System Design.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Enabling Embedded Systems to access Internet Resources.
NETWORKING PRACTICAL EXAMPLE. REQUIRED HARDWARE BASICS Network Interface Card Ethernet Cable Client Server.
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
Introduction to Interprocess communication SE-2811 Dr. Mark L. Hornick 1.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
Motoring a Web Cam By Kevin Papreck. Definition & Requirements I had to develop a two-axis web cam that can be controlled over the internet. Along with.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Vassil Roussev 2 A socket is the basic remote communication abstraction provided by the OS to processes. controlled by operating system.
Data Streams David Meredith Source Chapter 19 of – Shiffman, D. (2008). Learning Processing. Morgan Kaufmann, Burlington, MA. ISBN:

CS 8903 Demo Wireless Interface for the Bioloid Robot Chetna Kaur.
Computer Emergency Notification System (CENS)
CCNA 3 Week 4 Switching Concepts. Copyright © 2005 University of Bolton Introduction Lan design has moved away from using shared media, hubs and repeaters.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology.
© Lethbridge/Laganière 2005 Chap. 3: Basing Development on Reusable Technology The Client-Server Architecture A distributed system is a system in.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
A remote control robot with webcam. Responsibilities User Interface Communicate with server Webcam Display Server Web Server Collaborators Work: Harkins.
X-WindowsP.K.K.Thambi The X Window System Module 5.
James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Networks Am I hooked up?. Networks definition sizes of networks types advantages and disadvantages how data is sent transmission media business uses.
Laboratory 2 Group 19 The Group of Destiny. User Interface - Debugging Objectives:  Display: Sensor data (telemetry) – including IR sensors, status of.
See3PO - A Visually Capable Path Finding Robot See3PO Frank Marino, Nick Wang, Jacky Yu, Hao Wu and Debarati Basu Department of Computer Science University.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
Quizzes by Clickers David Dahlquist. Definition and Requirements Project Description: Develop a system where students respond to questions using clickers.
SEMINAR ON “ REMOTE CONTROLLING OF TECHNICAL SYSTEMS USING MOBILE DEVICES”
A Local Area Network Chat Client ITTC LAN CHAT John Vincent Cecogo Jerikho Daguno Ardee Santos Elaine Mendoza Anjomar Pat Del Mindo Philip John Sales Philip.
1 Network Communications A Brief Introduction. 2 Network Communications.
1 UNIT 13 The World Wide Web. Introduction 2 The World Wide Web: ▫ Commonly referred to as WWW or the Web. ▫ Is a service on the Internet. It consists.
John Rappel. Description  Demonstrate advanced control of the iRobot Create  Use light sensors to guide the robot to a light source  Read bump sensors.
UDP: User Datagram Protocol. What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host – treats a computer as an.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Depth Analysis With Stereo Cameras
Technology Literacy Hardware.
Subject Name: Computer Communication Networks Subject Code: 10EC71
How Data Flows through the Internet
Sasha Popov November 16, 2018 iRobot Create.
Presentation transcript:

Joe Cohen

Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology  Demonstration  Development process  Final remarks

Project Definition  Mount a laptop and webcam atop a robot (iRobot Create)  Develop an application to control the Create via the laptop  Develop two separate applications: Server: Run on laptop, take user input and control Create, capture webcam video and publish to client Client: Run on separate computer, have full user interface to control the Create, allow for the viewing of video feed

Project Definition  Connect the two applications via sockets  Develop psuedo-language to communicate between the two applications  Run the two applications over the same (wireless) router

Solution Process Create Control  Develop a VB application to control the Create robot  The language built into Create takes a set of codes and parameters to execute commands  Develop user interface for client application

Solution Process Create Control OperationCode# of Bytes Parameter Meaning Drive1374Velocity (2) Radius (2) Store Song140xNumber, Length, note 1, note 1 length, etc… Play Song1411Song Number Read Sensors1421Packet Number Wait1551Time to wait in 1/10 second Start OI1280 Safe Mode1310

Solution Process Pseudo-Language  Develop a pseudo-language to communicate between server and client applications  Client application takes user input, encodes and sends to server. Server decodes and executes command.  Data/Control socket uses numerical codes

Solution Process Pseudo-Language ActionCode Drive straight forward at ## speed value1## Drive straight backward at ## speed value0## Change direction0## or 1## Stop200 or 201 Turn300, 301, 302, 310, 311, 312 Reset Robot320

Solution Process Socket Connections  Sockets used to communicate between two computer/programs  Server application establishes socket and waits for client to connect to it  Connection made by IP address and port number

Solution Process Client/Server Application  Separate current application into client and server Client: Keep user interface, instead of calling Create control functions, encode and sent command over socket Server: Decode code and execute Create commands

Solution Process Wireless Network  Allow the applications to run over a wireless network rather than the internet  Benefits: Faster transmission of commands Wireless movement of robot Wider range

Solution Process Video Capture  Use Intel’s OpenCV camera library to initialize camera and capture frames  Once frames are located in memory a bitmap file is created  Using a memory dump the bitmap is displayed in a PictureBox on the screen

Solution Process Video Feed  Once the bitmap structure is built, it is sent down a second socket to the client application  The server constantly captures and displays the video but only sends to client when it is requested

 Video demonstration

Solution Process Keyboard Control  Incorporate another control method for the user via the keyboard  Allows for basic functionality using the keyboard  Perhaps a better way to control the robot

Solution Process  Project easily broke into three parts  Develop separate solutions for each part and piece together to make final product  Robot control grouped into three functions: straight, stop, and turn

Solution Process Resources  iRobot Create Open Interface manual  Previous projects by John Moss, and Bryan Jorgensen & Adam Ziegler  Internet development forums  All CS faculty

Solution Process CS Courses & Concepts  Operating systems – COM Ports, sockets, numerical conversions  Databases – VB 6 user interface development  Event Programming – Structure and flow of windows applications

Solution Process Shortcomings  Populate COM ports on server connection form based on active COM ports  Allow for resizing of the video input window  Create respond to sensor events

Solution Process Future Extensions  Improve on shortcomings  Improve user interface and application feedback  Wireless camera and Create control  Incorporate video algorithms: motion tracking, object detection, etc.  Possibly integrate into.Net framework for further development

Solution Process Advice to Future Seniors  Work early, and work often  BACKUPS!  Divide and conquer approach, don’t get hung up on one part  Ask for help and meet with as many people as possible  Define project early and voice possible frustrations  Develop passion for project

Thank you…  All CS professors  Other CS seniors  My father and the other fine employees at Manitowoc Ice  Bryan Jorgensen & Adam Ziegler  Paul Deibele

 Live demo  Questions ?