three-layered architecture for teleoperators and its ... · pdf filethree-layered architecture...

5
Three-Layered Architecture for Teleoperators and Its Module Arrangement K. Hoshino and Y. Kunii Chuo University, Tokyo, Japan {koushi_11, kunii}@hmsl.elect.chuo-u.ac.jp AbstractIn this paper, we propose an intelligent system architecture for teleoperators (e.g., planetary exploration rovers). Our proposed architecture offers advanced flexibility (variability), efficiency, scalability, and transparency. The architecture is composed of one hardware layer (bottom) and two software layers (middle and top). Because the software is divided into two layers, users are not required to actually connect the software modules. With this architecture, we aim to achieve both efficient task construction by the users and easy management of modules by the system. Moreover, to achieve high-speed data communication between software modules we use a shared memory. Using our proposed architecture, we can efficiently perform repairs and consequently enhance the functionality of teleoperator systems. Therefore, our proposed architecture can provide significant contributions to the development and operation of teleoperators. I. INTRODUCTION In this paper, we propose a system architecture for teleoperators (i.e., remote mobile robots). In general, teleoperators are required to achieve stable performance while performing advanced missions in various environments. Several system architectures for robots have been proposed that achieve this capability [1]-[6]. Teleoperators are composed of several functions (e.g., action planning, recognition, and motion control) and various subsystems (e.g., moving mechanisms, communication system, and various sensors such as cameras). Because teleoperator systems are multifunctional, they tend to be bulky and complex. Conversely, the systems are required to be scalable and efficiently adapt to any situation. To overcome this problem, these systems should enable users to freely combine various elements of the robot via a network, thus allowing us to easily modify parts of the system. Thereby, these systems can efficiently perform advanced tasks. A problem with most existing software architectures of teleoperator systems is that it is difficult to operate a robot when system failures occur in remote locations [7]-[9]. This is because it is difficult to dynamically modify functions of the robot. From this viewpoint, it is highly desirable to develop an architecture that has advanced scalability and variability. Moreover, teleoperator systems should address the problem of info-communication, i.e., to pass sensory information from a remote site to human operators [10][11]. In particular, to operate the robot safely, it is important to know the state of the system. However, this is difficult because such systems are complex. For these reasons, we designed a system architecture that emphasizes on the flexibility (variability) of the structure of functions and transparency of data. In this study, we introduce, implement, and evaluate an intelligent system architecture for teleoperators. Moreover, we show that our architecture provides flexibility (variability), scalability, and transparency. We realize advanced variability by defining real and virtual connections in different layers. Moreover, because the operator is not required to actually connect software modules, our architecture also provides usability. Our implementation is based on RT-Middleware [12]-[14]. Finally, we evaluate our architecture by comparing its performance against a system composed by genuine RT- Middleware components. II. PROPOSED SOFTWARE ARCHITECTURE FOR TELEOPERATED SYSTEMS In general, teleoperators operate at locations where humans cannot easily perform activities. Moreover, the environment in these locations is not necessarily well known. Therefore, system failures may occur because of nonconformity of parameters or algorithms. In addition, harsh environment conditions often cause hardware problems. In this case, because teleoperators operate in locations where humans cannot easily perform activities, the system should be altered without any physical restrictions using only software. For these reasons, the system must be flexible and should be able to change the structure of its functions accordingly. Moreover, to operate the robot safely, it is important to know the state of the system during its operation. Therefore, we designed a system that emphasizes on the flexibility (variability) of the structure of functions and transparency (accessibility) of data. In our proposed architecture (shown in Fig. 1.), each function is modularized and connected via a network. Furthermore, advanced variability is achieved by defining real and virtual connections in different layers. In the next subsections, we describe in detail each layer of our architecture. A. Physical layer In this bottom layer, all hardware is connected via a network as shown in Fig. 2. Thus, it is possible to directly access any function, and connections can be changed without any physical restrictions using only software. Thus, our system is accessible and has an advanced variable structure. In addition, it increases fault tolerance by minimizing the units that are lost when system failures occur.

Upload: buingoc

Post on 07-Mar-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Three-Layered Architecture for Teleoperators and Its ... · PDF fileThree-Layered Architecture for Teleoperators and Its Module Arrangement K. Hoshino and Y. Kunii Chuo University,

