**3. Robot simulations**

At present, there are many robotic simulation studios in the market for commercial use or noncommercial use license. Marilou Robotics Studio [26] is a commercial program of dynamic simulation that has different license types where the end user can choose according to their needs. It is based on Microsoft Robotics Developer Studio for modeling, programming, and simulating an environment [53]. There are various types of license, namely, home, education, project, and professional license. Similar to other robotic simulations, Marilou Robotics Studio employs open dynamic engine for physics engine. This engine is used for simulating rigid bodies and collision detection algorithm of physical interaction. ODE is basically consisted of collection of C library that encapsulates the physical laws, for example, for handling body contacts, frictions, force, collision, etc.

The phrase "simulation" is associated with computational devices used to obtain knowledge of physical system. "Robotic simulation," on other hand, has a goal to acquire knowledge on performances of robotic systems [54]. Comparison among the three popular robotic simulations which related to product license and programming languages are given in **Table 1**. Indeed, Marilou Robotics Studio is considered as one of the leading simulator packages available today [55]. Furthermore, according to Marilou's website [26], many research institutes (e.g., KIST, TECNALIA, INTEMPORA, etc.), and industries (e.g., KITECH, EasyRobotics, and WIFIBOT), have used this package for research and development.

A robot simulation package like Webots from Cyberbotics has a feature where the code can be implemented directly to a real robot by transferring the code after the simulation is completed, while different robot simulations do not have such

#### *Becoming Human with Humanoid - From Physical Interaction to Social Intelligence*


**Table 1.**

*Comparison of different robotic simulation software.*


#### **Table 2.**

*Joints and embedded devices provided in Marilou robotics studio.*

feature, for example, Gazebo and Marilou. However, both simulations have similar features where actuators and sensors are already provided and must be defined when the construction of robot body is developed. Unlike Webots or COSIMIR simulation packages where the robots are already provided, Marilou is a more general robot type that can be used for multipurpose robot applications, from mobile robot [56] to humanoid robot [57]. In Marilou, a robot must be designed and constructed in a CAD-like interface that is the so-called Marilou Physical Editor (MPE). All physical dimensions in MPE such as shape or geometry of body, its mass, links (between each body), and location of sensors and actuators that will be attached must be properly designed according to the dimension of proposed robot realization. Once the development of model robot is finished, the user can choose which programming language will be used. In **Table 1**, there are several robotic simulations that use open dynamic engine as their physics engine.

The features of Marilou simulation package are shown in **Table 2**. Sensors and actuators are embedded in a body of geometry or link. Based on these features, any robot's structure can be built even for the most complex and difficult robots such as humanoid robot [58] or multi-legged robot [59]. Furthermore, the virtual of realworld environments can also be developed in robotic simulation studio. However, to some extent, different license types may give the user different numbers of geometries, *Computer Simulation of Human-Robot Collaboration in the Context of Industry Revolution 4.0 DOI: http://dx.doi.org/10.5772/intechopen.88335*

**Figure 8.** *General structure of anyKode Marilou.*

maximal devices, and number of robot instances per computer. The maximum number of instances is 12 robots that can run in one computer simulation. This number of robots can be used, for example, in the case of two teams of robot play soccer.

The general structure of robot simulation such as Marilou simulation studio can be depicted in **Figure 8**. It consists of world, robot model, bodies, joints, interface, and client. In Marilou, the interface program, Marilou Open Device Access (MODA), is used to communicate with the client. The client sends data or commands to the robot model to the joint through actuators since the actuator is attached directly to a joint robot. Likewise, the client may receive data from sensors in which the robot is interacting with its environments. Based on this structure, the user may develop a collaborative robot, such as mobile robot, for example, in safety scenario when robots are near to humans. The human can be modeled as a dynamic obstacle. Whether the obstacles are static or dynamic, for example, wall, human, or any objects, the robot must be able to detect those obstacles, predict the movement, and perform the necessary response to prevent any collision.

Marilou simulation is able to simulate multiple robots in one computer by using MODA (Marilou Open Device Access). MODA is a default Marilou SDK and used to reach every robot at the same computer. It can be used for centralized or distributed architecture. In centralized architecture, all robots are accessed from one application program, while in the distributed architectures, each robot is accessed by different application programs separately. Those robots are considered as a single entity that has its own brain and controller whether they are different robot types or similar ones. To develop such multi-robots, usually a robot model is developed in the physics environment in Marilou. Once the robot model that consists of actuators and sensors is completed, the user may choose centralized controller by connecting all robots to one application program or distributed controller by connecting each robot to different application programs for multi-robot application.

