![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||
| December 2005 |
Issue #13 |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
1. Introduction System design is a process evolving from initial conceptual formulation, to model development and verification, to physical prototyping and experimentation, and to final system operation in the real field. For large scale real-time software systems, such a process is not easily achieved due to factors such as distributed processing, temporal requirements, limited resources, concurrent environmental entities and high reliability requirements. The increasing complexity of these systems calls for systematic methods as well as supporting environments to experiment with, understand, and evaluate them. To serve this purpose, modeling and simulation are frequently employed. With modeling and simulation, the system under development and its environment can be modeled. This allows designers to test and evaluate the models on computers. While the role of simulation has been generally recognized in system design, it is not treated in systematic ways. In particular, there exist two common deficiencies for many simulation-based methods. First, the simulation models, which are developed in the early stages of a development, are usually discarded as unusable by the implementation stage. Second, simulation is typically viewed as an activity only in the model world. When real system components are brought into the development, the exercise of simulation stops and real system experiment takes over. Indeed, we notice a dichotomy: the model-based development happens in the model world, where analytic techniques and simulation methods are frequently applied. Real system-based experiments happen in the real world, where all involved entities are real system components, and real experiments can be performed. Between these two end points of system evolution, there is little to support design and measurement in the intermediary stages characterized by combinations of models and real system components. To overcome these deficiencies, the author and his collaborators have developed methods and technologies that treat simulation in systematic ways during the process of system development. We have developed a “model continuity” development methodology [1, 2] which emphasizes the continuity of different design stages. In order to bridge the gap of conventional simulation and real system experiment, we have developed a virtual design environment to support simulation-based study using combined models and real system components [3, 4]. We also developed several distributed robotic systems to demonstrate the model continuity method and the virtual environment [5, 6]. This research is based on DEVS (Discrete Event System Specification) [7], which is derived from system theory and supports a formal modeling and simulation framework. 2. Model Continuity Model continuity refers to the ability to transition as much as possible of a model specification through the stages of a development process. This is opposite to the discontinuity problem where artifacts of different design stages are disjointed and thus cannot be effectively consumed by each other. Our work on model continuity has focused on the transition from designed models to the final software in a systematic way [1, 2]. Figure 1 displays the major activities involved in the model continuity methodology that we developed. Model continuity allows the decision-making models of a distributed real-time system to be designed and tested incrementally, and then deployed to a distribute environment for execution. It supports a design and test process having 4 steps: 1) Centralized simulation to analyze the system under test within a model of the environment linked by abstract sensor/actuator interfaces on a single computer. 2) Distributed simulation, in which models are deployed to the real network that the system will be executed on and simulated by distributed real-time simulators. 3) Hardware-in-the-loop simulation (see [2] and [8]), in which the environment model is simulated by a DEVS real-time simulator on one computer while the control model under test is executed by a DEVS real-time execution engine on the real hardware. 4) Real system experiment, in which a DEVS real-time execution engine executes the control model that interacts with the real environment through the earlier sensor/actuator interfaces that have been appropriately instantiated.
Figure 1: The model continuity methodology In summary, our work on “Model continuity” delimitates the possibility of design discrepancy along the development process, thus increases the confidence that the final system realizes the specification as desired. Furthermore, it makes the design process easier to manage since continuity between models of different design stages is retained. This methodology, when applied to distributed robotic system, greatly eases the transition from simulation-based study to real robot implementation [5]. 3. Bridge the Gap between Simulation and Real System Experiment To smooth the transition from conventional simulation to real system experiment and to bridge the gap between them, we developed, in the context of distributed robotic systems, a simulation-based virtual environment that allows combined real robots and virtual robot models to work together [3]. We use the term “Robot-In-the-Loop” (RIL) simulation to refer to this capability of experimenting with several real robots in a simulation-based virtual environment containing many robot models. RIL simulation is carried out by replacing some robot models in a distributed robotic system with real robots. These real robots use a combination of virtual and real sensors/actuators. For example, a real mobile robot may use its virtual IR sensors to get sensory inputs from the virtual environment and use its real motors to move the robot. As a result, this real robot moves in a physical space based on the sensory input from a virtual environment. Meanwhile, this real robot can sense other robot models simulated on computers and communicate/coordinate with them. Figure 2 shows a snapshot from a movie of RIL simulation [9], which demonstrates the coordination between real robots and robot models. This movie shows a robot convoy system with four robots (denoted by R0, R1, R2, and R3), among which the second and third ones (R1 and R2) are real robots. R1 uses virtual IR sensors to get sensory input from the environment model. R2 uses real IR sensors to sense its front robot (R1) and the real environment. This movie displays two windows. The right window shows how two real robots move in the real world. The left window is the simulation window. It shows the movements of the entire convoy system, among which the second and third robots are the counterparts of the two real robots (R1 and R2). Thus the second and third robots’ movements in the simulation window are synchronized with the two real robots’ movements in the real world. This synchronization is necessary to provide robots with the correct sensory information.
Figure 2: Snapshot of a RIL simulation Both qualitative and quantitative results were measured for RIL simulation. Qualitative results, including experimental setups and recorded movies, for three different robotic systems are documented in [6]. Quantitative results using two real robots in a six-robot convoy system are reported in [4]. These results demonstrate the capability of RIL simulation and exhibit the “continuity” of evolving the design of a robotic convoy system from conventional simulation, to RIL simulation, and then to real system execution. To summarize, the capability of RIL simulation brings simulation-based study one-step closer to the reality. Measurement results from RIL simulation can be compared with those from conventional simulation. Such comparisons will provide useful feedbacks to the designers, i.e., indicating that a robot model may not model the real robot’s movement very well. Meanwhile, by using real robots, RIL simulation increases designers’ confidence about how the final real system is going to work. Note that in both of these two cases, RIL simulation allows the designers to use only several, instead of all, real robots to gain the above knowledge. Because of this, the capability of RIL simulation is especially useful for large-scale cooperative robotic systems whose complexity and scalability severely limit experimentations in a physical environment using real robots. 4. Conclusion – Towards an Incremental Simulation-based Design Process The capability of RIL simulation adds into conventional simulation and real system experiment to form an incremental measurement and design process. The author and his collaborators’ work demonstrates the feasibility of carrying out such an incremental design process by gradually bringing real system components into the design until the system evolves into its final form. In future works, the author’s group would like to continue this research to develop a system development framework based on model-continuity integrating conventional simulation, virtual environment-based evaluation, and real system experimentation. The virtual environment will allow real system components to work together with models in a seamless way, thus supporting system-wide measurement with combined real and virtual components. As shown in Figure 3, this framework would effectively connect the model world and the real world and blurs the boundary between them during the process of system development.
Figure 3: Towards an incremental design process 5. Acknowledgement The author gratefully thanks the Arizona Center for Integrative Modeling and Simulation (ACIMS), and Dr. Bernard P. Zeigler for his support in this research. The author also thanks Narayanaswami Ganapathy for his help in robotic system experiments. Reference
|
![]()
|
||||||||||||||||||||||||||||||||||||||||||||||