Three-Layered Architecture for Teleoperators and

Its Module Arrangement

K. Hoshino and Y. Kunii

Chuo University, Tokyo, Japan

{koushi_11, kunii}@hmsl.elect.chuo-u.ac.jp

Abstract— In this paper, we propose an intelligent system

architecture for teleoperators (e.g., planetary exploration

rovers). Our proposed architecture offers advanced

flexibility (variability), efficiency, scalability, and

transparency. The architecture is composed of one

hardware layer (bottom) and two software layers (middle

and top). Because the software is divided into two layers,

users are not required to actually connect the software

modules. With this architecture, we aim to achieve both

efficient task construction by the users and easy

management of modules by the system. Moreover, to

achieve high-speed data communication between software

modules we use a shared memory. Using our proposed

architecture, we can efficiently perform repairs and

consequently enhance the functionality of teleoperator

systems. Therefore, our proposed architecture can provide

significant contributions to the development and operation

of teleoperators.

I. INTRODUCTION

In this paper, we propose a system architecture for

teleoperators (i.e., remote mobile robots). In general,

teleoperators are required to achieve stable performance

while performing advanced missions in various

environments. Several system architectures for robots

have been proposed that achieve this capability [1]-[6].

Teleoperators are composed of several functions (e.g.,

action planning, recognition, and motion control) and

various subsystems (e.g., moving mechanisms,

communication system, and various sensors such as

cameras). Because teleoperator systems are

multifunctional, they tend to be bulky and complex.

Conversely, the systems are required to be scalable and

efficiently adapt to any situation. To overcome this

problem, these systems should enable users to freely

combine various elements of the robot via a network, thus

allowing us to easily modify parts of the system. Thereby,

these systems can efficiently perform advanced tasks.

A problem with most existing software architectures of teleoperator systems is that it is difficult to operate a robot when system failures occur in remote locations [7]-[9]. This is because it is difficult to dynamically modify functions of the robot. From this viewpoint, it is highly desirable to develop an architecture that has advanced scalability and variability. Moreover, teleoperator systems should address the problem of info-communication, i.e., to pass sensory information from a remote site to human operators [10][11]. In particular, to operate the robot safely, it is important to know the state of the system. However, this is difficult because such systems are complex.

For these reasons, we designed a system architecture that emphasizes on the flexibility (variability) of the structure of functions and transparency of data. In this study, we introduce, implement, and evaluate an intelligent system architecture for teleoperators. Moreover, we show that our architecture provides flexibility (variability), scalability, and transparency. We realize advanced variability by defining real and virtual connections in different layers. Moreover, because the operator is not required to actually connect software modules, our architecture also provides usability. Our implementation is based on RT-Middleware [12]-[14]. Finally, we evaluate our architecture by comparing its performance against a system composed by genuine RT-Middleware components.

II. PROPOSED SOFTWARE ARCHITECTURE FOR

TELEOPERATED SYSTEMS

In general, teleoperators operate at locations where

humans cannot easily perform activities. Moreover, the

environment in these locations is not necessarily well

known. Therefore, system failures may occur because of

nonconformity of parameters or algorithms. In addition,

harsh environment conditions often cause hardware

problems. In this case, because teleoperators operate in

locations where humans cannot easily perform activities,

the system should be altered without any physical

restrictions using only software. For these reasons, the

system must be flexible and should be able to change the

structure of its functions accordingly. Moreover, to

operate the robot safely, it is important to know the state

of the system during its operation. Therefore, we

designed a system that emphasizes on the flexibility

(variability) of the structure of functions and transparency

(accessibility) of data.

In our proposed architecture (shown in Fig. 1.), each

function is modularized and connected via a network.

Furthermore, advanced variability is achieved by defining

real and virtual connections in different layers. In the next

subsections, we describe in detail each layer of our

architecture.

A. Physical layer

In this bottom layer, all hardware is connected via a

network as shown in Fig. 2. Thus, it is possible to directly

access any function, and connections can be changed

without any physical restrictions using only software.

Thus, our system is accessible and has an advanced

variable structure. In addition, it increases fault tolerance

by minimizing the units that are lost when system failures

occur.

