Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology."— Presentation transcript:

1 Joe Cohen http://compsci.snc.edu/cs460/cohejr

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

3 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

4 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

5

6 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

7 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

8

9 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

10 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

11 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

12 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

13 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

14

15 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

16 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

17  Video demonstration

18 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

19 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

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

21 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

22 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

23 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

24 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

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

26  Live demo  Questions ?


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

Similar presentations


Ads by Google