Simulation of mobile robot applications with VirtualRobot - CiteSeerX

3 downloads 835 Views 202KB Size Report
Robotics, mobile robots, robot simulation ... for remote articulated-robot monitoring, programming and .... development of several autonomous mobile agent.
Simulation of mobile robot applications with VirtualRobot Martin Mellado, Carlos Correcher*, Rosa Mª de Molina, José Camacho, Ginés Benet Instituto de Automática e Informática Industrial (ai2) Universidad Politécnica de Valencia (UPV) Camino de Vera, s/n, 46022 – Valencia, Spain Phone: +34-963879815 [email protected] http://www.ai2.upv.es * Currently working in Institute for the Protection and Security of the Citizen (IPSC), Joint Research Centre – Ispra.

KEYWORDS Robotics, mobile robots, robot simulation ABSTRACT This paper introduces the basis of a graphical software application, designed for low cost hardware, as a flexible platform to work on mobile robots. VirtualRobot has proven to be a useful tool in mobile robot and sensor simulation. In this paper, some simulations of mobile robot applications will be shown with the help of VirtualRobot Simulator.

general features and open software architecture, less specific and more flexible, to be adapted for most topics in robotics education, research and industrial implantation. In this paper, the basis of a graphical software application as platform to work on robotics is explained, concentrating the details for mobile robotics and mainly its use for the simulation of different applications in research projects. On the next section, VirtualRobot use for mobile robot modelling is introduced. The following sections present practical simulation cases from different application examples carried out in the context of research projects. MOBILE ROBOT MODELLING WITH VirtualRobot

INTRODUCTION In robotics, simulation goes further than a graphical software, becoming a proper engineering method. Nowadays, graphic simulators for robotic systems are indispensable in most of the robot design, learning and exploitation steps. Since this kind of applications were implanted during the eighties (Stauffer 1984; Howie 1984; Parker 1985), technological advances and improvements in computing engineering allow them to be applied on any field in robotics: industrial robotics (Freund et al. 1999), mobile robotics (Yang et al. 1997), sub-aquatic robotics (Chen et al. 1997) or aero-spatial robotics (Yoshida 1995). In addition, they have become significantly more powerful and flexible. Some simulators go further than usual 3D graphical representation, applying virtual reality techniques (Matsumoto et al. 1999; Pérez and Schilling 2001). Sensor data inclusion allows more advanced simulators (Kimoto and Yuta 1995; Hale and Gosine 1999) to represent, in a dynamic way, robot environment as detected by sensors. With these methods, simulation software is not only dedicated to simulate robot behaviour, but also is useful for design, analysis and validation of techniques as collision detection, motion planning, sensor modelling, evaluation of control architectures and so on. In most of the cases, they are very complex simulation systems (usually with expensive hardware requirements) designed to study and analyse a punctual characteristic within a specific branch of robotics. Therefore, there is still an open subject for future simulation software with

VirtualRobot, a freeware software suite1 created originally for remote articulated-robot monitoring, programming and simulation of the specific robot control system GENERIS (Generalised Software Control System for Industrial Robots) (Ruiz 1999) has become also a useful general tool in mobile robot simulation, including sensor simulation. VirtualRobot main features and architecture can be found in (Mellado et al. 2003). In the VirtualRobot framework, a craft is some kind of vehicle designed for navigation in water (rarely in other liquids), in the air or through space, which can move freely in its surrounding constrained to its kinematics and dynamics characteristics (Mellado 2003). Note that fixed articulated robots and walking robots are not included in the concept of craft. When using VRS, the simulator software of VirtualRobot, crafts are modelled at two levels: a low level, to model the craft shape and kinematics, and a high level, to emulate the craft behaviour. In order to shape a craft, a basic geometric modeller is used for each of the robot parts. To model craft kinematics, one in a set of predefined Dynamic Link Libraries (dlls) or a user defined dll is used. The emulation of the craft behaviour is carried out by means of an external user application, which uses an external access library called VRCraft, an extension of the VRS External Access Library VReal.

1

VirtualRobot can be downloaded in http://www.isa.upv.es/~vrs

