Computer Simulation of Human-Robot Collaboration in the Context of Industry Revolution 4.0

The essential role of robot simulation for industrial robots, in particular the collaborative robots is presented in this chapter. We begin by discussing the robot utilization in the industry which includes mobile robots, arm robots, and humanoid robots. The author emphasizes the application of collaborative robots in regard to industry revolution 4.0. Then, we present how the collaborative robot utilization in the industry can be achieved through computer simulation by means of virtual robots in simulated environments. The robot simulation presented here is based on open dynamic engine (ODE) using anyKode Marilou. The author surveys on the use of dynamic simulations in application of collaborative robots toward industry 4.0. Due to the challenging problems which related to humanoid robots for collaborative robots and behavior in human-robot collaboration, the use of robot simulation may open the opportunities in collaborative robotic research in the context of industry 4.0. As developing a real collaborative robot is still expensive and time-consuming, while accessing commercial collaborative robots is relatively limited; thus, the development of robot simulation can be an option for collaborative robotic research and education purposes.


Introduction
Computer simulation has become an important tool in robotic research and development [1]. It provides a modeling and evaluation tool for complex systems that are analytically difficult to deal with. Frequently, a robot is consisted of links, joints, sensors, actuators, controller, and other structural elements which are integrated to form a whole system [2]. Indeed, developing a real robot is very expensive and time-consuming and requires multidiscipline skills. Nevertheless, a rapid prototyping environment for modeling, programming, and simulating robot is provided in robotics simulation software [3]. In computer simulation, developers are able design a robot model and evaluate the model such that it fulfills the designation requirements. This includes to identify the unexpected problems that may rise before the physical robot is realized. To some extent, computer simulation can be used to perform experiment and verify the trajectory planning or the efficacy of implemented control algorithm. On the other hand, systems with cloud computing and any other emerging technologies [19] (e.g., 5G wireless technology). Thus, the robotics technology is one of the essential drivers for industry 4.0. This technology and several other relevant technologies that associated with industry 4.0 are given in Figure 1.
In the last few decades, industrial robots could support human workers with complex and high-precision, repetitive, and dangerous tasks. Some of these repetitive tasks, for example, are paint and sealant applications, welding, assembly, material handling, inspection, and so on. However, this robot was not safe for humans to work side by side. Thus, the robots are usually placed in a cage or in an area where humans must stay away from them. In the era of industry 4.0, the popular robots are intelligent, able to collaborate, flexible, mobile, and connected. Several examples of such robots are Bosch APAS assistant, KUKA LBR iiwa, ABB YuMi, FANUC CR-35iA, MRK Systeme KR 5 SI, and Universal Robots UR5. The importance of collaborative robots is to increase the productivity and efficiency (as demanded in new industrial paradigm) when they work side by side with humans [20]. The deployment of these collaborative robots in the new industrialization era raises the potential for complex human-robot interaction (HRI) to create highly flexible processes by mean of symbiotic human-robot collaborative process [21].
The emerging technologies in robotics have enormous effect on education of people. However, only qualified and highly educated employee will be able to control such technologies, so collaboration between the industry and university should be more intense [23]. For example, a study on the usability and acceptance of an industrial prototype in relation to collaborative robots with humans in [24] has suggested the urgency of adaptation of assistive robot systems. It is well known that the collaborative robots (cobots) are very expensive and they are not easily accessible by common students and researchers, except for those who work in leading research institution or industry. To tackle this problem, developing a robot simulation and using it as a testbed is one of the solutions. With this regard, robot simulation is required to have some similar sensors and actuators as those of existing robots. In current robot simulation studio, those features are embedded in many robotic simulations, that is, utilizing open dynamic engine (ODE). In addition, they Future of Robotics -Becoming Human with Humanoid or Emotional Intelligence 4 are quite popular because of their reliability and performance in collision detection system [25]. Some examples of these robot simulations that are quite popular are, namely, Marilou [26], Gazebo [27], and Webots [28,29].
This chapter discusses the utilization of robots in the industry which comply with industry 4.0 paradigm. More specifically, we elaborate the new emerging industrial robotics that is so-called collaborative robots. The collaborative robots have made humans and robots work side by side without a safety cage. The application of collaborative robots, for example, in automobile industries, has contributed to smart and intelligent manufacturing which is aligned with industry 4.0 concept. This new industrial revolution's paradigm is still in progress with some challenges. However, there are several issues with regard collaborative robots as well as its implementation in industry. In a case study, we elaborate a collaborative robot named Baxter robot as a role model of robot application that evolves toward industry 4.0. With the advanced computer technologies, computer simulation has become an essential tool in robot development. Research in the fields of robotics and its control system can be validated and analyzed using robot simulation. Thus, the computer of robotic simulations has given new opportunities with regard the new trends of collaborative robots.

