Pages by Andreas B. M. Hofmeier
PDF Version LaTeX SRC
Entire Project and Appendices
|Course:||Computer Systems and Networks (2388),|
|3 Year, BEng, FT|
The proposed project is aimed to develop the software tool for the remote
control of robots on the Internet
Robots become more and more important because the technical progress allows economic and useful applications. Controlling robots over short distances with cable or wireless is not longer a problem, but more often robots need to be controlled far away. For example a robot as security guard or a pizza-robot is operating at home while controlled from the office. For this demand a public communication network has to be used.
One of the most flexible and economical possibilities is the Internet which works packet-oriented. All data has to be fragmented before it can be transfered. The transfer-process within the Internet can be compared with the postal service (Ball et al. 1999). “The packet should be there within two days” is a possible answer if the post clerk is asked how long the packet takes. This little word “should” is the problem. It should, but there is no guarantee. If many packets are handed in, it may take a week to deliver the packet. The Internet has the same problem even if a packet does not need a week, it cannot be predicted how long a packet takes to be delivered. Because of this random time delay the Internet has limits to which it can provide a platform to control robots (Elhaji et al. 2000).
Within this project the feasibility of remote control of robots over the Internet will be studied and a software platform on GNU Linux which provides this possibility will be delivered.
After the possibilities of the Internet are known the structure of a system which uses these will be designed. The main part of the system will be the library which is the software platform. For demonstrating and testing purposes it is necessary to develop a user interface (UI) which allows the user to control a robot. In one case the robot is a simulation and in the other case a real robot. It is necessary to develop an interface to the real robot and a simulator. These four parts has to be assembled together.
The description of the project is following, and follows this layout: Section 2, 3 and 4 define the aim, the objectives and the deliverables of the project. In the next two sections the requirements and the way for achieving the defined targets are discussed. The actual progress of the project is mentioned in section 7. In the last section the project plan is listed in form of an action plan and a Gantt-chart.
The aim of the project is to develop a software platform on GNU Linux systems (in the form of a library) for the communication between a server and robots to realise remote control of robots over the Internet. The communication between robots is allowed as well.
The most important resource which is necessary to meet the project aims is time. According the unit guide at least 300 hours have to be spent on the project work. That are approximately 11 hours a week without Christmas and Easter. At least this time will be spent for project work.
The second thing is access to a computer and the Internet. Computer are essential in this project because the project outcome is a peace of software and has to run on a computer. A computer will be used for developing and testing the software and is also necessary for using the Internet which is indispensable to getting information and testing the system. Computer and Internet access are available in the Learning Resource Centre.
One Part of this project is to show the function of the system with a real robot. This robot is located in the laboratory T411 at the LSBU. For this reason access to this laboratory is necessary.
Another important source of information are books and journals which are located in a library, for example. The necessary access is possible in the Perry Library of the LSBU.
The assigned supervisor has to be present to supervise the project.
The Library provides the communication tools to the robot and server control program. A command from a user goes the following way:
A user gives a command to the server control program on the user interface. The server control program evaluates the command and sends it throw the IP network (the Internet) by the functions in the Network Library. The Network Library on the robot’s side receives the command and hands it over to the robot control program. The robot control program evaluates the command again and drives the robot.
This communication has to be bidirectional because it has to be possible to get data from the robot. This is important to get the acknowledgement for a command, get knowledge of the environment of the robot and to monitor the robot (for example, to know what the robot is doing now; energy repertoire and consumption).
All phases that are mentioned (marked as bold) in the text bellow are referring to the Gantt-chart and action plan in section Project Planning on page 17.
The project can only start after the aims and objectives are established. This was done in the Clearing Project Aim/Objectives-phase.
At first a Feasibility Study about how usable the Internet is for controlling robots has to be done. After this part of the project it has to be clear under which conditions the Internet can be used for real-time application.
After the Feasibility Study is carried out the Design Structure-phase begins. In this phase the design of the system has to be worked out. The design covers the internal design of the library and the design of the whole system (interaction between all parts: Library, UI, simulator and the real robot). Furthermore it has to be decided which protocol is used and which version of the Internet protocol (IP) is preferred. A choice has to be made among Transmission Control Protocol (TCP) streams, User Datagram Protocol (UDP), or an own protocol based on IP.
The Literature Search is carried out simultaneous to the Feasibility Study and the Design Structure because it is necessary to take other people’s work into account.
Interface to Robot: In this part of the project an interface to the real robot is established. The aim of this part is to take control over of a robot. This is necessary for further stages of the project (Interface between Robot and Library) to demonstrate the system on the real robot. The library has to interact with the robot therefore this part is performed in an early stage of the project. All information gathered in this stage can help to ensure the match between the robot and the library.
When the structure of the system is figured out the library will be developed within the Build Library-phase. The documentation about the library has to be written simultaneous in the Write Documentation (Library)-phase. The last week of the documentation-phase is reserved for reviews.
After a basic version of the library is developed, the Build User Interface and the Build Robot Simulator-phase begins. During the development of the user interface and the simulator it is possible to find weaknesses of the system. Therefore these four stages are carried out simultaneously. The simulator is a simple model of the robot and is used to help develop and test the library. The user interface will be used to send commands to the robot or the simulator.
The documentation of the user interface and the simulator has to be written. This will be done within the Write Documentation (UI/Simulator)-phase of the project. The last week of this phase is reserved for reviews.
At the end of the project the Interface to the Robot will be completed to the Interface between the Robot and the Library. This phase is called Interface between Robot and Library. After this phase it will be possible to control the robot over the Internet by using the library developed before. This will be demonstrated.
All reports will be completed and handed in by their deadline. There are project-phases to write the reports before the deadline. The Interim Report was written in the completed Interim Report-phase.
The Final Report will be written during the whole project in the Final Report-phase because this report has to show the process of the project. Work on the Final Report will start after the Feedback on Interim Report is given.
Within the Prepare Presentation-phase the presentation will be prepared.
Addison, D. (2001) Embedded Linux applications: An overview [Online] Available at http://www-106.ibm.com/developerworks/linux/library/l-embl.html (accessed 20 September 2004)
Ball, P.; Farnham, J; Iraca, S. (1999) Transmission Control Protocol/Internet Protocol TCP/IP [Online] Available at http://cne.gmu.edu/itcore/internet/tcpip/ tcpip.html (accessed 29 October 2004)
British Standard (1992) Industrial robots – Part 6: Recommendations for safety; BS
7228-6:1992; EN 775:1992; ISO 10218:1992 [Online] Available at
http://bsonline.techindex.co.uk/ (accessed 28 October 2004)
Elhaji, I.; Tan, J.; Xi, N.; Fung, W.K.; Liu, Y.H.; Kaga, T.; Hasegawa, Y.; Fukuda, T. (2000) Multi-site Internet-based cooperative control of robotic operations. Proceedings 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2, 31 Oct - 5 Nov 2000 p826-831 [Online] Available at http://0-ieeexplore.ieee.org.lispac.lsbu.ac.uk/iel5/7177/19309/00893121.pdf (accessed 20 October 2004)
Mitchell M.; Oldham J.; Samuel A. (2001) Advanced Linux Programming, New Riders Publishing [Online] Available at http://docs.linux.cz/programming/ other/ALP/advanced-linux-programming.pdf (accessed 20 September 2004)
|B||Final Report||15||Feedback A|
|C||Clearing Project Aim/Objectives||5||-|
|G||Interface to Robot||4||C|
|J||Write Documentation (Library)||9||(I)|
|K||Build User Interface||7||(I)|
|L||Build Robot Simulator||7||(I)|
|M||Write Documentation (UI/Simulator)||5||(K),(L)|
|N||Interface between Robot and Library||3||G,(M)|
The weekly working time and effort is shared by overlapping tasks. For example the effort to write the final report will start at a lower level and increases during the project. On the other hand the effort on developing the library is decreasing. The main work will be done in the first three weeks. The last five weeks are planed for little changes to fit the library, the UI and the simulator together.
The holiday periods are not included in the calculation. It is planned to do all project work within the lecture time. The holidays are scheduled as a reserve in case that the project-work takes longer than expected.