However, there is limitation for how many robots in distributed architecture can be simulated at the same time in one computer. Marilou has different features for

multi-robot simulation depending on the type of license. For example, for professional license, the maximum number of instances that can be running per computer is 12 robots, while for education and project license is 8 robots and 2 robots, respectively. In the context of collaborative robots, human workers can be modeled as a single machine that moves independently and assumed as dynamic obstacle. The development of control algorithm and collaborative robot model can be tested and verified through computer simulation by observing how the robot behaves in dynamic environments or near human workers. This feature may serve to simulate robot-robot collaborations and human-robot collaborations in different scenarios.

The main safety system for human-robot collaboration and the essential sensors as discussed in [20] are feasible if constructed using Marilou simulation, because it has similar devices (actuators and sensors) as given in **Table 2** that can be incorporated in developed collaborative robots. These sensors include force and torque sensors, touch area, laser range finder, LIDAR, and bumper where these components can be used for safety in collaborative robots. In a practical example, the feasibility of solving a problem of 3D collision avoidance for safe human and robot coexistence as discussed in [60] can also be possibly implemented in Marilou. This dynamic simulation would be visually more attractive than computer simulation presented in [60].

An empirical application example of Marilou simulation is for developing a simulated wheelchair on a virtual environment in which brain-computer interface is used to command the wheelchair in host computer [61]. Indeed, this work is for research only and has not been applied and implemented for industrial application. Here, the author argues that Marilou simulation is, in fact, reliable enough to be used for research and development. The system developed in [61] is illustrated in **Figure 9** where brain-computer interface (BCI2000) [62] is connected to a host computer using UDP data communication protocol to control a simulated wheelchair on virtual environments. In host computer, a C++ program is developed to receive command from BCI2000 operator, and then, through MODA interface, the simulated wheelchair on virtual environment can be controlled.

In another practical problem, for example, in human-robot interaction research like in urban search and rescue (USAR) robotics as given in [63], computer simulation can be used as a simulator-based research since the system is relatively simple to model, has high fidelity dynamics for approximating robot's interaction with its environment using current physics engine, and capability of modern graphic

**Figure 9.** *Brain-computer interface and Marilou simulation [61].*

*Computer Simulation of Human-Robot Collaboration in the Context of Industry Revolution 4.0 DOI: http://dx.doi.org/10.5772/intechopen.88335*

**Figure 10.** *KUKA KR6 simulation [26].*

cards to approximate camera video. In USARSim, the camera is attached to a mobile robot in unknown (virtual) environments, and the user can monitor and control the robot remotely through camera feedback [63]. This scenario can be extended to larger problems of related research for simulating a human-robot interaction and human-robot collaboration. Although the simulation in [63] is not developed in Marilou simulation, the components of devices in USARSim can also be found in Marilou simulation, for instance, the camera sensor (as shown in **Table 2**). Thus, the development of human-robot interaction in Marilou simulation is feasible.

The robot performance for intended industrial application can be evaluated and analyzed if the similar and accurate model of environments can be captured and designed in simulation. For example, as it is given in **Figure 10**, KUKA KR6 robot is placed in a cage for safety reason. This robot can be used for simulating pick-and-place robot tasks, and the users are only concerned with controller design and implementation. Thus, the performance of the robot in specific tasks can be analyzed, for example, to observe the payload, speed response, and accuracy. Of course, the performances of whole dynamic simulation system are depended on sensors used as feedback.

In industry application such as Tesla or BMW, utilizing industrial robots including collaborative robots are still challenging because the robots are not agile enough to keep up the production target [39]. To solve this problem, specific collaborative robot can be developed in computer simulation with real-world simulated environments so that the whole process of production lines can be analyzed and evaluated comprehensively. This means the user can choose which type of robots should be used for specific line of cell to increase productivity, whether it is industrial robot, collaborative robots, or autonomous robots. In spite of the potential advantages of robotic simulation like Marilou to solve real problems, the robot simulation package has limited capability for simulating a large scale of robotic systems running at the same time. This scenario is very important, for example, to simulate robots in automation industry where traditional industrial robot and collaborative robot are existing and used for efficient and productive solution. In fact, this computer simulation of large-scale robots is still rare; unfortunately, this type of simulation can be beneficial toward industry 4.0 paradigm in regard to smart factory and productivity.