Geometric Model A craft is made up of two main parts: the craft base and the craft drives. The craft base is the main body of the robot. It has to be graphically modelled as an object in an ASCII file using the VirtualRobot modeller or imported from other file formats. The model must contain all the fixed parts of the robot. The craft drives are the devices which produce the robot motion. Each of them has to be modelled as an object in an ASCII file, too. There are three types of drive components: ahead-drive, steer-drive and steer-ahead-drive. An aheaddrive produces movements in a linear direction. The ahead-drive which rotation produces craft motion is called active whereas the ahead-drive which rotation is produced by the movement of the craft is called passive. A steerdrive is a rotating device for the craft to describe turns. Also, applying different velocities to the ahead-drives it is possible to steer the craft. A steer-ahead-drive is an aheaddrive coupled to a steer-drive. Additionally, it's possible to define sensors and auxiliary coordinate systems into the final craft model. Craft Kinematics Component Craft Kinematics Component is used to solve the kinematics of the different robots in VRS. Thus, the movement of crafts in VRS is obtained by the kinematics module, which re-locates the craft every certain time interval, depending on the drives velocities. This time period is dynamically adjusted by VRS in order to achieve the maximum human real-time effect. To emulate craft kinematics, in addition to the kinematics dll, it is necessary to create an ASCII file, which contains the craft definition data in a fixed format. This file must comprise the craft configuration (craft type, number of drives, number of sensors, number of frames, craft kinematics file and transformations), the craft base configuration (name, geometric file, transformations and global kinematics parameters), every craft drive configuration (name, drive type, geometric file, transformations and kinematics parameters), every craft sensor configuration (name, sensor type, transformations and craft sensor file) and every craft frame configuration (transformations).

parameters correspond to the parameters defined in the craft definition file (craft type, global kinematics parameters, numbers of drives and a matrix which contains each of the kinematics parameters of all the drives). The update function parameters are time interval (since the update function was called for the last time), current craft localization and current velocity and position of every drive. Note that the craft geometric model should be consistent with the craft kinematics model. MONITORING AND SIMULATION OF A REAL MOBILE ROBOT The robot YAIR is an autonomous robot prototype that is currently being developed as a part of a research project (Benet et al. 2002). The goal of this project is to define and implement a multi-layer architecture that allows the development of several autonomous mobile agent prototypes with sufficient intelligence, and to develop a prototype of this kind of robot. The prototype must be able to be remotely planned and react to unexpected events. This kind of system requires low and medium perceptual capabilities in order to extract, understand, and manipulate spatio-temporal information about the environment and for the cooperation of those capabilities with internal plans of actions. Therefore, the development of new techniques and methods for intelligent sensors, data fusion, local navigation, and real-time operating systems kernels for the construction of mobile robots is especially interesting. In Figure 1, a photograph of the robot YAIR prototype is shown. Its periphery has an octagonal shape, having two active ahead-drives to produce the robot movements, and two passive free-steering wheels. The approximate size is 57 cm wide per 62 cm high.

VirtualRobot includes a Dynamic Link Library (dll) for four predefined types of VirtualRobot crafts: bicycle, tricycle, car and differential vehicle. Any user application can choose one of those libraries to model the robot kinematics. Anyway, the user can develop a new kinematics dll just following a fixed interface and using an empty template provided for this purpose. The predefined kinematics interface must include an initialisation function (ckInitKinematics) and an update function (ckKinematics). VRS will call the corresponding initialisation function once, when a craft is loaded. The update function will be called to update the craft localization every time interval. The initialisation function

Figure 1. YAIR prototype aspect

The robot has enough sensors to be used in partially structured or unknown environments, and can make indoor movements with two independent DC motors driving the robot. Three kind of distance sensors: ultrasonic, infrared, and bumper, give the robot the ability to cover a wide range of distances to detect obstacles, build maps (ultrasonic), avoid imminent collisions (infrared), make close approximations to objects (infrared and bumpers), or detect collisions. For map-building and object location tasks, two sensor types are used: an ultrasonic rotary sensor placed on top, and a ring of 16 infrared sensors distributed in eight pairs around the octagonal perimeter of the robot. Each pair of sensors is centred at each edge of the octagon, with 15cm of separation between them. The maximum detection range is approximately one metre. The distributed architecture of the robot has several modules that are interconnected using the CAN bus, a bus that has been chosen for its real time features. Each module performs its part in the distributed architecture. The actuator and the sensory modules are intelligent and perform basic algorithms of control in the case of actuators, or basic data processing algorithms in the case of sensors (Benet et al. 2005). A VRS simulation application for YAIR robot has been very useful for system design and application developments even when the robot was not available. For example, as shown in figure 2, some planning modules for maze navigation according to vision control can be implemented in simulation before the full system is available in the real robot.