Page 2: Three-Layered Architecture for Teleoperators and Its ... · PDF fileThree-Layered Architecture for Teleoperators and Its Module Arrangement K. Hoshino and Y. Kunii Chuo University,

B. Connection layer

For a robot to operate in remote locations, it must be

capable of switching multiple tasks (composed of a

module’s behavior logic) in a flexible manner depending

on the situation. However, due to the cost associated with

its connecting tasks, it is not realistic to actually switch

connections. For this reason, this middle layer manages

the actual modules of the system and virtually realizes

task dependencies defined in the top layer. This action is

performed by the database node module (DNM), which

relays information between the functions of the modules.

In particular, all modules are connected to DNM, as

shown in Fig. 3, and data is exchanged between them at

high-speeds via shared memory. DNM realizes a network

list by transmitting the destination addresses for each

module that contains task dependencies defined by the

user in the logical layer. Hence module connections can

be switched by changing reference pointers. DNM

manages the timing of the switches. Moreover, because

DNM contains the data of all modules, system

transparency is improved.

To achieve load balancing and reduce traffic, DNM

can be arranged in a hierarchical structure (see Fig. 4). In

particular, the Newman algorithm [15][16] can be used to

cluster modules, which can then be placed at each layer

of the hierarchical DNM structure. Moreover, because the

hierarchical structure limits the range of failures, using

this structure we can more easily identify the causes of

failures.

C. Logical layer

In this top layer, we introduce a method that enables users to intuitively compose tasks, thereby improving the efficiency of composing tasks. Users collect the necessary modules and connect them according to the intended task flow, as shown in Fig. 5. Our method allows free swapping, adding, replacing, and deleting modules. Thus, the system can effectively rebuild its functions and respond quickly when situations change or problems arise.

Figure 1. Our proposed three-layered architecture for teleoperator

Figure 2. Hardware connection via a network

Figure 3. Connection of modules in DNM

Figure 4. Hierarchical connection of modules in DNM

Figure 5. Example of Task Flow Operation

III. REALIZATION OF VARIABILITY FOR TASK FLOW

To realize the proposed architecture, the system is required to dynamically switch tasks and share data between multiple DNMs. In this section, we describe in detail these functionalities.

A. Dynamically switching tasks

To switch tasks, we must dynamically change the

connections between modules that comprise a task. Using

DMM to manage the execution of all modules is not

preferred because of increase in overhead. Thus, DNM

only provides information about the connections, and

each module manages its own execution. In particular,;

1. Each module is connected to the DNM and

assigned a dedicated shared memory space. The

capacity of the memory is provided on the basis

of the number of each output port.

Page 3: Three-Layered Architecture for Teleoperators and Its ... · PDF fileThree-Layered Architecture for Teleoperators and Its Module Arrangement K. Hoshino and Y. Kunii Chuo University,

2. Using the netlist (i.e., task flow) information of

each module, DNM sets references between input

and output ports of the appropriate module. Input

ports continuously monitor the connections to the

output ports.

3. When the execution of a module is complete, the

value of each output port is updated. When an

input port receives the updated information, it

reads the value of the output port.

B. Data sharing between multiple DNMs

In our architecture, we use shared memory to achieve

high-speed data communication between modules.

However, when modules are present between different

DNMs, communication between modules cannot be

achieved. This is because the shared memory space of

each DNM is independent. To overcome this problem, we

use the netlist to send and receive data between DNMs.

Therefore, each DNM is equipped with a function that

automatically finds a route to a destination using the

information of the netlist, and synchronizes the data of all

shared memory spaces. Moreover, because this

architecture implementation is based on RT-Middleware

(CORBA), DNMs communicate via CORBA.

IV. OPTIMIZED PLACEMENT OF MODULES

A. Optimized placement method

In hierarchical DNMs, we achieve load distribution by

optimizing the placement of modules on each DNM.

Therefore, we cluster the network of modules on the basis

of the task dependencies generated in the logic layer.

Then, groups of modules that are classified as a cluster

are mapped automatically (Fig. 6). Thus, compared with

the conventional manual placement of modules, we

improve operational efficiency because our modules are

highly cohesive with low coupling.

Using the Newman method, nodes are clustered

according to the descending order of coupling, which

depends of the network configuration. However, in our

architecture, we also need to consider the communication