New era of industrial robots
Robotics has played an essential role in manufacturing industries for so many years. They are tough, fast, and very accurate to perform specific tasks. In terms of speed and accuracy, robot performance is way much better than human workers. However, those robots have left significant gap because it takes hundreds of hours to program [30]. They are employed mainly for specific tasks that involve dangerous tasks and monotonous operation with great precision. Some of these applications are paint and sealant applications, welding, assembly, material handling, inspection, and so on [31]. In old-fashioned and traditional robot in industries as depicted in Figure 2, the working space of robots are isolated from human workers because it may harm humans if they work near robots or within the working area of robots. At present, with advanced robotics technologies, humans and robots can work side by side collaboratively. The collaboration between humans and robots is still in primitive way, in the sense that the robot is able to detect collision or foreign object and then a corresponding response is executed, for example, by reducing its speed or stopping immediately. Another collaborative robot such as Baxter robot which Conventional automation factory using KUKA robotics [33]. is designed as an industrial robot can work very closely with people. However, the precision of this robot is still limited [32], and for now it cannot compete with other popular industrial robots, for example, KUKA, ABB, FANUC, Universal Robots, etc., in terms of repetitive tasks. Nevertheless, the usability of this robot is its suitable application as a robot assistant in which the precision can be tolerated.
Collaborative robots are also known as cooperative robots, cobots, or robot assistants [30]. They are mechanical devices that provide guidance through the use of servomotors, while a human operator provides motive power [34]. Generally speaking, it can be denoted as a robot that works side by side in a safe way either with another robot or with human workers to complete specific tasks. Thus, safety and productivity are the two important issues and become the main factors for design of robotic collaborative behaviors [35]. In human-robot collaboration, this behavior is related to how robots react when human physical contact occurs during execution. On the other hand, human-robot interaction in the general sense is a study of robotic systems for use by or with humans which concern with understanding, designing, and evaluating robots [36]. In physical human-robot interaction, human safety is the main concern and must be considered when evaluating robot setups in a workspace [37]. This interaction is related to a form of communication whether the robots and humans are positioned near to each other or not. Obviously, this interaction term does not necessarily mean collaborating, but merely how the two parties are communicating or interacting with each other in a certain way, while the other term means working together to achieve shared goals. Although these two terms are different in meaning, the human-robot interaction in fact can be used for collaborating. Thus, human and robot collaboration stands between the lines of manual manufacturing (where humans work manually) and full automation (where robots work independently) [30]. By collaborating between humans and robots (or machine), it is widely known that they become more productive than if each party work individually.
Collaborative robots at least have several elements, namely, the ability to detect any object within its work space and then react in order to prevent any collision [30], flexibility and situational task sharing [34], and cooperation on a mutual workplace [34]. These three elements differentiate collaborative robots from traditional robots even though the appearance between those industrial robots is the same. Their structural forms of multi-degree of freedom (multi-DOF) are intended to have the capability of reaching every specific coordinate of their workspace. In the case of task complexity or challenge situation, the collaborative robot tends to have more joints, for example, as given in Figures 3 and 4, that is, ABB YuMi IRB 14000 has 14 joints in total or 7 joints for each arm, while KUKA LBR iiwa has 7 joints, respectively. The structural models are reasonable because collaborative robots are designed to be ergonomic. For robotic system with many joints, the complexity of such control system becomes more difficult. Thus, research in control system for such robot is challenging problem.
The competition to bring up the elements of industry 4.0 is still under way between companies in Asia, Europe, and America [38]. There are two successful robotic implementation in industries that link to industry 4.0, namely, robotic application in automobile factories of BMW and Tesla [14]. In BMW group factory, the autonomous mobile robots are used for smart transport systems in supply logistics, while KUKA collaborative robots are utilized to work side by side with humans, for example, for lifting and positioning heavy components and welding operations [39]. On the other hand, Tesla's factory also has utilized robots with other technologies in their production lines to support smart and intelligent products [14]. One example is the use of industrial robots for repetitive tasks such as applying an even layer of paint for automobiles. For several types of repetitive tasks, fully automated production with robots is chosen instead of human workers, but for other specific Future of Robotics -Becoming Human with Humanoid or Emotional Intelligence 6 tasks, human workers can not be replaced by robots because humans have skills, knowledge, and intuition. Which tasks that should performed by robots or human workers must be analyzed, otherwise the robot utilization in the industry can lead to production delays [39]. Indeed, robotic technologies must be incorporated with  any other emerging technologies to improve efficiency and productivity, but this utilization must be well prepared, properly designed, and carefully implemented for end-to-end production lines.
The collaboration between humans and robots is a new shift in industrial and service robotics as an element of strategy for industry 4.0 [30]. This strategy has a goal to set up a secure environment for human-robot collaboration. The framework for safety in industrial robot collaborative environments can be found in [20] where CPS is currently included as part of recent development in intelligent manufacturing. The use of CPS helps to bring the sharing of workspace for human-robot collaboration. The shared workspace of robots and human workers can be illustrated in Figure 5 in which there are three possible configurations: (a) Isolated workspace where robots must be put in a cage in order to prevent any harm to human workers. (b) Some part of the area is shared among humans and robots. (c) Fully shared workspace where humans and robots work side by side to perform several tasks. In the first scenario, there is no interaction or whatsoever between humans and robots when the robot is in operation, while in the last scenario, the human worker may have contact or interaction with the robot in a safe way. Due to safety issue, the robot in the first scenario can be programmed faster than the robot in the last scenario. Thus, these three different scenarios must be designed and evaluated when they are utilized in industry so that the utilization can yield higher efficiency and productivity. This safety issue was also the subject of investigation for the critical requirements of fenceless implementation in human-robot collaboration, specifically in automotive application where the robotic system can be divided into three levels of complexity [42]. However, the new technology capabilities as suggested in [42] are already realized in collaborative robots that are built today.
The humans and robots in Figure 5(a) and (b) are not interacting with each other. On the other hand, in Figure 5(c), the interaction at least is limited with physical interaction [43]. Human-robot interaction is related to communication between humans and robots whether it is remote interaction or proximity interaction [36]. The elements of human-robot interaction which consist of task structure and user attribute as discussed in [44] probably can also be investigated for future technology in human-robot collaboration. Although this research discussed in [44] is applied in ASIMO (humanoid robot), the research probably can also be implemented for collaborative robots, for example, Baxter robot and ABB YuMi. Some On the other hand, mobile robots have become more compliant with human workers in factory. They work autonomously with self-driving and are able to detect obstacle and be aware of human existence. Some of the examples are KUKA youBot [45], mobile industrial robot (MiR), and OTTO self-driving vehicle (SDV) [46]. Figure 6 shows OTTO 1500 SDV in which the robot is designed to move pellets, racks, and other large payloads through dynamic production environments with the ability to carry maximum load of 1500 kg. The combination between manipulator and mobile robots for one system can also be found in mobile robot KMR iiwa and mobile manipulator robot CHIMERA. Another form of collaboration between humans and robots in industry application for different tasks such as lift assist or hands on payload can be found in iTrolley module system [47].
In traditional industrial robots, there are several different modes in programming robots, namely, physical setup, lead through or teach mode, continuous walk-through mode, and software modes [2]. In software mode, there are two different approaches, namely, offline programming and online programming. In offline programming, robot simulation is used and set up in advance, while in online teaching, real robot is employed to generate robot program [48]. On the other hand, in collaborative robots, the user may program collaborative robot using task-level programming software tool which is developed based on robot skill concept [48]. The robot simulation as mentioned in programming real robots is totally different from programming robot in robotic simulation studio such as Marilou. In Marilou, the robot model is developed from scratch, and each joint with actuators and sensors is defined, and then, the controller system is designed and implemented using specified language programming. Thus, the robot programming in robotic simulation studio like Marilou is more flexible for different robot models and applications. Figure 7 shows a robot that is the so-called Baxter by Rethink Robotics. It is a semi-humanoid robot with limbs of 7 DOF joints to form a dual-armed robot. This robot is a type of industrial robot with several unique features which include the safety for collaboration with human, user-friendliness, ability to train manually with no programming required, and ability to respond to a dynamic environment [49]. The advantage of collaborative robot such as Baxter is the ability to adapt to circumstances because the robot can be adjusted and applied to different applications by reprogramming the robot quickly. Another latest similar version from Rethink Robotics with only one arm is Sawyer. Baxter and Sawyer are both collaborative robots where they can work side by side with human workers and adapt to real-world variability in semi-structured environments. Some research have been conducted which involved Baxter robot for various applications and problems. For example, manipulation-based assistive robotics [50], performance assessment for point-to-point motion problem [32], and collaborative manipulation of a deformable sheet between humans and Baxter robots [51]. It is suggested that Baxter robot has a good potential for future robotic applications for home services or industrial applications.

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 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,  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 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.