VRS includes a library (VRSens) developed to simulate distance sensors. Anyway, the user is able to design his or her own functions to constrain the information that the robot takes from the environment, so that specific sensors can be simulated. In the application shown in the next section, communication sensors were developed Ad-hoc whereas obstacles detection sensors used this library. There are two ways of programming multiple robot systems. On one hand, a program with the whole robot functionality and behaviour can de developed. VRS supports the communications establishment between its main thread and several applications at the same time. To investigate robots interactions is as simple as running the program several times. This is the best choice when simulating completely autonomous robots, which do not need any command from user. On the other hand, when robots are not autonomous or they show different operation modes, a visual interface by which the user is able to control the parameters of the simulation has to be developed. If a program is thrown for any robot in the simulation and there is one different interface for each robot, the user will probably get confused. Robots can be represented by an independent thread of the user's application and thus only one interface is needed. In that case, the user is who has to avoid communication between threads. This was our choice to develop both application examples shown next. ROBOTS FOLLOWING SIMULATION As an example of multiple mobile robots simulation in VRS, we have designed a following task program. Robots following is a flocking task in which robots navigate arranged in a queue and tracking the first one movement. This task has many applications, including Automatic Highway Systems ( Laski and Ravani 1993). The main thread of the program throws as many robot threads as the user specifies in the user interface. Once the robots are properly arranged in a queue, the user can drive the first robot using the cursors in the interface.

Figure 2. YAIR simulation in VRS SIMULATION OF MULTI-ROBOT SYSTEMS When simulating the behaviour of multiple robots, communication among them has to be achieved solely by means of their sensors and actuators. In VRS, the main thread acts as the real environment and each robot will communicate directly with it. This communication has to be constrained to simulate sensors in a proper manner.

Robots are driven by two controllers: the longitudinal and the lateral controller. The longitudinal controller is a Fuzzy PID (Naranjo et al. 2003). Its inputs are the reading of the obstacle detection sensors of the robots, which obtain the distance of each robot with the predecessor. The lateral controller simulates a sound based controller. Results observed in the simulation in VRS by modelling one of the robots were the same as those obtained in Simulink (Matlab). Nevertheless, VRS also shows the interactions among multiple robots in the queue. This feature made possible for us to observe an error in the turn radius, as it can be seen in Figure 3.

Figure 3: Following Task. SIMULATION OF CRICKET-ROBOTS In this example, VRS was used to test the design of a cooperative framework among mobile robots inspired in phonotaxis behaviours (tracking the source of a specific sound) observed in cricket mating. This framework was made up of the five basis cooperative behaviours proposed by (Mataric 1995). A pair of real robots were designed and developed. The simulation showed all potential interactions while using any of the individual and cooperative behaviours implemented in the robots. An interface was developed to control the robots with the same possibilities as with the real robots (figure 4).

Figure 5: Group Homing Task. a) starting point, b) aggregation, c) following leader to home. CONCLUSIONS

Figure 4: Cricket robots Interface. In the experience in figure 5, a combination of aggregation and following tasks (group homing) was simulated. Three steps of the simulation can be seen: starting point, where all robots are far from each other, aggregation around top robot and queue formation. Results in simulation were of special interest to identify problems in the upgrading of the real framework from 2 to n robots.

The possibilities of VirtualRobot software for mobile robot simulation have been presented in this paper through different applications. The main implementation considerations for mobile robot simulation have been exposed to show its advantages. Three application examples have been shown, one for monitoring a real mobile robot and two for multi-robot systems simulation.

ACKNOWLEDGEMENTS This work has been partially funded by FEDER-CICYT projects with references DPI2002-04434-C04-03 and DPI2002-04434-C04-04.

