Download - Teleoperacion Mobil de Un Robot Mobil
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
1/109
Lappeenranta University Of TechnologyFaculty of Technology Management
Department of Information Technology
Masters Thesis
Ehab Aboudaya
Mobile Teleoperation of a Mobile Robot
Examiners: Professor Ville KyrkiProfessor Heikki Klviinen
Supervisor: Professor Ville Kyrki
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
2/109
ABSTRACT
Lappeenranta University of TechnologyFaculty of Technology ManagementDepartment of Information Technology
Ehab Aboudaya
Mobile Teleoperation of a Mobile Robot
Thesis for the Degree of Master of Science in Technology
2010
109 pages, 67 gures and 8 tables.
Examiners: Professor Ville KyrkiProfessor Heikki Klviinen
Keywords: Mobile Teleoperation, Mobile Devices, Nokia N770, Maemo 2.2, ARIA,Graphical User Interface.
This thesis describes the design and implementation of a graphical application on amobile device to teleoperate a mobile robot. The department of information tech-nology in Lappeenranta University conducts research in robotics, and the main mo-tivation was to extend the available teleoperation applications for mobile devices.
The challenge was to port existing robot software library onto an embedded de-vice platform, then develop a suitable user interface application that provides suf-cient functionality to perform teleoperation tasks over a wireless communicationnetwork.
This thesis involved investigating previous teleoperation applications and conductedsimilar experiments to test and evaluate the designed application for functional ac-tivity and measure performance on a mobile device which have been identied andachieved.
The implemented solution offered good results for navigation purposes particularlyfor teleoperating a visible robot and suggests solutions for exploration when noenvironment map for the operator is present.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
3/109
PREFACE
It has been a long experience preparing this project, working and studying does notalways meet but I thank Allah, then all my family back home in Libya for theirsupport and my wife Gamira for living this experience with me.
I wish to thank my supervisor for his patience and guidance, Mr Janne Laaksonenfor his lab help and time spent testing this project with me. I also would like towarmly thank Ms Susanna Koponen for her assistance and rescue in ofcial matters.
I hope this material can be useful for someone in the near future.
Tampere, September 1st, 2010
Ehab Aboudaya
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
4/109
4
Contents
1 INTRODUCTION 15
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Objective and Scope . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Structure of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 FUNDAMENTAL CONCEPTS 17
2.1 Mobile Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Teleoperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Mobile Teleoperation . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Mobile Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Data Communication . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6 Graphical User Interfaces . . . . . . . . . . . . . . . . . . . . . . . 28
3 RELATED WORK 31
3.1 Stationary Teleoperation . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.1 Desktop Client Interfaces . . . . . . . . . . . . . . . . . . . 34
3.1.2 Web-Based Interfaces . . . . . . . . . . . . . . . . . . . . 38
3.2 Mobile Teleoperation . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 REQUIREMENTS AND SPECIFICATION 61
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
5/109
5
4.1 Overall Description . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . 61
4.3 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.6 Teleoperating Environment . . . . . . . . . . . . . . . . . . . . . . 63
4.7 Dependencies and Scope . . . . . . . . . . . . . . . . . . . . . . . 64
4.8 Design and Implementation Constraints . . . . . . . . . . . . . . . 66
4.9 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.9.1 Connection Settings . . . . . . . . . . . . . . . . . . . . . 69
4.9.2 Connect To ARIA Server . . . . . . . . . . . . . . . . . . . 70
4.9.3 Disconnect from ARIA Server . . . . . . . . . . . . . . . . 71
4.9.4 Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.9.5 Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.9.6 Get Image . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.9.7 Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.9.8 Get Robot Status . . . . . . . . . . . . . . . . . . . . . . . 77
4.9.9 Get Environment Map . . . . . . . . . . . . . . . . . . . . 78
4.10 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . . 79
4.10.1 Performance and Quality Requirements . . . . . . . . . . . 79
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
6/109
6
4.10.2 Safety Requirements . . . . . . . . . . . . . . . . . . . . . 80
5 IMPLEMENTATION 81
5.1 UI Wire Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.3 Architectural Design . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4 Class Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.5 Sequence Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.6 Teleoperation Command Buttons . . . . . . . . . . . . . . . . . . . 91
5.7 Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.8 Interface Screen Shots . . . . . . . . . . . . . . . . . . . . . . . . 93
5.8.1 RTMU Startup and Idle State . . . . . . . . . . . . . . . . . 93
5.8.2 RTMU Menu And Settings Dialog . . . . . . . . . . . . . . 93
5.8.3 Teleoperation With Environment Map . . . . . . . . . . . . 94
5.8.4 Teleoperation With No Map . . . . . . . . . . . . . . . . . 94
5.8.5 RTMU Hidden Toolbar . . . . . . . . . . . . . . . . . . . . 95
5.8.6 RTMU Ratio Increase / Decrease Indicator . . . . . . . . . 95
5.8.7 RTMU Robot Image Feedback . . . . . . . . . . . . . . . . 96
5.9 Installation and Help system . . . . . . . . . . . . . . . . . . . . . 96
6 TESTS AND RESULTS 97
6.1 Functional Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 97
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
7/109
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
8/109
8
List of Figures
1 Pioneer 3-DX Mobile Robot . . . . . . . . . . . . . . . . . . . . . 17
2 Typical ARIA application structure . . . . . . . . . . . . . . . . . . 19
3 Human operator for mobile robots . . . . . . . . . . . . . . . . . . 20
4 Teleoperation system architecture sample . . . . . . . . . . . . . . 21
5 Remote driving with PdaDriver . . . . . . . . . . . . . . . . . . . . 22
6 Maemo N770, 2005 Nokia . . . . . . . . . . . . . . . . . . . . . . 24
7 Maemo platform Key Components . . . . . . . . . . . . . . . . . . 24
8 Minimum WLAN setup for intended teleoperation communication. . 26
9 Sample of WLAN connectivity conguration on the N770. . . . . . 27
10 MSC for client/server communication . . . . . . . . . . . . . . . . 27
11 Different dialog GUI but same functionality . . . . . . . . . . . . . 28
12 MaemoPad GUI application . . . . . . . . . . . . . . . . . . . . . 29
13 MVC Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
14 Novel UI for 3D map Exploration . . . . . . . . . . . . . . . . . . 31
15 Virtual joystick gestures . . . . . . . . . . . . . . . . . . . . . . . 32
16 Fixed Location Operator Teleoperation . . . . . . . . . . . . . . . . 33
17 RobotUI Desktop client UI . . . . . . . . . . . . . . . . . . . . . . 34
18 RobotUI, GUI Architecture . . . . . . . . . . . . . . . . . . . . . . 35
19 The Advantage of Mobility - Desktop GUI design . . . . . . . . . . 36
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
9/109
9
20 KhepOnTheWeb Web Interface . . . . . . . . . . . . . . . . . . . . 38
21 WebDriver system architecture . . . . . . . . . . . . . . . . . . . . 39
22 WebDriver user interface . . . . . . . . . . . . . . . . . . . . . . . 40
23 WebDriver map sample . . . . . . . . . . . . . . . . . . . . . . . . 40
24 WebDriver ImageManager . . . . . . . . . . . . . . . . . . . . . . 41
25 SWATS - Web Services Teleoperation . . . . . . . . . . . . . . . . 42
26 Java Based Teleoperation System . . . . . . . . . . . . . . . . . . . 43
27 Java Based Teleoperation Web UI . . . . . . . . . . . . . . . . . . 43
28 Finger gesture interface . . . . . . . . . . . . . . . . . . . . . . . . 45
29 PdaDriver: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
30 PdaDriver System Architecture . . . . . . . . . . . . . . . . . . . . 46
31 PdaDriver Screen modes . . . . . . . . . . . . . . . . . . . . . . . 48
32 PdaDriver Vision Screen . . . . . . . . . . . . . . . . . . . . . . . 49
33 PdaDriver Sensor Modes . . . . . . . . . . . . . . . . . . . . . . . 49
34 PdaDriver Combined Screen Mode . . . . . . . . . . . . . . . . . . 50
35 The Advantage of Mobility - PDA Interface . . . . . . . . . . . . . 52
36 The Advantage of Mobility - Simulated map teleoperation . . . . . 53
37 The Advantage of Mobility - Visibility of Robot . . . . . . . . . . . 54
38 The Advantage of Mobility - PDA and Desktop covered area . . . . 55
39 The Advantage of Mobility -Mean and Standard Deviation Visibil-ity Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
10/109
10
40 Teleoperation Common Tasks and UI elements. . . . . . . . . . . . 58
41 RTMU overall system entities. . . . . . . . . . . . . . . . . . . . . 61
42 P3DX with laptop . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
43 Teleoperating Environment Map . . . . . . . . . . . . . . . . . . . 64
44 Screen shot of MobileSim robot simulator. . . . . . . . . . . . . . . 65
45 Operator manages robot hardware and ARIA server software. . . . . 67
46 RTMU application use cases. . . . . . . . . . . . . . . . . . . . . . 68
47 RTMU Command Use Case Sequence Diagram. . . . . . . . . . . . 73
48 Hildon Application Views . . . . . . . . . . . . . . . . . . . . . . 82
49 Single Toolbar, 360 or 420 pixels . . . . . . . . . . . . . . . . . . . 82
50 RTMU Menu Items. . . . . . . . . . . . . . . . . . . . . . . . . . . 83
51 RTMU Settings Dialog. . . . . . . . . . . . . . . . . . . . . . . . . 83
52 RTMU Auxiliarly Popups . . . . . . . . . . . . . . . . . . . . . . 84
53 RTMU Deployment Diagram. . . . . . . . . . . . . . . . . . . . . 85
54 RTMU Class View. . . . . . . . . . . . . . . . . . . . . . . . . . . 86
55 Connect SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
56 Move or Stop Command . . . . . . . . . . . . . . . . . . . . . . . 89
57 Request Robot Image . . . . . . . . . . . . . . . . . . . . . . . . . 90
58 RTMU Startup and Idle State . . . . . . . . . . . . . . . . . . . . . 93
59 Menu And Settings Dialog . . . . . . . . . . . . . . . . . . . . . . 93
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
11/109
11
60 Connected to ARIA Server with map . . . . . . . . . . . . . . . . . 94
61 Connected to ARIA server with no map . . . . . . . . . . . . . . . 94
62 RTMU connected to ARIA Server with map and hidden Toolbar. . . 95
63 RTMU connected to ARIA Server and velocity banner visible. . . . 95
64 RTMU connected to ARIA Server and Requested Image. . . . . . . 96
65 Teleoperation Test Arena . . . . . . . . . . . . . . . . . . . . . . . 99
66 Robot Home Position . . . . . . . . . . . . . . . . . . . . . . . . . 99
67 Robot Goal Position . . . . . . . . . . . . . . . . . . . . . . . . . . 100
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
12/109
12
List of Tables
1 PDA-Based Human-Robotic trail and task times . . . . . . . . . . . 51
2 PDA-Based Human-Robotic goal achievement . . . . . . . . . . . . 51
3 PDA-Based Human-Robotic Best Performance . . . . . . . . . . . 56
4 Advantages and Disadvantages of teleoperation using mobile devices. 57
5 Recommendations for Mobile Teleoperation and GUI Components. 60
6 RTMU Class Descriptions. . . . . . . . . . . . . . . . . . . . . . . 87
7 RTMU physical Nokia N770 command buttons . . . . . . . . . . . 91
8 Functional Testing Results . . . . . . . . . . . . . . . . . . . . . . 98
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
13/109
13
List of Abbreviations
AI Articial intelligence
ARIA Advanced Robot Interface for Applications
ARMEL Advanced RISC Machine, RISC architecture distribution
CCD charge-coupled device
DLL Dynamic-link library
GPS Global Positioning System
GUI Graphical User Interface
HTML HyperText Markup Language
HW Hardware
IO Input Output
IT Information Technology
JPEG Joint Photographic Experts Group
LAN Local Area Network
LUT Lappeenranta University of Technicology
MSC Message Sequence Chart
MVC Model View Controller
OS Operating SystemP3-DX Pioneer 3-DX
PC Personal Computer
PDA Personal Digital Assistant
RTMU Robot Teleoperation Maemo User Interface
SA Situational Awareness
SD Sequence Diagrams
SDK Software Development Kit
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
14/109
14
SW Software
TCP Transmission Control Protocol
UI User Interface
USB Universal Serial Bus
WLAN Wireless Local Area Network
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
15/109
15
1 INTRODUCTION
1.1 Background
In major industry elds such as oil production, power plants and health sectors tele-operation is practiced regularly. This practice typically involves a human operatorusing a specic interface to carry out tasks on remote locations, the distance be-tween the human operator and remote machine can vary and can stretch as far asanother plant.
The interface is expected to provide sufcient controls and enough feedback infor-mation to the operator in order to complete the assigned task efciently, and byadding autonomous features on remote machines like a mechanism to avoid obsta-cles or use solar power if present etc .. it will enhance the teleoperation experiencebut the main research topic remains the human operator interface.
With current technology advances in wireless communication and mobile devices itis benecial to research the possibility of utilizing those components for teleopera-
tion applications. In addition to the importance of the topic, the Department of In-formation Technology in Lappeenranta University Of Technology robotic researchis active and encourages development in this area.
1.2 Objective and Scope
The objective of this thesis is to design and implement a graphical application ona mobile device to wirelessly teleoperate a mobile robot. The application interfacemust be able to perform the following tasks in real time:
Connect and disconnect to/from the remote robot.
Display the robots environment map and plot its locations.
Move the robot in four directions forward, backward, left and right.
Display robot feedback information.
Request and display an image from the robots mounted camera.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
16/109
16
The application will be developed on the Nokia N770 mobile device and use thePioneer P3-DX as the robot hardware, those can be requested and borrowed from
the IT departments laboratory. In the next chapter and in chapter 4 more applicationrelated details are specied.
1.3 Structure of the thesis
This thesis contains 8 chapters:
Chapter 2 presents fundamental concepts by discussing briey teleoperation andmobile device platforms, WLAN ( Wireless Local Area network ), software imple-mentation practices, then concludes with a section for GUI interfaces on mobiledevices. Chapter 3 discusses previous studies on similar topic and concludes with ageneral list of desired functionalities that will be considered in thesis project work.
In Chapter 4 requirements are identied and use cases are described where such in-formation is used as a bases for the project development phase. Chapter 5 explainsarchitecture and implementation design including GUI design proposal. Then onChapter 6 the implementation is tested with functional and teleoperation experi-ments, remaining sections shows results and discusses result ndings. Chapter 7concludes the study outcome with some experiences and nally suggests possiblefurther work. Chapter 8 is reserved for references.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
17/109
17
2 FUNDAMENTAL CONCEPTS
2.1 Mobile Robots
A mobile robot is a machine that has the ability to move within an environment andcan perform certain operations to accomplish a specic task. Research in this eldbegan after the introduction of radio communication where the rst master-slavemanipulator appeared in 1948 by Ray Goertz, U.S. Atomic Energy Commission.
Mobile robots may be classied according to the following features [ 1]:
Environmental usage on land, aerial or underwater robots.
Locomotive devices with legs, on tracks or using wheels for movement.
A popular mobile robot produced by MobileRobots Inc. shown in Fig. 1 is used foracademic purposes, this particular model is useful for research elds that involve
mapping, teleoperation and robot localization studies [ 2].
Figure 1 . Pioneer 3-DX Mobile Robot [ 3].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
18/109
18
The hardware specication can be summarized in the following list [ 2] :
Weight 9kg, Payload 25kg; Dimensions: Length 45cm, Width 40cm, Height24cm.
Run time with on board PC 3-4 hrs, using 12V batteries with recharge timeof 6 hrs.
Mobility wheels consists of 2 foam-lled wheels and 1 rear caster for balance.
Max speeds of 1.6 meters per second, Translate in 1,400 mm/sec, rotate of
300 deg/sec. Sensors on front and back using ultrasonic sonars and 500-tick wheel en-
coders.
Controls and Ports through Serial, Auxiliaries, Motors and Microcontrollerand joydrive.
This thesis mobile robot hardware will be based on the P3-DX (Pioneer 3-DX)model and extensive work is applied using ARIA (Advanced Robot Interface forApplications) software library. ARIA comes with every MobileRobots product, itis an open-source software development kit based on C++ programming language.
Developing robot application with ARIA is a straight forward practice due to itsclient/server methodology, in Fig. 2 the main classes infrastructure are illustrated.In addition to a supported simulator that matches the same functional behaviour asthe real robot hardware.
The IT department of LUT ( Lappeenranta University of Technicology) providesthe robot hardware and robot server software used for this thesis project, thus focusand objectives are related to the client end of teleoperation.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
19/109
19
Figure 2 . Typical ARIA application structure [4].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
20/109
20
2.2 Teleoperation
Teleoperation indicates operation of a machine at a distance [ 5], and it is mostlyassociated with mobile robots performing a certain task. If such a device has theability to perform autonomous work, it is called a telerobot [ 6].
Teleoperation systems can be considered as a master/slave relationship where a hu-man operator executes a task from a remote environment simplied in Fig. 3.
Figure 3 . Human operator for mobile robots [ 7].
Teleoperation systems can be composed of a basic textual input/output terminalconnected with a joystick for robot navigation. The success factor depends highly
on their control system, additional environment feedback information enhances theoperators decision making, therefore interface research is necessary.
Safe navigation can be realized using haptic interfaces. A study [ 8] for measuringforce feedback information from a special haptic joystick resulted in less obstaclecollisions. The joystick was used to control velocity of a minirover by applyingforce and pressure. In addition to other sensory calculations it demonstrated betternavigation and improved remote control performances results.
Another example of a haptic device is a touch screen, where tactile feedback tech-nology creates the perception of pressing physical buttons [ 9] on the screen surface.Nokia corporation in 2005 released an internet tablet model N700 using similartechnology called Haptikos [ 10]. This particular model is an ideal candidate formobile teleoperation and was selected for this thesis mobile operator device. Whilerobots can operate autonomously an operator will require an intelligent interfaceless for control and more for monitoring and diagnosis [ 11].
Teleoperation systems share a common architecture design depicted in Fig. 4 andsimilarly most operator application interfaces are found to offer robot movementcontrols, execute a dened function e.g. pick up a box, including sending feedback
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
21/109
21
of specic environment data e.g. temperatures. While extensive studies on localiza-tion has been carried out, this thesis will focus on the designs of teleoperation user
interfaces.
Figure 4 . Teleoperation system architecture sample [ 12].
2.3 Mobile Teleoperation
Teleoperation is inherently remote and while xed location control centers can serve
the main purpose, developing a mobile system will increase SA (situational aware-ness) for the operator, offer easy deployment, eliminate installation costs, increaseoperation communication area, and by designing intuitive interface training time isreduced signicantly.
To address the need of mobility, handheld devices are used for the following advan-tages:
Portable, lightweight and affordable.
Easy to operate and extend.
Availability of haptic screen and keys designs.
Wireless communication ready.
Offer extra communication services such as GPS (Global Positioning Sys-tem).
Variety of operating systems and multitasking support.
Wide range of development platforms available.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
22/109
22
At the same time teleoperation on handheld devices may not be suitable for thattasks that require extensive computing calculations, wide screen display and large
memory usage, in addition to prolonged power usage.
In a study of mobile teleoperation [ 13] a PDA (Personal Digital Assistant) was usedfor remote driving a vehicle. The system was called PdaDriver and uses multiplecontrol modes to make vehicle teleoperation fast and efcient Fig. 5.
Figure 5 . Compaq iPAQ PocketPC and remote driving with PdaDriver [13].
Mobile handhelds are the most attractive devices for mobile teleoperation and in thenext section we will introduce the Nokia internet tablet N770.
2.4 Mobile Devices
Most mobile devices are closely related to wireless technology, cell phones are agood example of mobile devices. In this thesis we aim to teleoperate a mobile roboton a mobile device which should essentially meet the following criteria:
The teleoperating hardware is a mobile device or a smartphone.
The mobile device can run the P3-DX robot software library.
Wireless communicate network must be used between the mobile device androbot.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
23/109
23
C/C++ programming language will be the development language.
The mobile device should have appropriate screen size to display a map.
The mobile device battery power can support teleoperation for at least 15mins.
Hardware button keys on the mobile device provide good user control andshould be easily programmable on the mobile device.
The mobile device is available in markets and can be borrowed from the ITdepartment lab.
Power saving modes can be switched on or off on the mobile device.
The Nokia N770 internet tablet in Fig. 6 has been selected for this thesis mobiledevice because it meets all of the above conditions. The Nokia N770 is an elec-tronic mobile device that can access internet through WLAN/Wi-Fi or Bluetoothconnections [ 14] and its main specication can be described as follows:
Price : Starting from $250 US dollars [ 15].
Physical Properties : weight 230 g , size dimensions 141 x 79 x 19 mm [ 16].
Display : High-resolution (800x480) or 4.13 inches touch screen with up to65,536 colours.
Processor & Memory : TI OMAP, 244.1 MHz, 64 MB, ash memory RS-MMC.
Operating System : Internet Tablet 2006 edition, Maemo OS (Operating Sys-tem) 2.2.
Networking : WLAN (IEEE 802.11b/g).
Battery Life : 1500mAh, 7 days standby time, 3 hours browsing time.
Other : support for JPEG, USB device mode for PC connectivity, bundledwith multiple useful applications, Bluetooth is also available [ 17].
What makes the N770 attractive is its use of haptic screen keyboard and programmablehardware keys such as directional scroll keys, zoom key, escape and menu keys.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
24/109
24
Figure 6 . Maemo N770, 2005 Nokia [ 18].
One can think of the scroll keys as a 2D virtual joystick, the scroll keys make a
clicking sound when the operator keeps pressing thus, giving the impression of pressure feedback.
The N770 offers Maemo as the operating system, Maemo is mostly based on opensource software. At the kernel level it is Debian Linux distribution which not onlysuitable for network development but also for rebuilding available libraries fromscratch. Fig .7 illustrates the key architectural components of the N770 Maemoplatform.
Figure 7 . Key Components of the a Maemo platform [19].
Linux based device was another key factor for selecting the N770 and the followingitems describe structure layer roles from Fig. 7 [19]:
Linux kernel is the core and heart of Maemo platform that controls and facil-itates usage of hardware such as memory, process, networking, le and other
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
25/109
25
management services.
The ARM/OMAP-based Linux kernel implements hardware-specic deviceand bus drivers.
Debian Package Management: Follows Debian system design.
System Libraries: Standard GNU C library for various development uses.
System Services: Provides system-wide services to applications and end userssuch as SQLite database library interface.
Maemo Launcher: Specialized in launching all Maemo applications, it pro-
vides initializations and startup data.
GTK+: A framework of C libraries responsible for graphical interface de-signs, it is based on call back events which triggers execution of specicfunctions.
Hildon UI Framework: Provides the X Windows System using GTK+ UI(User Interface) framework developed in the GNOME project. Hildon addsmore components such as control panel, status bar and home applets etc.
Maemo SDK: The SDK (Software Development Kit) Contains tools neededfor application development, C++ can be used with a cross compilation en-vironment called Scratchbox. Scratchbox is used to solve host and targetenvironment compilation problems by isolating them.
2.5 Data Communication
Communication between the operator and robot will be established by WLAN(Wireless Local Area Network). The N770 already comes equipped with a WLAN/Wi-Fi embedded adapter, it is required to connect the device on a network access pointfor operation. This task is a straight forward procedure and very transparent to theend operator.
WLAN is a standard and compliant with the IEEE 802.11b or 802.11g specication.Data exchange rate can reach up to 54 Mbits/s, large enough to stream continuousvideo and heavy network communication. An access point is usually a router usedas a bridge [20] to a wired system or can provide a standalone private network. Theminimum data communication setup needed is illustrated in Fig. 8.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
26/109
26
Figure 8 . Minimum WLAN setup for intended teleoperation communication.
Indoor connectivity coverage can expands to few tens of meters and extension ispossible by adding an extra WLAN access points. This gives the operators moremobility to move around and remain connected to the network within a broad cov-erage area [21].
Network security can be established using encryption systems such as WPA (Wi-FiProtected Access), when joining a secure wireless network a key is expected to beentered and upon verifying the router grants a distinct IP network for the device. Forthis thesis work the mobile device and robot are joined in a wireless private network with security turned off. Fig. 9 shows the interface for connecting the N770 devicewith an available WLAN ( Wireless Local Area Network ) access point.
Data communication for teleoperation will follows the same protocol states of anyclient/server application depicted in Fig. 10 sample MSC ( Message SequenceChart ). This chart captures a scenario in which a user (U) send a request to an
interface (I) to gain access to a resource R. The interface in turn sends a requestto the resource, and receives "grant" as a response, after which it sends "yes" to U[22].
ArNetworking ( MobileRobots Advanced Robotics Networking Infrastructure ) isused to add networking services to a robot control program. The client requests aservice from the server in a form of a command or the client can request informationfeedback at a specied rate [ 4]. The command is executed on the robot hardwareto accomplish its dened task, then the outcome can be sent back to the requestingclient.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
27/109
27
Figure 9 . Sample of WLAN connectivity conguration on the N770.
ArNetworking interface library is the main building block for communication be-tween the client application used by the operator and the robots server. In the im-plementation chapter of this thesis more details will be identied.
Figure 10 . Typical MSC chart for client/server communication [ 22].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
28/109
28
2.6 Graphical User Interfaces
Software applications represent information in different forms ranging from simpletext outputs to sophisticated 3D graphs, this representation is encapsulated withina form called an interface. GUI (Graphical User Interface) are the most commonfeatures of todays applications running on common computing devices.
Software applications are expected not only to meet functional requirements butalso offer visual coherency with simple command layouts easy enough for an av-erage user to get accustomed to. Major software vendors start the GUI interface
trend which is picked up and used by other developers becomes very common andeventually some features become standards of next GUI interfaces application gen-erations.
Fig. 2.6 shows two different GUI designs with the same functionality. The differ-ence is how they are arranged, where the right window groups properties, on the leftwindow properties are layed out horizontally, it is harder and becomes increasinglycomplex to maintain. Thus, designing a GUI should aim at simplicity, grouping,usability and consistencys.
Figure 11 . Same functional dialog but different GUI design [ 23].
Designing interfaces on mobile devices is effort demanding due to the limited re-sources of display size, communication costs and power consumption. User interac-tion must also be kept to a minimum and for this reason some mobile GUI designssuch as in Fig. 12 for MaemoPad the keyboard can be popped out or hidden whennot needed.
Successful software development can be practiced using design patterns such asMVC pattern ( Model View Controller ) simplied in Fig. 13. The controller is the
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
29/109
29
Figure 12 . Sample of a Maemo application with virtual keyboard [ 19].
middle layer where user actions received from the viewer are passed to the model forprocessing, then model outcome is read by the controller via callbacks and is nallyreected on to the view. This type of pattern is very useful for different types of platforms and because details are separated MVC pattern offers an efcient methodof development. Most modern mobile platforms consists of a standard developmentinterface framework but it is also necessary to investigate if it includes the required
components.
Figure 13 . MVC Pattern
On the Nokia N770 Maemo platform the desktop interface is based on the Hildonapplication framework built using GTK+. The Hildon GTK+ is more suitable forembedded devices interface design as in Fig. 12, it is also binary-compatible with a
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
30/109
30
normal GTK+ applications without the native Maemo look [ 24].
GTK+ is a multi-platform toolkit for creating graphical user interfaces. It offersvery complete set of widgets to use when building applications, GTK+ was initiallydeveloped for and used by The GIMP, The GNU Image Manipulation Program.Today GTK+ is used by a large number of applications, and is the toolkit used bythe GNU projects GNOME desktop [ 25].
In the next chapter we shall review previous studies related to teleoperation GUIdesigns, and Hidlon GTK+ will be selected for the thesis project development plat-form.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
31/109
31
3 RELATED WORK
This chapter contains a summary of several studies related to teleoperation systemswith supervisory graphical interface and controls. The selections are based on appli-cations designed for desktop PCs (Personal Computers) and mobile devices. Effortis focused to cover common interface elements, shared architectural concepts andtest scenarios for system evaluation. The chapter concludes with a set of guidelinesand recommendations to aid the design in this thesis.
The P3-DX robot used for this thesis is basically a vehicle robot Fong et al. identi-
ed the following teleoperation interfaces [ 26]:
Direct manual interfaces: the user is presented with a direct feedback fromthe camera and uses a joystick for robot locomotion.
Multimodal/-sensor interfaces: the user is presented with multiple feedbacksin a single view.
Supervisory control interfaces: the user issues high level commands and mon-
itors the remote environment. Novel interfaces: the user can teleoperate using haptic gestures or a noval
state-of-the-art future technology.
An interesting interface category would be the novel interface designs because thedesign can be mixed with new concepts for example, Fig. 14 adopted from [ 26], [27]illustrates teleoperation in a virtual 3D world that demonstrated improved results
compared to a 2D interface.
Figure 14 . 3D map Exploration, [ 27], 2006, novel interface example.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
32/109
32
In Fig. 15 the operator is using gestures to drive a robot, the operator is acting moreof a virtual joystick where the left hand used to activate the gesture system and right
hand to specify direction and magnitude [ 28]. Due to complexity of such systemsand limited system resources on mobile devices, direct and sensor interfaces areconsidered for this project GUI design.
Figure 15 . Visual gesturing for vehicle teleoperation [ 28], 2000
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
33/109
33
3.1 Stationary Teleoperation
Stationary teleoperation are systems designed for operators in a xed location thattypically reside in a room or at a control center like the one shown in Fig. 16. Theoperator is using a realtime application with a set of control tools and some feedback information to carry out teleoperation tasks. It is necessary to investigate how suchsystem were designed for the following reasons:
1. Collect common commands and the necessary common user controls for tele-operation systems.
2. Recognize the types of GUI elements used to successfully represent feedback information.
3. Tests and experiments conducted to evaluate the designed systems.
4. Identify perhaps shortcomings when porting existing systems onto mobiledevices platforms.
Figure 16 . Standard and Wireless teleoperation systems [ 29].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
34/109
34
3.1.1 Desktop Client Interfaces
Graphical Teleoperation Interface For A Mobile Robot , Jukka Turunen 2006[30], developed a GUI application in Fig. 17 to teleoperate a P3-DX robot, theinterface was based on a property software called MobileEyes by MobileRobotsInc., the implementation architectural design followed a MVC pattern where hepresented robot sonar and map using GTK and OpenGl libraries implemented on aLinux based operating system.
Figure 17 . RobotUI [30].
The interface is composed of a rich set of feedback information using map drawingof the remote environment, video images, specic robot data such as velocity andbattery level. The user can move the robot using directional buttons and rotatecamera angles. Sample of the user interface architecture can be seen in Fig. 18.
Among other features included is the ability to send text to the robot server and a
use a pre-installed synthesizer called ArFestival-speech that offers text to speechconversion. The communication between RobotUI and the robot was done usingLAN (Local Area Network) or WLAN networks.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
35/109
35
Figure 18 . RobotUI , GUI Architecture [ 30].
The application functionality outcome performed very well passing 11 out of 15tests, the failed or could not be tested cases were results of video technical limita-tions, requesting safe driving from ARIA library was not taking affect, and sonarmeasurements had to be estimated for plotting on the map.
The study concluded with successful teleoperation matching the quality of Mo-bileEyes application, in addition to the usability of synthesizer and communication
on WLAN network. The author also mentions that MVC pattern architecture wasbenecial and aids in further development.
A nal recommendation was to update the MVC interface for better observationsand suggested map interface improvement [ 30]. This particular study served as thebase reference for implementing this thesis project because the same ARIA robotserver from LUT IT department laboratory will be used for thesis project.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
36/109
36
The Advantage of Mobility: Mobile Tele-operation for Mobile Robots [31]2001, this study is presented in two parts, in this section the desktop interface is
discussed then the later is available on the mobile teleoperation section. The inter-esting aspect of this study is it compares two interfaces PDA and desktop againstteleoperation effectiveness. The study also considered the optimal task distributionbetween a hand-held and a desktop stationary operations [ 31].
The authors suggest that using a PDA interface can boost teleoperation effectivenessfor situations that cannot be xed to a particular location. Another advantage forusing mobile devices is that they offer on-eld information and partial view of theactual robot environment not retrievable by the robot sensors.
The desktop interface in Fig. 19, was designed for tasks related to exploration, nav-igation and mapping issues, it can also support a team of robots by the offeredswitching mechanism.
Figure 19 . The Advantage of Mobility - Desktop GUI design [ 31].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
37/109
37
The interface windows is divided into different panels customized for Navigation,Autonomy Levels, Robot Tools and Settings described as follows [ 31]:
Navigation panel provides a comprehensive zone view by displaying localand global maps. The map is constructed by using laser range sensor andSLAM (Simultaneous Localization and Mapping) odometry. An additional3D viewer is added to give egocentric perspective of the scenario.
Autonomy levels panel is a mode switcher between safe and non-safe tele-operation, having safe mode on can prevent colliding into obstacles. Shared
control "operator clicks robot destination on map" and autonomy "wandermode" each with different velocities (slow, normal and speedy) that have dif-ferent heuristics to explore the environment.
Robot tools panel is for robot kinematics readouts. There is a speedometer,a chronometer to keep track of the mission length, and a gyroscope directlyembedded in the robot within the 3D View (yellow directional arrow).
Settings Panel is divided into two views, consists of the Interface Settings andthe Robot Settings.
Several experiments were conducted on exploration and navigation using differentvariations of locations and situations. The study observed independent variables of interface effectiveness and operation time measurements.
The results demonstrated that it is more useful to drive the robot in narrow spacesusing laser view navigation than using the constructed map alone. Additional data
analysis and results will be described in the mobile teleoperation section of samestudy.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
38/109
38
3.1.2 Web-Based Interfaces
Web based teleoperation started back in 1994 [ 32], [33], and Olivier Michel et al. in1997 introduced KhepOnTheWeb [ 34] web based teleoperation system. The studymotivation was due to the recognized benet of a single application utilized for mul-tiple remote operators. In addition to the similar client/server architectural design.Fig. 20 shows the KhepOnTheWeb interface and operates in this manner:
Robot state is represented in a static HTML (HyperText Markup Language)document with a still image and numerical data.
The operator enters and sends unsupervised commands.
The robot executes the commands without user supervision or additional in-teraction.
Command outcome is sent back with generated result after some delay.
Figure 20 . KhepOnTheWeb Web Interface[ 34].
The results indicated that it was difcult to introduce complex systems, web latencycaused delay in completion of teleoperations tasks. On the positive side web in-teractivity was successful and by introducing Java technology to handle responses
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
39/109
39
delays were reduced. The suggested further work described adding robot actionmonitoring tools that can increase web teleoperation effectives.
Effective Vehicle Teleoperation on the World Wide Web , WebDriver [ 11] 2001,was designed for safe and reliable web based vehicle teleoperation. Targeted forlow bandwidth usage and the interface supported both novice and experts users.The system design is depicted in Fig. 21 which consisted of 3 elements:
Figure 21 . WebDriver system architecture [ 11].
User Interface required browser support for Java applets, where the user canissue commands and able to monitor continuos feedback from the robots
sensors.
Base Station is responsible for user communication with the interface, imageprocessing, and high-level robot controls.
Robot was a teleoperated vehicle equipped with on-board sensors (includinga pan-tilt camera) and a motion controller. It is connected to the base stationvia a radio modem and analog video transmitter [ 11].
The user interface like shown in Fig. 22, served two primary tools, the dynamic mapand the image manager allowed the user to generate commands and to receive feed-back. The interface controls can manipulate the display and pan angle the robots
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
40/109
40
on-board camera. An added proximity light indicated distance between the robotand nearby obstacles [ 11].
Figure 22 . WebDriver user interface [ 11]
The dynamic map in shown in Fig. 23 is constructed using ultrasonic sonar androbot position. The sensor data is ltered, stored and then displayed as coloredpoints: gray for sensed obstacles and red for robot position. Color points reectcondence value where the darker tones indicate higher condence.
Figure 23 . WebDriver map sample [ 11]
The design displayed status and supported touch commands, on the map imageswere stored as (blue circles) by the image manager [ 11] that can be recalled later.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
41/109
41
This reduces communication and unnecessary processing. The image manager dis-played in Fig. 24 is also touch responsive and can send images at regular rate.
Figure 24 . WebDriver ImageManager [ 11].
The base station functionality compresses data and exchanged communication withthe user interface. The image server returns images in JPEG format via TCP (Trans-mission Control Protocol). High-level robot control was established by Saphiraplatform built on top of ARIA SDK by MobileRobots Inc.
The study indicate that the architecture was reliable and robust particularly usingARIA safe driving mode, data communication was compressed and some infor-mation was pre-processed which reduced network usage. Operators explored dif-ferent rooms with ease and camera images helped navigation along the corridors.Although limitations were related to map plotting because obstacle detection waslimited to small amount of proximity sensors (ultrasonic sonar) even by addingmore ultrasonic sonar sensors may not solve this limitation due to added noise and
imprecise readouts.
The study mentions future work can be put in adding higher level of autonomy,proximity sensors may be increased to avoid obstacles and use radio beacons orcarrier-phased GPS for better map positioning. The conclusion stated that success-ful and robust teleoperation results were obtained and the feedback GUI design wasplausible and efcient.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
42/109
42
Automated Teleoperation of Web-Based Devices Using Semantic Web Services ,SWATS [ 35] 2005, is a design proposal that employs Semantic Web Services tech-
nology and AI (Articial intelligence) planning techniques to achieve task-orientedautomated teleoperation for Web-based devices.
The implementation addition to typical teleoperation architectures was a semanticlayer shown in Fig. 25 and by encoding useful tasks into web ontology languagesis expected to provide the operator agents an automatic plan for process execution,thus reducing laborous work and increase automaticity. The solution presented wasa step forward for adding local intelligence on remote ends.
Figure 25 . Architecture of SWATS Web services Teleoperation [ 35].
Internet-based Robotic Systems for Teleoperation , [36] 2001, aimed to design anintuitive user interface for inexperienced users and carry out fundamental researchon multi-agent/multi-robot cooperation. The study motivation listed multiple com-
mercial benets gained using multi-agent/multi-robot cooperation in elds of tele-manufacturing, tele-training, tele-repairing, remote surveillance, distributed servicerobots for ofce, hospital and elderly care research value can be realized.
The architecture in presented in Fig. 26 and the interface in Fig. 27 exhibits itsmuch usage of Java web interface components. Experiments and results summa-rized several observations that can be considered for further improvements that isby increasing image quality, adding more autonomy for complex environments andreducing frequent network transmission delays.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
43/109
43
Figure 26 . System Structure for Java Based Teleoperation [36].
Figure 27 . Interface sample for Java web based teleoperation [ 36].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
44/109
44
The following list summarizes characteristics of web based interfaces:
Internet web applications can operate with high expectancy of communicationdelay, this limitation prompts to use minimum and effective packet exchange.Data loss is also expected thus recovery methods are required [ 36].
Web GUI elements are somewhat limited compared to desktop vast range of available widgets which suggests more UI design consideration.
The nature of the web is stateless and servers are responsible for maintain-ing session information among other localization and other autonomous al-gorithms should not impact performance.
Web based applications are platform independent and can be exposed to awider set of operators in multiple locations.
The advantage of web ubiquity [ 37] can help develop teleoperations researchby using effective methods for multi operators "agents" on multi-robots [ 36].
The interface design architecture can be used on mobile devices with some
limitation only if it is considered in advance but the ability to access webapplications on mobile devices is possible.
Web based teleoperation is not suitable if collaboration between the user andthe robot is required [ 32].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
45/109
45
3.2 Mobile Teleoperation
In this section we will review solutions and designs for a operator typically locatedin close proximity but not limited to the remote environment Fig. 28 shows a mobiledevice that can operate a football robot player using only nger gestures for move-ments this inspires and motivates other possibilities to do research on teleoperationusing mobile devices.
The main reasons for using an alternative to stationary teleoperation can be summa-rized as:
Mobile devices can serve as a possible stationary teleoperation backup.
When xed locations are not possible due to high costs, technical limitationsor other preventive constraints.
When human/robot collaboration is needed or if some feedback not presenton remote robots.
Figure 28 . Finger gesture interface, Walky 2009 [ 38].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
46/109
46
PdaDriver: A Handheld System for Remote Driving , [13] 2003, is a design for aPDA device to teleoperate a vehicle like shown in Fig. 29. The main project features
include: practical deployment, consumes low network bandwidth and the interfaceis easy to use with little training.
Multiple control modes, sensor fusion displays, and safeguarded teleoperation tomake remote driving fast and efcient are offered. PdaDriver is intended to en-able any operator (novice and expert alike) to teleoperate a mobile robot from anylocation and at any time [ 13].
Figure 29 . PdaDriver: user interface (left), remote driving a mobile robot (right) [ 13].
The PdaDriver system architecture is divided into three main components displayedin Fig. 30 and described as follows:
Figure 30 . PdaDriver system architecture [ 13].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
47/109
47
1. Pioneer2-AT "Tarbot" Robot is equipped with on-board pc, a variety of sen-sors (a pan/tilt/zoom color CCD (charge-coupled device) camera, wheel en-
coders, GPS, 3-axis orientation module, an ultrasonic sonar ring), wirelessethernet and a pivoting training target.
2. Safeguarded Controller acts as the central control software running on the Tar-bot, it processes user commands and outputs robot states, it connects to othermodules such as sensors, map making (histogram-based occupancy grid), ob-stacle detection and avoidance, motion control, and localization units.
3. PDA GUI was primarily designed to increase situational awareness and aimed
for ease of use, it was implemented with Personal Java of Sun Microsystems,Inc and runs it on a Casio Cassiopeia E-105 Palm-size PC. The interfacescreens can be seen in Fig. 31, the following descriptions and results havebeen adopted from [ 13]:
Video mode displays images from the robot-mounted camera, horizontallines overlaid on the image indicate the projected horizon line and therobot width at different depths. The user is able to position (pan and tilt)the camera by clicking in the lower-left control area.
The user drives the robot by clicking a series of way points on the imageand then pressing the go button. As the robot moves from point to point,the motion status bar displays the robots progress. This image-basedway point driving method was inspired by STRIPE [ 39].
Map mode displays a map (a histogram-based occupancy grid constructedwith sonar range data) registered to either robot (local) or global (world)coordinates. As in video mode, the user drives the robot by clicking a se-ries of way points and then pressing the go button. As the robot moves,
the motion status bar displays the robots progress.
Command mode provides direct control (relative position or rate) of robot translation and rotation. The user commands translation by click-ing on the vertical axis. Similarly, the user command rotation by click-ing on the horizontal axis. A scale bar (located to the right of the posebutton) is used to change command magnitude. The centered circle in-dicates the size of the robot and is scaled appropriately.
Sensors mode provides direct control of the robots on-board sensors.The user is able to directly command the robots camera (pan, tilt, zoom),enable/disable sonars and to activate movement detection triggers.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
48/109
48
Figure 31 . PdaDriver Screen modes for video, map, command, sensors [ 13].
Experiment and tests conducted were on different eld environments indoors andoutdoors (paved roads, off-road benign terrain, uncluttered indoor) suggests that thePdaDriver has high usability, robustness, and performance [ 40].
The results state ease of interface use by novice and expert users, safe mode drivingwas enabled through out testing which allowed users to concentrate on exploringusing different screen modes. The screen stylus is less used because it proved to bedifcult while walking or running.
The study concluded with further work suggestions by using sensor fusion displaysin addition to adding collaboration control dialogs between operator and robot hard-ware, that is the operator express intent to the robot when context information ismade available.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
49/109
49
Objective Data Analysis for a PDA-Based Human-Robotic ,[40] 2004, the studyobjective was to implement a touch screen PDA device for teleoperation. The in-
terface design offered three different background screens and on the foreground itdisplays command buttons to control directions of the robot including a stop com-mand.
Vision Screen provides the robots front xed camera image seen in Fig. 32.
Figure 32 . PdaDriver Vision screen mode [ 40].
Sensor Screen provides 180 laser view and ultrasonic sensor nder. Therectangles in the Fig. 33 represent objects detected by the ultrasonic sonarand the connected lines represent objects detected by the laser range nder.
Figure 33 . PdaDriver Sensor screen mode [ 40].
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
50/109
50
Vision with Sensory Overlay Screen provides the image and the sensory in-formation in concert Fig. 34
Figure 34 . PdaDriver Vision and Sensor screen mode [40].
Operator evaluations were performed to determine which interface screen was the
most understandable and facilitated decision-making. The evaluation collected ob- jective information regarding the task completion times, number of precautions,ability to reach the goal location, as well as the number and location of screentouches. The participants also had to complete a post task questionnaire after eachtask and a post trial questionnaire after each trial.
Trial Round 1 : The vision only screen tests required lower workload than the visionwith sensory overlay. On the questionnaire results; participants rated the Vision-only screen easier to use than the other screens.
Trial Round 2 : The vision only screen was signicantly easier to use than the visionwith sensory overlay screen. Participants rated the sensor-only screen was ranked aseasiest to use. The results across screens during trial two indicate that no signicantrelationship existed.
The fastest task completion time displayed in Table 1 for using the sensor screen,this was because it involved the shortest path and least visual processing.
Table 2 provides the average goal achievement accuracy for all tasks across bothtrials. The signicant increase occurred across trials for the vision task may beattributed to learning the interface and how to control the robot. Screen processing
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
51/109
51
Table 1 . Completion times by trial and task [40].
Trial One Trial TwoMean St. Dev. Mean St. Dev.
Vision task 4:18 0:54 4:00 0:49
Sensor task 3:36 1:23 1:52 1:12
Vision & sensory task 4:51 0:23 4:39 0:35
for all layers caused a delay which resulted in 50% unnished goals within theallotted time.
Table 2 . Accuracy percentage of goal achievement by trial and task [ 40].
Vision Task Sensor Task Vision & sensory Task
Trial One
Reached 12 14 3
Almost Reached 9 6 4
Passed 2 2 0
Not Reached 7 8 23
Trial Two
Reached 23 26 7
Almost Reached 4 1 3
Passed 1 2 2
Not Reached 2 1 18
The study did not anticipate poor performance of longest time and lowest goalachievement by using all screen layers overlaid, this is attributed to the PDA pro-cessing delay. On contrary when participants were allowed to see directly the robottask completion was the fastest using only the sensory screen, this screen providedprecautions while goal achievement was the highest.
In conclusion the study presented three different interfaces and experiment mea-surements were processed using objective data analysis. Results indicate the delay
caused by PDA screen processing reduces performance. Best results were obtainedusing sensor screen and direct robot view. The authors also suggest extended datanormalization can be utilized for different purposes.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
52/109
52
The Advantage of Mobility: Mobile Tele-operation for Mobile Robots [31]2001, part one of the same study was described in previous stationary desktop tele-
operation section. In this section the same application is considered and presentedfor a PDA mobile device.
Only map and laser interfaces was implemented for the PDA due to size limitationand processing capability, the settings interface merged autonomy level and theagent mode panels together. In Fig. 35 the laser view identies obstacles in theremote environment and the map view allows robot directing by point and click, theautonomy level settings controls robot modes.
(a) Laser View (b) Map View (c) Autonomy Settings View
Figure 35 . PDA Interface [ 31].
Three experiments conducted to study the main differences between desktop andPDA teleoperation interfaces with one simulated and two on real environments de-scribed next:
First Experiment : For twenty minutes using a Player/Stage simulator [ 41] partic-ipants had to explore an environment shown in Fig. 36 without colliding into thewall or other objects. For data calculation the independent variable was dened asInterface Type { PDA interface, desktop interface} , and the dependent variablewas the covered area by robot in square meters.
Second Experiment : On a real indoor environment operators try to navigate re-motely a P2AT robot to a target point. The test environment was a 15 meters path
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
53/109
53
Figure 36 . Simulated Experiment Environment Map [31].
composed of cluttered corridors and narrow spaces. The dependent variable wasnavigation time measured in seconds and the independent variable was interfacetype.
Third Experiment : Test environment was outdoors divided into three differentzones, all realized using reclining panels and cartons for the following:
1. Maze: using single entrance and exit.
2. Narrow Spaces: limited area and directions where robot must pass throughthem.
3. Cluttered Areas: robot must navigate through several obstacles but can choosedifferent directions.
Participants were allowed into the environment but not within the arena, robot isonly visible from a window like seen in Fig. 37 and can be completely hidden forhalf of the path.
Participants had to complete the path measured in seconds for both variable types.The independent used path variation on Space Type {Maze, Narrow Spaces, Clut-tered Areas} , in addition to visibility variable as Operator View Degree { Total Visibility, Partial Visibility} . The dependent variable was set for interface type,
and other factors related to robot congurations, wireless signal strength remainedconstant to guarantee replicability.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
54/109
54
Figure 37 . Robot partly visible for PDA operator [ 31].
Preliminary Hypothesis and Data Analysis: The operators used the laser and map
view for path planning and survey knowledge. Path planning reduces obstacle col-lision but still depends on the operator spatial awareness so an egocentric referencesystem was used to decide the direction of movement.
Survey knowledge for way nding depends on the operators location awareness,which is generally considered an integrated form of representation with fast androute independent access to selected locations, this was achieved by using an allo-centric coordinate system [ 31].
Surveying and navigating operations depends highly on information provided fromthe interface, thus, on the PDA performance is expected less due to switching viewswhere on the desktop interface views are always available. So it was priorly hy-pothesized for better performance and operators will favour the desktop interface.
In the third experiment the PDA performance was expected to do better than onthe desktop because the operator was allowed to see at some stage the robot so itrequired less information accessability and may counterbalance the results.
For each experiment the collected data was analyzed using ANOVA (Analysis of Variance) statistical methods. The description can be referred to the study [ 31]. Re-sults for the rst experiment are shown in Fig. 38 where the area is mostly coveredby using the desktop interface and performs considerably better then the PDA forexploration.
On the second experiment navigation times for driving resulted in no signicance
for both interfaces. For the third experiment results are shown in Fig. 39, it indicatesfaster times by using the PDA interface with partial and full visibility.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
55/109
55
Figure 38 . Covered area in square meters by the operator using the PDA (bottom curve)and the operator using the desktop interface [31].
More ANOVA test were applied on the partial visibility data due to variable spacewhich also revealed it was faster and visibility independent in comparison with thedesktop interface Fig. 39a. But for partial visibility results are shown in Fig. 39bthe desktop interface results indicates faster navigation in comparison with PDA formaze space type.
(a) Full visibility (b) Partial visibility
Figure 39 . Mean and Standard Deviation Times for Visibility experiment three [ 31].
Discussion: The experiment results conrms different performance effectivenesscan be gained from different interfaces displayed in Table 3. The exploration task corresponds to how operators estimates the state of unknown environment when thenavigation applies to following a certain path. In case of the maze environment bothexploration and navigation were used while driving in the cluttered environment.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
56/109
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
57/109
57
3.3 Conclusions
Studies in this chapter assert and have demonstrated successful teleoperation usinga mobile device, while each served a specic purpose common GUI elements canbe found along with certain architectural designs. Table 4 lists the advantages anddisadvantages of using a mobile devices for teleoperation.
Table 4 . Advantages and Disadvantages of teleoperation using mobile devices.
Advantages Disadvantages
Small, lightweight, easy to use andtransport [40].
Battery recharging is necessary for pro-longed usage.
Cost effective, serves as a mobilebackup [29].
Small screen display size with limitedcomputing hardware resources.
Provides solutions when human/robotcollaboration is needed [ 32].
Cannot support complex teleoperationtasks such as multiple user / robots col-laboration [ 42]
Highly recommended for eld work when stationary is not possible.
Susceptible to frequent jams and com-munication losses.
Platform and model independent, eachmodel contains features may not sup-port teleoperation requirement e.g.power saving modes cannot be con-trolled.
Performs well for certain tasks e.g.navigation, observing or for emergencyintervention only [ 31].
In some operations e.g. exploration canbe limited or not usable.
Novice operators training can bestraight forward with basic knowledgerequired.
Limited to interface controls and com-ponents.
Development time takes longer thandesktop platforms and is more chal-lenging to overcome some simple op-erations such as quick display updates.
Haptics and gesture based interactionscan enhance the practice but must notbe a decision factor.
Requires innovative GUI designs thatrequire less interactive steps to com-mand the robot.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
58/109
58
There were also challenges related to communication, processing latency and limi-tation of environment feedback information. Suggestions for general teleoperation
improvements can be achieved by using additional autonomy tools or by addingremote back end intelligent system. The experiments and tests conducted can bereproduced on other designs. Presented interfaces suggest simplicity would over-come device limitations and should provide the maximal viewing of information.The ow chart displayed in Fig. 40 shows common elements used for different tele-operation tasks.
Figure 40 . Teleoperation Common Tasks and UI elements.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
59/109
59
Table 5 identies general recommendation and advises when considering teleoper-ation implementation for mobile devices. For testing purposes several experiments
may be required to evaluate the system, task versus interface operated by experi-enced and novice users can be such variables. Although test cases can vary, thefollowing list gives some initial ratings for different teleoperation activities:
1. Time measurements, task accuracy variable, collision frequency count.
2. Exploration and navigation effectiveness with different feedback informationusing ( 2D map, sonar and video or images) and in combination.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
60/109
60
Table 5 . Recommendations for Mobile Teleoperation and GUI Components.
Robot Software Platform: Open source distributions such as ARIA or any ven-dor libraries that can support porting to differentmobile device platforms.
Effective Practice: Best suited for full or partial robot viability. Collab-oration can be achieved when operator is in closeenvironment proximity.
Necessary Controls: Robot directional movement, speed control, stopand reset commands preferably as device physicalbuttons. In addition to safe driving mode to reduceobstacle collision.
Feedback Information:1. Robot status information, battery power, avail-
able communication signal.
2. Sonar sensors read outs/displayed helps reducesobstacle collisions.
3. 2D environment map for exploration and naviga-tion.
4. Environment video or images for visual feed-back.
Mobile Device HW: Screen display should be large enough to show agood portion of the 2D environment map. Strongwireless communication support, power manage-ment can be controlled with long lasting battery life,feasible costs. Several programmable physical andergonomic buttons.
Mobile Device SW: The OS should be responsive and preferably sup-
ports threading.Development tools are available, arobot simulator is a must have tool. The devicecan supports common graphical drawing librariesfor faster implantation times.
Supporting HW & SW: GPS for precise location reading, haptic devices forsensitive operations e.g. robotic surgery. Situationautonomy tools and speed acceleration control e.g.mining robots.
Notes and Issues: Communication latency can occur specially if us-
ing video streaming, data packets can be lost thus,recovery methods are necessary in implementationdesign.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
61/109
61
4 REQUIREMENTS AND SPECIFICATION
This chapter outlines the system requirements and functional specications used toimplement a mobile application for teleoperating a mobile robot. It also describesthe systems hardware and software components part of the thesis practical work.The designed application will be referred to as RTMU (Robot Teleoperation MaemoUser Interface) throughout the remaining chapters.
4.1 Overall Description
RTMU can be dened as a GUI application running on a mobile Nokia N770 devicewith a sufcient set of commands and GUI layout to teleoperate the P3-DX mobilerobot via WLAN. The visual system entities are depicted in Fig. 41 and each partwill be explained in more detail.
Figure 41 . RTMU overall system entities.
4.2 Functional Requirements
Functional requirements dene the expected system features, lists the main objec-tives and serve as a reference for identifying design specications. The followinglists the required application functionality.
RTMU is a client oriented application that will connect and use services of-fered by the robot server for teleoperation tasks.
RTMU shall use GUI components to achieve teleoperation tasks.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
62/109
62
The necessary teleoperation tasks involve moving the robot in four directions,display image from remote environment and present robot status feedback
information. The required robot feedback status information are position coordinates, bat-
tery level, rotation angle, velocity speed and WLAN signal strength.
The GUI is expected to display a 2D map. The map can be requested fromthe robot server.
Hardware buttons are used for directional commands ( forward, backward,right and left ) that will move the robot accordingly. Also a stop command is
required. Those HW buttons must be easily usable on the mobile device.
IT must be able to request and display the robots environment image. If possible, overlay the image under the robots 2D map.
The user can save connection settings for later connections, with out the needto enter them again.
4.3 Hardware
Mobile Robot: The P3-DX shown in Fig. 42 will be used as the robot hardware.It is available from the IT department. Onboard there is a mounted camera anda laptop. The laptop is connected to the robot hardware via USB (Universal SerialBus) or an RS-232 connection and runs a server that can offer teleoperation serviceswhen started and connected to a WLAN network.
Figure 42 . P3DX robot with camera and ARIA server laptop [ 3]
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
63/109
63
Mobile Device: The Nokia N770 will be used as the mobile teleoperating device.It is available from the departments lab. It can connect to the IT department WLAN
and the factory settings can be updated with newer OS versions, and it is permittedif needed to install essential softwares.
4.4 Communication
Communication between the robot server and mobile device can be achieved usingthe IT department WLAN and must be established prior to any teleoperation tasks.
It is also possible to use a single wireless router for more connectivity and network bandwidth support.
4.5 Software
ARIA Server: The laptop onboard the P3-DX in operational mode, connected toWLAN and running a special application called ARIA server, is responsible for
communicating with ARIA clients and with the robot hardware. Using a specialJPEG image frame grabber, ARIA server can offer images to clients requestingcurrent environment images. The frame grabber is a separate application that needsto be running and identied with the ARIA server.
Nokia N770: The Nokia N770 operates on a Maemo OS and its SDK environmentwill be used for implementing and running the future RTMU application. RTMUis essentially an ARIA client and the major development tools taken in use will
be Maemo 2.2 SDK, Scratchbox, ARIA client library. Other helper applications notlimited to Slickedit, VirtualBox, Xming, Total Commander, VncViewer, RapidSVNand Sparex Enterprise Architect. RTMU GUI wire frames will be presented in theimplementation chapter.
4.6 Teleoperating Environment
The robot will be teleoperated within the IT departments corridors like shown inmap Fig. 43, the RTMU operator can follow the robot or be located in a xed posi-tion. The environment can contain obstacles and forbidden areas / lines, in addition
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
64/109
64
to home and goal location points.
Figure 43 . Map of the Lappeenranta University of Technology phase 6, Floor 5 [43]
4.7 Dependencies and Scope
Communication between the mobile device and robot is established via WLANTCP/IP, and is available on the teleoperating site.
The N770 and P3-DX are preferably connected on the same network group.
The robot is congured and running ARIA server in a listening to clients
state. This includes starting the JPEG image frame grabber and ARIA is ableto read and can send images.
ARIA server is accessible to RTMU by an IP and port number, which aregiven to the RTMU operator including any required user credentials neededfor connectivity.
Prior to RTMU development ARIA server additional commands or specialfeatures are made available.
ARIA API documentation and code examples are available and can be recom-piled within scratchbox.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
65/109
65
A robot hardware simulator MobileEyes shown in Fig. 44 can be used fordevelopment purposes. The P3-DX robot will be used for real system testing.
Client ARIA API library sources can be ported to Maemo N770 ARMELtarget platform.
Figure 44 . Screen shot of MobileSim robot simulator.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
66/109
66
4.8 Design and Implementation Constraints
The application implementation should follow the MVC design pattern. Linux is the base operating system for both the server laptop and the N770
device, thus GNU GCC C/C++ development language and compiler will beused.
Development on N770 requires Maemo 2.2 SDK, the package and sourcescan be downloaded from the Nokia web site. The SDK offers Hildon andGTK+ libraries for GUI design and application development that is used ac-cordingly.
ARIA package includes source code released under GNU public license thatcan be recompiled with at least GCC 3.4 on Linux based OS. This recompila-tion is needed with scratchbox and for Maemo 2.2 ARMEL target platforms.Porting source code maybe required.
The actual robot can be simulated using MobileSim [ 44] application likeshown in Fig. 44 and can read the departments map, the ARIA examplescan work with the simulator and development should follow same logic owof connectivity and control example code.
The C/C++ coding convention shall follow the IT departments recommenda-tion style.
For documentation purposes Doxygen [ 45] will be used to produce HTMLles that contains usage instructions and implementation documentation.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
67/109
67
4.9 Use Cases
Use cases describe the users interaction with the system and assist in identifyingnecessary functional requirements for system development. This chapter presentsthe recognized use cases for the RTMU application.
Robot Startup : The robot operator is responsible for starting the robot hardwareand the ARIA server like shown in Fig. 45. ARIA server listens to incoming con-nections via WLAN connectivity and is responsible to send commands to the robothardware and retrieve its status.
Figure 45 . Operator manages robot hardware and ARIA server software.
RTMU application will connect to the ARIA server using the laptop IP and thelistening port number. The IP and port numbers can be obtained from the laptopsdisplay or can already be noted from the robot operator. Without this information
no teleoperation can be accomplished. The robot operator is presumed to be the ITdepartment lab assistant.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
68/109
68
RTMU : The identied overall use cases can be grouped in Fig. 46 and are ex-plained individually in the upcoming subsections. It is assumed the robot hardware
and ARIA server are running. On the N770 device RTMU application is launchedand is ready to perform the use case presented.
Figure 46 . RTMU application use cases.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
69/109
69
4.9.1 Connection Settings
Actors: RTMU operator
Summary: The actor chooses to manage the necessary ARIA serverconnection settings elds.
Preconditions: RTMU is running.
Postconditions: ARIA server connection settings updated or not.
Flow Description:1. Actor selects settings dialog.
2. Application settings dialog is displayed and consists of current IP, Port, User Name and Password elds.
3. Actor modies values by typing into corresponding en-try elds.
4. Actor saves or cancels changes.
5. If saved connection settings are retained for later usesessions.
Alternatives Flows: None
Exceptions: None
Priority: High
Frequency of Use: First time or when such eld values need to be updated.
Notes and Issues: None
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
70/109
70
4.9.2 Connect To ARIA Server
Actors: RTMU operator, P3-DX Robot
Summary: This use case allows the RTMU operator to connect to theARIA server, it is the initial step and the connection mustremain open during the teleoperation session.
Preconditions: The N770 device is connected to a WLAN network routable to ARIA server. RTMU application is runningand connection settings are vaild. No connection to ARIAserver is already active.
Postconditions: A successful connection will initializes UI and robot mapif possible. Otherwise the RTMU operator will be notiedwith failure.
Flow Description:1. RTMU operator selects the connect command.
2. A notication of attempting to connect is displayed.
3. If connection establishes it will hide the previous noti-cation and updates the interface by populating robotstatus values and try to display the robots environmentmap.
4. Otherwise if a connection attempt has failed then anotication dialog is displayed with connection failedmessage and exists case.
5. RTMU application waits for RTMU operator com-mand.
Alternatives Flows: RTMU operator selects the connect command but no con-
nection settings have been set then a notication to editsettings elds is displayed and exists case.
Exceptions: Only one connection is allowed from the RTMU applica-tion to the ARIA server. The operator is expected to dis-connect after each connection established and when notneeded anymore.
Priority: High
Frequency of Use: For every teleoperation session a connection must be es-tablished.
Notes and Issues: None
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
71/109
71
4.9.3 Disconnect from ARIA Server
Actors: RTMU operator , P3-DX Robot
Summary: The actor chooses to disconnect from the ARIA serverthus closing the active connection and ends the teleopera-tion session.
Preconditions: RTMU is running and connected to ARIA server.
Postconditions: Connection is closed and interface is cleared from robotstatus values and map display, also enables the connectcommand for further requests to connect again.
Flow Description:1. RTMU operator selected disconnect command that
closes the connection.
2. Interface is cleared from robot status values and envi-ronment map.
3. Interface enables the connect command.
4. RTMU application waits only for exit or connect usecase.
Alternatives Flows: RTMU operator can select the exit command but it implic-itly close connection if its already open.
Exceptions: None.
Priority: Medium
Frequency of Use: After each connection the RTMU operator should closethe connection.
Notes and Issues: If RTMU crashes ARIA server is expected to close theconnection, if the crash does not terminate RTMU thenit is necessary to kill the process using the OS softwaremanager or such tools.
-
7/30/2019 Teleoperacion Mobil de Un Robot Mobil
72/109
72
4.9.4 Command
This is an abstract generalized use case, its main purpose is to provide the possibilityof extending the system commands and act as a pattern for implementation. Mostcommands expect a response from the server implemented as an output callback and is described separately.
Actors: RTMU operator , P3-DX Robot
Summary: The RTMU operator selects a specic command from theinterface and is sent to the ARIA server. If the commandis supported then it is executed and the outcome is sentback to the RTMU application. Responses are typicallyexecuted within output call back implementations.
Preconditions: RTMU is running and connected to ARIA server.
Postconditions: Command output call back is executed.
Flow Description:1. RTMU operator selects a specic command from the
interface.
2. Interface is updated or a notication is displayed.3. RTMU application waits for operator next command or
was requested to exit.
Alternatives Flows: RTMU operator can select the same command representedin UI or by using a physical button located on the N770e.g. move robot forward can be accomplished by click-ing/tapping UI up arrow scroll up key.
Exceptions: In some cases a single command can perform several tasksi.e: move forward and update display.
Priority: High - Medium
Frequency of Use: Most commands are handled this way.
Notes and Issues: Timeout and recovery can be challenging to implement. Itis a good practice to che