Description
Recent improvements to the World Wide Web and wireless technologies have led to a plethora of ideas and concepts that either improve upon existing implementations or are original altogether. In this thesis, we propose a novel approach for an overall telerobotic system for controlling the iRobot Create® mobile robot that will enhance a user's experience by being intuitive to use, ergonomically friendly, accessible, portable and scalable. This novel concept involves the creation of Robajax; a Web application built using an AJAX methodology. Previous applications for telerobotic control were PC based applications that had to be installed as a monolithic desktop application. Telerobotic control involves a series of mouse clicks to direct a robot's trajectory. The Robajax Web User Interface, being a Web application, renders local installation unnecessary, as the Robajax Web User Interface is accessible to anyone over an Internet connection. Mouse clicking to direct the robot to move is not needed as the user interface tracks mouse movement in a circular widget to direct motion. Thus, users can easily control the iRobot Create through obstacles for an extended period of time without witnessing hand fatigue, making the Robajax Web User Interface more ergonomically friendly when compared to a PC application counterpart. This overall system uses DHCP to acquire a dynamic IP address for the iRobot. A dynamic IP address allows this system to be portable across different wireless networks because the iRobot can be placed on any wireless network, including wireless free-Wi-Fi hotspots, and still connect to the Robajax Web Application Gateway. Scalability is solved by using the Robajax Web Application Gateway Web Service. The Robajax Web Application Gateway maintains a one-to-many TCP session relationship with the Web browsers of remote users and a one-to-one session relationship between the iRobot and the Web Application Gateway. The purpose of restricting the number of sessions over the WLAN to a single session is to prevent the streaming of redundant video to multiple parties, thus allowing the wireless channel to carry a single video stream to the gateway with the highest possible frame rate or lowest possible quantization value, depending on the available wireless data rate. Using this design approach, the Robajax Web User Interface we have developed is scalable, portable, accessible and ergonomically friendly. Design details regarding the use of AJAX, multithreaded SOAP-based Web Services, and algorithms used to prevent deadlock conditions in Web-based telerobotic control are presented.