REFERENCES Benet, G.; Blanes, F.; Simo, J.E.; Pérez, P. 2002. "Using Infrared sensors for distance measurement in mobile robots" Robotics and autonomous systems, ISSN: 0921-8890, Elsevier Science, vol. 40/4; pp: 255-266 Benet, G.; Martínez, M.; Blanes, F.; Pérez, P.; Simo, J.E. 2005. "Differentiating Between Walls and Corners Using the

Amplitude of Ultrasonic Echoes". Robotics and autonomous systems, ISSN: 0921-8890, Elsevier Science, vol. 50/1; pp: 13-25 Chen, X; Marco, D; Smith, S; An, E; Ganesan, K.; Healey, T. 1997. “6 DOF Nonlinear AUV Simulation Toolbox”. IEEE, Oceans 97, Halifax. Freund, E.; Rokossa, D.; Rossman, J. 1999. “Intuitive Off-line Programming of Industrial Robots Using VR-Techniques”, 15th ISPE/IEE Int. Conf. on CAD/CAM, Robotics and Factories of the Future, Águas de Lindóia, SP, Brazil. Hale R.D.; Rokonuzzaman M.; Gosine R.G. 1999. “Control of Mobile Robots in Unstructured Environments using Discrete Event Modeling”. The Int. Society for Optical Engineering. Howie, P. 1984. “Graphic Simulation for Off-Line Robot Programming”. Robotics Today. February. ISSN: 0193-6913. Kimoto, K.; Yuta S.I. 1995. “Autonomous Mobile Robot Simulator: a Programming Tool for Sensor-based Behavior”. Autonomous Robots. IS: 0929-5593. Laski, T. A. and Ravani, B. 1993. “A review of Research Related to Automated Highway Systems (AHS)”. Research Report UCD-ARR-93-10-25-01, Advanced Highway Maintenance and Construction Technology Research Center (AHMCT), Dept. of Mecanical and Aeronautical Engineering, University of California, Davis (Oct). Mataric, M.J. 1995. “Designing and Understanding Adaptive Group Behavior”. Adaptive Behavior, vol. 4, Issue 1 (Dec), pp. 51-80. Matsumoto, Y.; Miyazaki, T.; Inaba, M.; Inoue, H. 1999. “View Simulation System: A Mobile Robot Simulator using VR Technology”. IEEE Int. Conf. on Intelligent Robots and Systems. Piscataway, NJ, USA. Mellado, M. 2003. “Simulación en robótica mediante VirtualRobot”. Editorial Universidad Politécnica de Valencia. Ref: 2003.443. Mellado, M.; Correcher, C. ; Catret, J.V.; Puig, D. 2003. “VirtualRobot: An open general-purpose simulation tool for robotics”. European Simulation and Modelling Conference, ESM’2003, Naples, Italy, October 2003 Naranjo, J.E.; González, C.; Reviejo, J.; García, R.; and de Pedro T. 2003. “Adaptive Fuzzy Control for Inter-Vehicle Gap Keeping”. IEEE Transactions on Intelligent Transportation Systems, vol. 4, Issue 3 (Sep), pp. 132-142. Parker, J. 1985. “Simulating a Robot Arm using Graphics and Animation”. AI, Graphics and Simulation Published by Soc for Computer Simulation, La Jolla, CA, USA. Pérez, M. and Schilling, K. 2001.”Virtual Reality for TeleEducation Experiments with Remote Mobile Robot Hardware”. Workshop on Internet Based Control Education. Ruiz, E. 1999. “GENERIS: The EC- JRC Generalised Software Control System for Industrial Robots”. Int. Journal of Industrial Robot, Vol. 26, No. 1. Stauffer, R.1984. “Robot System Simulation”. Robotics Today. June. ISSN: 0193-6913 Yoshida K. 1995. “Experimental Study on the Dynamics and Control of a Space Robot with Experimental Free-Floating Robot Satellite (EFFORTS) Simulators”. Advanced Robotics. ISSN: 0169-1864. Yang, L.; Yang, X.; He, K.; Guo, M.; Zhang, B. 1997. “Research on Mobile Robot Simulation & Visualization”. IEEE Int. Conf. on Systems, Man and Cybernetics. Piscataway, NJ, USA.

Suggest Documents