Humanoid robot
A humanoid robot is a robot having two legs, two arms, the shape of a human body, a trunk, and a head. Usually, it is associated as the robot with the appearance of Figure 10. KUKA KR6 simulation [26]. a full human body and has the ability to walk, for example, Honda ASIMO, HRP, and HUBO robot. These three examples have similarity with its appearance as well as in mechanical design. The research in humanoid robot was initiated around the 1970s in Japan after the development of "Honda P3" by Honda Motor Co., Ltd. The purpose of this development was to build humanoid robots that can walk stably and mimic how humans walk. Since then, many research groups in humanoid robot pursued developing practical humanoid robot. At that time, Japan and South Korea are probably the leading countries in the research of humanoid robot. However, in literature, it seems the research problems in humanoid robot become broader topics and diverse from control walking, grasping, visual recognition, social interaction, virtual simulation, intelligent robot, and so on, including human-robot collaboration and interaction. Here, the author discusses and highlights humanoid robot toward industry 4.0, in particular human-robot collaboration and human-robot interaction. Other aspects of intelligent robot and virtual robot simulation will be briefly presented.
At present, commonly there are two types of actuators used in humanoid robots: First, motor or servo type with harmonic drives, for example, as in Honda ASIMO [64], DRC-HUBO+ [65], and Valkyrie NASA [66], and second, hydraulic type as in Atlas robot [67] and PETMAN [68]. The significance of the two actuators is very different in the sense that the first group of robots has slower response than the second group. The hydraulic actuator has a greater torque relative to the same size of electric motor, and thus, the robots that use hydraulic system are comparatively free from insufficient joint torque problem, while the robots that use electric motor have some problem with insufficient joint torque [65]. Despite of various actuators being used in humanoid robot, the trend of humanoid robot development is the robot that is lightweight with slim body. This design would make it easier for the robot to maneuver and perform certain tasks.
In industrial application, a semi-humanoid type robot such as Baxter robot is well known as a collaborative robot, and it is used in various industry applications to perform certain tasks. Although this robot is not a full body of a humanoid robot, most of it appears as a human except the fact that the robot has no legs to walk. Indeed, the advantage of full-body humanoid robot is that it can maneuver more easily in a complex terrain. However, in industry application or in other manufacturing industries, the terrain is usually simple with flat terrain, but the obstacles are more complex and dynamic. The general comparison of different robots including humanoid robots is presented in Table 3. It is given in Table 3 that the humanoid robots are commonly used for research, technology demonstrator for specific tasks, or for human-robot interaction. This shows that the humanoid robots so far are not intended for competing with other robots in industrial applications. The use of semi-humanoid robot for collaborative robots in industrial application is more practical than that of a full body of humanoid robots. In fact, the full-body humanoid type of robot is commonly used for research only so far in order to solve practical engineering problems. For example, DCR-HUBO+ in [69] is used to solve the challenging problems of simple tasks such as debris removal, door opening, and wall breaking in the event of the DARPA competition.
The success of humanoid robot in real-world environments is largely dependent on the ability to interact with both humans and its environments [70] in which the humanoid robot has some form of awareness to the real-world context. Hence, the robot's perception is a key issue for performing high-level tasks such as understanding and learning human-robot interaction. This perception can be detected from the high-level features of human facial expression and body gestures [71]. The perception systems are proposed in [71], but the variety of robotic software architecture and hardware platforms would make the customized solutions hardly interchangeable and adaptable for different human-robot interaction contexts. Another aspect of learning (in control point of view) for the humanoid robot is, for example, in the situation when the robot is falling to the ground. At this circumstance, the robot must be able  to get up immediately with certain self-learning process or automatic learning system. Some of the existing humanoid robots are given in Figure 11. They are commonly used for research as in human-robot interaction, control methods of bipedal walks, indoor localization, and navigation. Moreover, some of them are also used for education [72], entertainment [73], and for home service. The Cloud technology is one of the key components in the new industrial paradigm of industry 4.0. In relation to humanoid robot, one of the potential applications of Cloud technology is to provide collective robot learning, that is, robot sharing trajectories, control policies, and outcome [74]. One good practical example of Cloud technology application in humanoid robot is in the development of simulation of humanoid robot to complete certain tasks [75] which is part of the DARPA virtual robotic challenge. In [75], the existing Cloud technology was combined with Gazebo simulator for simulating humanoid robot. This developed robot simulation is not only applied to virtual humanoid robot in action but also to other specific challenging environments that must be handled by the humanoid robot. Another example of robotic simulation in the context of humanoid robots is given in [76] where V-REP robotic simulation was used as a testbed to observe how virtual robots would behave in completing certain tasks from given commands by humans. This research was related to teleoperation method based on human-robot interaction by mimicking human's movement visually for which Baxter robot would learn the movements. Again, robotic simulation would

Conclusions
Research progress in human-robot collaboration and the application of robot simulations toward industry 4.0 have been discussed in this chapter. The key components of collaborative robot in industrial applications are elaborated with various robot types that exist today. Indeed, the collaborative robots can be designed, modeled, and realized in computer simulation using open dynamic engine such as Marilou AnyKode. This virtual robot can serve as a testbed for different purposes from controller design implementation, robot interactions, to validation of robot in specific environment scenarios. Although existing robot simulation packages are equipped with many actuators and embedded sensors that support for application in collaborative robots, the simulation of collaborative robot is still rare to discuss in literature. Since the practical industrial application of full-body humanoid robot in the industry probably still has a long way to go, thus robot simulations can be a better choice for developing different types of robots for future applications, in particular in areas of human-robot collaboration and human-robot interaction for industrial application and home services. Another opportunity lies in virtual reality of humanrobot interaction, implementation of artificial intelligence in virtual robots, and synthesizing control algorithm for different robotic configurations.

Conflict of interest
The author declares that there are no conflicts of interest in this work. All works from other resources in the article have been cited carefully.
© 2019 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.