Automatic Modeling and Simulation of Modular Robots

The ability of reconfiguration makes modular robots have the ability of adaptable, low-cost, self-healing and fault-tolerant. It can also be applied to a variety of mission situations. In this manuscript, a robot platform which relied on the module library was designed, based on the screw theory and module theory. Then, the configuration design method of the modular robot was proposed. And the different configurations of modular robot system have been built, including industrial mechanical arms, the mobile platform, six-legged robot and 3D exoskeleton manipulator. Finally, the simulation and verification of one system among them have been made, using the analyses of screw kinematics and polynomial planning. The results of experiments demonstrate the feasibility and superiority of this modular system.


Introduction
Traditional robots are developed based on specific tasks [1] . Therefore, every robot can only adapt to a certain range of workspace. The disadvantages of poor flexibility, poor self-repairing, low fault tolerance and high cost make them more and more unsuitable for the changes of market. Meanwhile, what people really need is a programmable multifunctional flexible device that can meet the demands of different tasks by changing its own program. So people have to develop the reconfigurable modular robot system, including static reconfigurable modular robot and dynamic reconfigurable modular robot. Reconfigurable modular robot system is composed of a set of modules with different size and performance characteristics, using these modules can quickly build a variety of different configurations. Because of these advantages, many scientific research institutions, universities and companies are engaged in the aspects of researching, designing and manufacturing of modular robots. But there are some shortcomings in the existing modular robot platform, such as single module types, less construction of robot systems, etc. In this paper, a modular robot system based on the screw theory and modular theory was designed. Although the type of joint modules contained in this system is simple, we can achieve completely different movements and build different types of robots by combining different auxiliary modules. The modular system platform we designed, shown in figure 1, has many advantages [2] . First of all, similar modules consist of the same compositions, which means it is easy to assemble and disassemble, making it easier to upgrade and maintain. Secondly, it has a larger self-respect of loads than before. Thirdly, the method of hollow hole routing is adopted to eliminate the unsafe hidden troubles caused by the outer edges. And then, the robot configuration constructed with this module library use the least number of modules and module types. Next, the feature-rich API and compatibility between Windows and Linux systems will help users to redevelop. Finally, the modification of control algorithm in motion control is based on ROS, which is very simple.

the Partition of Modules
Currently, there are many ways to divide modules. Benhabib [3] divided the module system into four parts based on the angle of the mechanical, including joint module, connecting rod module, terminal execution module and basic unit module. Paredis [4] proposed the hardware module partition method. In this manuscript, the module library is divided into joint module and auxiliary module simply, and auxiliary module is a functional component to realize different robot system.  A set of joint modules designed by this module library is shown in figure 2, and various auxiliary modules are shown in figure 3. All joints are rotatable joints. The upper and lower surfaces can rotate relative to 360 degrees continuously. When adding the appropriate front and rear covers on the joint, the

1234567890''""
International Conference on Robotics and Mechantronics (ICRoM 2017) IOP Publishing IOP Conf. Series: Materials Science and Engineering 320 (2018) 012003 doi:10.1088/1757-899X/320/1/012003 non-parallel output can be achieved. Auxiliary modules are functional units designed to extend the functions of joint modules. Listed as figure 3, including wheel of mobile platform, bracket and assembly finger of manipulator, the connecting linkage of the manipulator, carbon fiber leg and motherboard of six-legged robot. The actual modular robot platform contains more modules.
In mechanical structure, the connection between joins and auxiliaries is realized by card ring and positioning pin, by which quick loading and unloading can be achieved. On the other hand, a CAN bus is used in the module communication system.

Configuration Design of Modular Robot
The configuration design is a problem to choose the optimal configuration from different modular combinations based on a specific task, which belongs to a kind of optimization analysis. It can be defined as designing complete robot configurations according to certain optimization criteria, by selecting suitable joint modules and auxiliary modules from the designed module library.