between modules. Therefore, our clustering method uses

the improved Newman algorithm with weighting.

Weights are determined on the basis of data capacity,

communication times between modules, and strength of

the connection. In particular, the weights (wn) are

computed using (1), where Kchar is a constant that depends

on network characteristics, Dn is the amount of data

exchanged between modules, and Em is the number of

communication exchanges between modules.

Furthermore, the normalized weight (wnn) is obtained by

(2), where l is the total number of connections between

modules.

mncharn EDKw (1)

l

n n

mncharnn

w

lEDKw

0

(2)

B. Measure of optimality

We evaluated the weighted Newman algorithm against the conventional one [16] by comparing their modularity quality (MQ), which indicates the goodness of a cluster. The results of the comparison are shown in Fig. 7. The maximum MQ value obtained by the weighted Newman method (0.53915) was larger than that of the conventional method (0.35893). Therefore, we conclude that our algorithm achieves a more efficient load distribution.

Figure 6. Clustering and mapping processes

Figure 7. Evaluation with MQ

Page 4: Three-Layered Architecture for Teleoperators and Its ... · PDF fileThree-Layered Architecture for Teleoperators and Its Module Arrangement K. Hoshino and Y. Kunii Chuo University,

V. SIMULATION RESULTS AND EVALUATION

A. Data communication time

We evaluated the performance of our system by comparing the data communication time of our virtual inter-module connections with that of conventional RT-Middleware. The results of this comparison are shown in Fig. 8. The results indicate that the communication time of the virtual connections in our architecture is considerably lower than that of conventional RT-Middleware. Therefore, we conclude that data communication in this system is efficient.

B. Variability

To compare variability, we measured the speed of switching tasks of actual connections using RT-Middleware and that of the virtual connections used in our proposed architecture. The results of the comparison are shown in Fig. 9. The results show that the speed of switching in our architecture is faster than that using RT-Middleware. Therefore, we confirm that our architecture offers efficient operation and task execution.

C. Load distribution and traffic reduction

To compare load distribution and traffic reduction, for each placement method shown Fig. 10, we measured the number of communications between DNMs and the CPU usage of DNM processes. The results of the comparison are shown in Table I. The results show that the weighted Newman method is more efficient than the regular Newman method (without weights).

VI. IMPLEMENTATION

We implemented our architecture on Beetle-One (Fig.

11), an experimental mobile robot aimed for planetary

exploration, which is similar to the Micro6 rover (Fig. 12).

The drive system of Beetle-One is based on the system

used in electric wheelchairs. Its wheels are controlled via

differential steering, and can be controlled by both

joystick and computer controls. We implemented the

monitoring and driving systems of Beetle-One using our

proposed architecture.

In addition, we constructed a GUI (shown in Fig. 13),

through which we could generate the tasks required by

the logic layer and obtain the connection status in the

connection layer. In particular, we provided a task

generation interface through which users could intuitively

generate a task. In addition, we provided a module

connection interface, which is a visualization tool

allowing users to monitor the connection status in the

connection layer.

The results obtained using this implementation are

shown in Fig. 14. Hence, we confirmed that it is possible

to intuitively generate tasks and efficiently operate a

robot.

(a) Communication time

(b) Communication time plotted in a reduced scale of time

Figure 8. Communication time under 10 modules

Figure 9. Switching time of module connections

(a) Single DNM (b) Newman (c) Weighted Newman

Figure 10. Module placement results by each methods

TABLE I. CPU USAGE AND COMMUNICATION COUNT BY DNMS

DNM(s)

CPU usage [%] Number of

communications

between DNMs

per minute

all

DNMs

Per

DNM

Single

DNM 1 40.0 40.0 -

Newman

method 4 89.5 22.4 114

Weighted

Newman

method

6 70.6 11.8 60

Page 5: Three-Layered Architecture for Teleoperators and Its ... · PDF fileThree-Layered Architecture for Teleoperators and Its Module Arrangement K. Hoshino and Y. Kunii Chuo University,

Figure 11. Beetle-One Figure 12. Tele-operated Rover Test bed:

Micro6

(a) Task generation interface

(b) Module connection interface

Figure 13. Graphical user interface

Figure 14. System implementation with the architecture

using Beetle-One