the Expression Method of Incidence Matrix Based on Graph Theory
The information of the number of models, the type of modules and the connection orientation in the configuration, can be expressed by applying graph theory and the Incidence matrix expression method. Because the joint modules in this module library are all rotating joints, the list of modular types in the incidence matrix is removed. The configuration, schematic diagram and correlation matrix of five degrees of freedom robot are shown in figure 4.

Optimization Design of Configuration
The configuration design of the reconfigurable robot is guided by the target task. It refers to the selection of the most suitable one for the current task among various robot configurations assembled in the module library [5] . The target task is to realize the trajectory of the robot in Cartesian space. Therefore, the configuration design processing can also be defined as: according to the given position information of the robot in space, the optimal configuration satisfying the conditions is obtained through the constraints including configuration variables and target evaluation functions we set. The process of configuration design of modular robot is shown in figure 5. For a given configuration requirement, the system will first select module configuration. Then it will traverse all configuration module libraries through the evaluation standard to judge. Finally it could get the optimal configuration in freedom, kinematics and dynamics, and output it to the user.

Modular Robot Configuration
According to the above configuration design method, the robot module library is used to build different kinds of robot system. Figure 6. Industrial Manipulator Arms. The mechanical arm built by the joint modules and link modules in the modular library is shown in figure 6. By using different types of joints to implement different output from input, we can control the pose of the end of the robotic arms. At the same time, we can add cameras, grippers and drills to the end of the manipulators to realize image-feedback, object-grabbing and industrial plastic-working. The robotic arm can be mounted on a mobile platform to enable remote wireless visual working, thus keeping the operator away from dangerous situations. Other configurations, such as wheeled mobile robot platform, six-legged crawling robot and wearable exoskeleton manipulator, are shown in figure 7. The mobile platforms, with integrating driving device, retarder and braking in its modules, can easily realize the forward-moving, deceleration and braking of the car. Thus, the car in figure b is more likely to pass roads which has height limit or go over obstacles. The six-legged crawling robot, as shown in figure c, uses carbon fiber linkages as the legs and hemispherical carbon fiber parts as foots. The controller is installed on the motherboard and the joints and legs are controlled through the CAN bus. We can achieve the goal of a six-legged robotic movement trajectory from parallel to vertical. Wearable exoskeleton manipulator, as shown in figure d, can do some work in place of human arm, such as automatic machine tools, automatic production lines, or medical treatment.

Modular Robot Simulation
Modular robots can be restructured according to task requirements, and each configuration of the robot corresponds to different mathematical models. At present, the most common method of kinematics is D-H modeling [6] , but this method is very dependent on configuration. It means that the D-H model has to be rebuilt every time when the configuration changes, which is very complicated. Thus it is meaningful to present a more rapid general kinematics modeling method.

Inverse Kinematics
In this manuscript, the Screw analysis method of modular robot is put forward based on the combination of rigid body motion laws and mathematical methods, including of Li's group and Li's algebra, Screw theory and matrix operation. Therefore inverse kinematics analysis based on Screw is shown in figure 8. According to the formula of POE and the iterative inverse algorithm, we can write the MATLAB program to get the graphical user interface of the forward and inverse kinematics. In this manuscript, the trajectory planning method of polynomial interpolation in joint space is carried out [7] . By MATLAB to simulate the 5 DOF modular robots [8] and verify the method of the kinematic algorithm and the motion planning algorithm, the end position of the manipulator model was shown in figure 9.

Summary
In this manuscript, a kind of robotic platform based on module is designed. Firstly, the system architecture of modular library, the combination method of joint modules and auxiliary modules are presented. Then, with using this modular platform to develop several kinds of robots, including industrial robot arms, mobile platform robots, hexapod crawling robot and 3D exoskeleton manipulator, the configuration optimization method is given. In the end, with the kinematics analysis is carried out using screw theory and the trajectory planning is carried out using polynomial theory. The robot system is simulated and verified. The results of experiment show that the modular system is universal. Further studies, such as double-programming environment, will be worked on. We hope a robot based on the module library will be compatible with both Linux and Windows, so that users can get the movement they want according to their own habits. We are also looking into the field of teaching robots, to make robots meet user's demands by imitating their actions.