VII. CONCLUSION

In this paper, we proposed a system architecture for

teleoperators that offers advanced flexibility (variability),

efficiency, scalability, and transparency. We realized

advanced variability by defining real and virtual

connections in different layers. Software modules are

managed by the DNM. The system transparency is

improved because the DNM contains the data of all

modules. The architecture characteristics are validated by

simulation results. Thus, our proposed architecture

provides significant contributions to the development and

operation of teleoperators. In future work, we plan to

further improve the efficiency of our proposed

architecture by incorporating a task scheduler in the logic

layer.

REFERENCES

[1] H. Ahn, D. Lee, and S. Ahn, “A hierarchical fault tolerant

architecture for component-based service robots,” Proc. of Int’l

Conf. on INDIN, pp. 487-492 (2010) [2] S. Limsoonthrakul, M. N. Dailey, M. Srisupundit, S. Tongphu,

and M. Parnichkun “A Modular System Architecture for

Autonomous Robots Based on Blackboard and Publish-Subscribe Mechanisms,” Proc. of Int’l Conf. on ROBIO, pp. 633-638

(2009)

[3] T. Lee, H. Seo, B. Lee, and D. Shin “A software component model and middleware architecture for intelligent mobile robot,”

Proc. of Int'l Conf. on ICCAE, pp. 453-456 (2010)

[4] G. Edwards, J. Garcia, H. Tajalli, D. Popescu, N. Medvidovic, G. Sukhatme, and B. Petrus, “Architecture-driven self-adaptation

and self-management in robotics systems,” Proc. of Conf. on

SEAMS, pp. 142-151 (2009) [5] B. P. Putra, K. Mutijarsa, and W. Adiprawita, “Design and

implementation of software architecture behavioral-based robot

control system using Active Object Computing Model,” Proc. of Int'l Conf. on ICEEI (2011)

[6] N. Medvidovic, H. Tajalli, J. Garcia, I. Krka, Y. Brun, and G.

Edwards, “Engineering Heterogeneous Robotics Systems: A Software Architecture-Based Approach,” J. Computer, vol. 44, pp.

62-71 (2011)

[7] R. Volpe, I. Nesnas, T. Estlin, D. Mutz, R. Petras and H. Das, “The CLARAty architecture for robotics autonomy,” Proc. IEEE

Aerospace Conf., pp. 121-132 (2001)

[8] R. Volpe and S. Peters, “Rover Technology Development and Infusion for the 2009 Mars Science Laboratory Mission,” Proc.

Int’l SAIRAS (2003)

[9] T. Estlin, R. Castano, D. Gaines, B. Bornstein, M. Judd, R. C. Anderson and I. Nesnas, “Supporting increased autonomy for a

Mars Rover,” Proc. Int’l SAIRAS (2008)

[10] P. Baranyi, “Vibrotactile force feedback for telemanipulation: Concept and appkications,” Proc. of Int’l Conf. on ConInfoCom,

pp. 1-6 (2011)

[11] P. Galambos, “Vibrotactile Feedback for Haptics and Telemanipulation: Survey, Concept and Experiment,” J. Applied

Sciences, vol. 9, No.1, pp. 41-65 (2012)

[12] N. Ando, T. Suehiro, K. Kitagaki, T. Kotoku, and W. K. Yoon, “Composite component framework for RT-middleware (robot

technology middleware),” Proc. Int’l Conf. on IROS, pp. 1330-

1335 (2005) [13] N. Ando, T. Suehiro, and T. Kotoku, “A Software Platform for

Component Based RT-System Development: OpenRTM-Aist,” Lecture Notes in Computer Science, vol. 5325, pp. 87-98 (2008)

[14] N. Ando, S. Kurihara, G. Biggs, T. Sakamoto, H. Nakamoto, and

T. Kotoku, “Software Deployment Infrastructure for Component Based RT-Systems,” J. RM, Vol.23, No.3 pp. 350-359 (2011)

[15] M. E. J. Newman and M. Girvan, “Finding and evaluating

community structure in networks,” J. Phys. Rev. E, Vol. 69 (2004)

[16] M. E. J. Newman, “Fast algorithm for detecting community

structure in networks,” J. Phys. Rev. E, Vol. 69 (2004)