Automatic Generating Controller Expressions and Locomotion for ...

6 downloads 0 Views 728KB Size Report
as the default controller, but the parameter space is too large. Few scholars try to ... expressions and locomotion, which combines topology analysis, functional ...
Proceedings of the 2015 IEEE Conference on Robotics and Biomimetics Zhuhai, China, December 6-9, 2015

Automatic generating controller expressions and locomotion for UBot modular self-reconfigurable robot* Jie Zhao, Xiaolu Wang, Yanhe Zhu* 

Abstract— Chain-type self-reconfigurable robot (SRR), as a category of modular robots, is more suitable to implement whole body locomotion task, e.g. snake-like configuration squeezing through a narrow hole, legged-robot crossing over a rugged terrain. As SRR could construct diverse configurations and they are mostly super-redundant, it is challenging to plan these configurations' controller, especially for non-typical configurations. To resolve this problem, evolutionary computing paradigm is frequently used. However, the controller structure or expressions should be designed before evolving the parameters. Some researchers use fully connected CPG network as the default controller, but the parameter space is too large. Few scholars try to automatic generate reduced controller by topology and symmetry analysis, but their method is only applicable for limb-type configurations. In this paper, we propose a framework for automatic generating both controller expressions and locomotion, which combines topology analysis, functional substructure mapping, and isomorphic substructures constraints. This method can fit a large amount of configurations with different type of substructures. Taking UBot SRR as the instance, we realize and integrate the framework to the self-develop UBotSim software. The effectiveness is validated by extensive simulations/off-line optimizations of typical and non-typical configurations.

I. INTRODUCTION Modular Self-Reconfigurable Robot (SRR), composed of basic modules capable of certain motion and/or sensory ability, its morphology could be changed by attaching or detaching between modules, thus can better adapt to the varying environments and tasks. E.g. legged configuration can cross over a rugged terrain, and change into a snake-like robot to squeeze through a narrow hole. Because the module's commutativity and the morphology's changeability, SRR exhibits three promising features: versatility, robustness and low-cost [1]. Consequently SRR has the potential to play an important role in the unstructured environments like space exploration, search and rescue et al [2, 3]. Since the first reconfigurable system DRRS (aka CEBOT) was born [4, 5], lots of researchers have joined the army of exploring and exploiting SRR. More than a hundred of prototypes have been emerged up to now [6], and new ones are constantly produced. Based on the structural properties, these robots can be *Resrach supported by the National Natural Science Foundation of China (Grant No. 60273316) and Self-Planned Task (NO.SKLRS201501A02) of State Key Laboratory of Robotics and System (HIT). Jie Zhao, Xiaolu Wang, Yanhe Zhu are with the State Key Laboratory of Robotics and System, Harbin Institute of Technology (HIT). Yanhe Zhu is the corresponding author. Address: Science Garden of HIT, NO.2, YiKuang Street, NanGang District, Harbin, P.R. China. 150080 (phone:+8613074594165;fax: 045186413382; e-mail: [email protected]).

978-1-4673-9675-2/15/$31.00 © 2015 IEEE

classified as: chain/tree type, lattice type, hybrid type and mobile type [7]. Whole Body Locomotion (WBL) is one of the basic research themes in chain-type SRR, which is generated by coordination of many locomotive modules with rhythmic oscillation or rotation. E.g. walking, running gaits using leg joints. Some well-known chain-type SRRs like CONRO [8], PolyBot [9] etc., hybrid-type SRRs like M-TRAN [10, 11], SuperBot [12], Roombots [13] etc. are often used to exploring the generation or control of WBL. For a robot moving in an environment, how to plan each joint's drive function is firstly considered. If the configuration has its function-isomorphic counterpart in the knowledge library, we can map the controller to the robot [14, 15]. If no, how should we derive its locomotion controller? Generally, off-line optimizing of robotic locomotion is a frequently used method. The typical process is: Step 1: create a virtual robot and the environment in a physics-based simulator; Step 2: set the controller structure or drive expressions, and derive the parameters to be optimized; Step 3: use an evolutionary algorithm to evolve the parameters to get a better motion performance, which is evaluated in the simulator; Step 4: transmit the evolved controller to the physical robot and test the performance. Here the controller structure or expressions mean an expression set, the expression includes some variables to be optimized and can generate rhythmic signals to drive joints. As SRR has diverse configurations, setting controller expression (step 2) is also a workload. A question is: can we automatically generate both controller expressions and locomotion for SRR? In this paper, we propose an off-line optimization framework addressing the upward problem, which combines topology analysis, functional substructures mapping, and isomorphic substructures constraints. We realize the framework in our self-developed dynamics simulator and have tested many typical and non-typical configurations to validate the method's effectiveness. This paper is structured as follows: section 2 describes the related work and states our method's contribution; section 3 takes UBot as the instance to illustrate the framework details; section 4 lists the testing results and analysis of locomotion evolution for multiple robotic configurations; section 5 gives the conclusion.

923

II. RELATED WORK Whole body rhythmic locomotion depends on the coordination of each locomotive joint. From the control point of view, drive signals can categorized into three classes [16]: (1) deterministic functions like sine etc. that can generate rhythmic drive signals [17, 18]. (2) model-based curve signals, they are mostly computed by inverse kinematics. (3) CPG-based (Central Pattern Generator) control [19, 20]. CPG's advantage lies in the smooth transition of signals with different parameters, it has the same effect with sine function after it is converged. Model-based type does not have deterministic expressions. Sine function is more simple to control the joint, and it is employed for all the drive function in this paper. Off-line motion optimization needs two basic elements: controller structure/expressions and parameters to be evolved. In a redundant robotic system, controller structure determines that which joint is locomotive, and the relationship between parameters. In case of the form of controller structure, it is a regulated network for CPG-based control, function expressions for sine-based control. Parameters to be evolved are the variables in the controller that needs or expects optimization. A simple automatic generating controller network or expressions is: setting all joints as locomotive and all parameters are independent. This full-open controller is hard to evolve and only fit for a few typical configurations or low DoFs configurations. Mostly researchers choose to reduce the evolving space, e.g. Kamimura [21] evolved just CPG connections (determine phase differences) for several M-TRAN constructed configurations. Different with man-made reduction, Bonardi [22] tried to automatic generate the reduced CPG controller network according to topology and symmetry analysis, but they stated that their method just fit for limb-type configurations, and the CPG network is hard to expand. Yim [23] gave the formalized notion of functional embedding, i.e. if a big configuration A can implement the function of a small configuration B, call that: B is embedded in A. Inspired from Bonardi and Yim, we propose an off-line optimization framework for automatic generating controller structure and locomotion, which combines topology analysis, functional substructures mapping, isomorphic substructures constraints. Compared with Bonardi's work, our research differs mainly in the following two aspects:

Additionally, controllers are little different. Here we use caterpillar-type (Serpenoid curve) controller to control spine-type substructures, and a flexible controller for isomorphic limbs. Thanks for the expression parsing mechanism, more high-level substructures with complex expression-based controller can be joined. III. MATERIAL AND METHOD A. UBot System 1) Hardware UBot [24] is a hybrid type self-reconfigurable robotic system. As shown in Fig. 1, it has two types of basic modules. The black one is active module, white is passive. Each module has a universal joint (two rotary DoFs) and four connecting faces. There is a mechanical connecting mechanism on each active module's face. The red-green module shows the simulation model and coordinate system.

Figure 1. Structure of UBot basic module.

2) Software Many investigators have developed their own software platform to realize some special functions that general simulators don't have, like ALPG [21], USSR [25], Robot3D [26] and ReMod3D [27] etc. To acquire high performance of locomotion evolution and some other abilities like variable recognition and expression parsing etc., UBotSim was developed. OGRE and PhysX engine are employed to render the virtual world and simulate physics effect like torque, mass, friction, joint etc. We can derive a quite fast locomotion evolution speed by means of PhysX's automatic physics computing acceleration techniques like multi-core and multi-thread as well as GPU speeding up. Additionally, some useful open source libraries can be integrated to expand UBotSim's function. Furthermore, friendly research oriented GUI and self-defined file formats facilitate the evolution management and data recoding. Fig. 2 shows a screenshot of UBotSim. The software can be downloaded from website: https://sourceforge.net/projects/ubotsim/.

1. The use of sine function and expression parsing mechanism. We use the expression (sine) based controller for each motive joint, thus the expressions coupling is looser than CPG network. Combined with variable naming and expression parsing mechanism, we can impose parameter relationship just by variable name, i.e. variable values are the same if their names are the same even they belong to different joint controller. Additionally, the function set can be expanded easier than CPG network. 2. Mapping of functional substructures. We use this mechanism to further reduce locomotive joints because of UBot module's structural properties (two rotary joints in a module).

Figure 2. Screenshot of self-developed UBotSim software.

Additionally some open source functional SDKs are used. The joint control expression is evaluated by MTParser [28] and return a real value to update the joint angle. MTparser is an object-oriented mathematical expression parsing library, it

924

can define custom variables and constants, recognize undefined variables in the expression, support a great deal of predefined operators and mathematical functions such as '+', '-', '*', '/', sine, rounding, max, min and so on. Furthermore its calculating speed is fast and fulfil the joint's angle updating requirements. GAlib [29] is introduced as the genetic algorithm library. It supports many chromosome encoding methods suitable for solving different problems.

(UBot module has two parts), set this module as static; if not, set as motive. (2) Except spines, body modules are all set as static. Algorithm: Topology division and mapping Input: Robot with module info Output: RobotStructTree with mapped substructures Generate allModuleNodeSet from UBotRobot; For moduleNode in allModuleNodeSet If numLinks(moduleNode )==1 new limb; limb.push_back(moduleNode); limbSet.push_back(limb); EndIf EndFor For limb in limbSet curNode = getNextLimbNode(limb[0]); While(curNode) limb.push_back(curNode); curNode = getNextLimbNode(curNode); EndWhile EndFor CleanUpLimbSet; FindOutSpines; For limb in limbSet || spine in spineSet getLimbLine; For moduleNode in limb Set main joint index; Set joint orientation flag; EndFor EndFor *1.moduleNode {ID,faceLinkID[4],initPose,MainJointIndex,MainJointOrientFlag} 2.vector allModuleNodeSet, limb, body, spine; 3.vector limbSet, spineSet;

B. Topology Analysis and Process Through topology analysis, we can divide the configuration into several bionic functional substructures, like head, body, limb, spine, foot, tail etc. But not every configuration looks like normal animals. Thus we just need to find out the locomotive functional substructures, and evolving the coordination of locomotive organisms. As for UBot configurations, followed three steps can automatic generate controller expressions and locomotion. Step 1: topology division into functional substructures and labels them. Step 2: mapping substructures. i.e. determine each locomotive module's main joint ID and its orientation flag. Step 3: generate controller expressions for substructures according to substructure sets and label, as well as mapping results. Recognize the independent variables and evolve them to generate the optimal locomotion. The algorithm of first two steps are listed in the following pseudo-code.(Please refer to algorithm footnote for data type and structure.) Firstly, generate all modules' node information according to the input virtual robot. ModuleNode contains ID, each face's connected module ID, module pose, main joint's index and its orient-flag. Secondly, visit each moduleNode and put all limbs (leafNode has only one linked module and it starts a limb) into a limbSet. Then, search for limb modules and put them into corresponding limb in sequence. Afterwards clean up the limbSet: if the number of modules in a limb is less than 2, delete the limb and put the moduleNode into body; find out all spines (more than 3 connected isomorphic positioned modules in a line) in the body if there are some. Fig 4 shows an example that divide a four-legged robot (left figure) into substructures (right figure).

Main joint and orientation flag setting is shown in Fig. 4. Firstly we should aquire a base line for further setting. In case of the strict defined spine, its base line is easy to compute. For a limb, the base line is derived in following way: (1) get the lines between neiboring modules' centers, count which world coordinate axis has the most lines, and take that axis as the limb line. (2) If the number of line is equal in 2 or 3 world coordinate axes, take the priority sequence 'XZY'. Here the joint perpendicular to limb line is set as the main joint. If both, set joint J00 as the main joint. Joint orientation sign (flag) makes the joint have the same frame with the world coodinates, it can be computed by the product of joint-axis's projection in its located world coordinate. OrientFlag = J00Proj*J10Proj

(1)

Figure 3. Topology analysis example.

After we have found out all functional substructures, we should determine locomotive module and its main joint's index, orientation flag in the substructure. (1) For a limb, set foot module as motive; all other module in the limb has two linked modules, if the two modules are linked in the same part 925

Figure 4. Setting of main joint and its orientation for locomotive modules.

C. Controller Expressions Generation We use sine function to construct the controller expressions, use the variable names and naming rules to differentiate joint parameters and build correlations. Three controller expression systems are listed as follows.

Here ri is a relative ID from the spine beginning module. Variables space is sps1  [1,1]; sps 2 , sps 3 , sps 4  [0,1]. Here OrientFlag is a value of 1 or -1 determined in section 3-B. sps1 means the first spine variable in spine s. sps4 is used for generating the phase lag between different spines.

1) Full Open Controller This type controller opens all modules' parameters for UBot locomotion evolution, the expression is (2). This controller does not need the process in section 3-B

Rule 2: For a limb with more than 3 modules in spine-like connection. We call it a tail. A configuration may have many tails. The expression of module ri in tail l is (7)

i1 

 2

*( pi1  pi 2 *(1 | pi1 |) *sin( w * t  2*  * pi 3 ))

pi 4 i 2  i1 pi1  pi 2 *(1 | pi1 |)

2 *sin( w * t  2*  *( ri * ltpl 3  ltpl 4 )))

(2)

Where i is the module ID, each module has four variables to be evolved, pi1  [1,1]; pi 2 , pi 3 , pi 4  [0,1]. Then the number of evolving variables is NumPfullOpen  4* ModuleNum

 lri  (OrientFlag)* *(ltpl1  ltpl 2 *(1 | ltpl1 |)

(3)

ri  0,1,...ml ;

Where l is the limb ID, ri is the relative ID from foot module. Para-space is ltpl1  [1,1]; ltpl 2 , ltpl 3 , ltpl 4  [0,1]. Rule 3: For the normal limb not in an isomorphic limbSet, the offset, amplitude and phase are independent variables. The expression of module ri in single limb l is (8)  lri  (OrientFlag)* *(lpli1  lpli 2 *(1 | lpli1 |)

2) Reduced-Direct Controller By means of topology analysis, we derived the substructures and determined the locomotive joints. If set control parameters between motive joints as independent, we can acquire a reduced-direct controller as in (4). i 



*( pi1  pi 2 *(1 | pi1 |) *sin( w * t  2*  * pi 3 )) 2 i  {id | locomotive  module  id };

(4)

Different with full-open controller, its expressions just drive locomotive module's main joint, which is determined in upwards section 3-B. All parameters are independent, so the number of evolving variables is NumPTopoDirect  3* LocoModuleNum



3) Reduced-Indirect Controller Rhythmic locomotion in animals is generated by the coordination of joints. From a higher level, it is generated by the coordination of similar organisms with phase differences (like legs). Reduced-Direct controller does not consider the similarity in isomorphic substructures and other correlations existed in the mother nature. We can use these rules to further reduce the controller structure or number of evolving parameters. Here isomorphic legs controller and caterpillar controller (used in spines or tails) are considered. The parameters correlation is indicated by the variable name. All the names' format is letters plus numbers. Number part is set as the subscript for ease of distinction and understanding. Rule 1: For a spine, map serpenoid-curve controller shown in (6) to each module. This expression impose an equal phase lag along the spine line. Offset and amplitude are the same for different modules in the spine. 

 sri  (OrientFlag)* * ( sps1  sps 2 * (1 | sps1 |) 2 *sin( w * t  2 *  * ( ri * sps 3  sps 4 )))

ri  0,1,...ms ;





2 *sin( w * t  2*  *(lpli 3  lpl 4 )))



Where ri is the relative ID from foot module. Para-space is lpli1  [1,1]; lpli 2 , lpli 3 , lpl 4  [0,1]. Rule 4: For limbs in an isomorphic limbSet, offset, amplitude and phase variables are the same for modules with same ri. But each expression has two independent sign variables to generate different deployment for the limbSet.  lri  (OrientFlag)* *( sli1 * lpl ' i1  pl ' i 2 *(1 | lpl ' i1 |) 2 *sin( w * t  2*  *( sli 3 * lpl ' i 3  lpl 4 )))



Where l is the limb ID, l' is the reference limb ID in the limbSet. sli1, sli3 mean the sign variables for offset and phase in module ri of limb l. Because sign variable is introduced, the parameters space is set as lpl ' i1 , lpl ' i 2 , lpl ' i 3 , lpl 4  [0,1]. Using upwards rules, a reduced controller structure can be generated. Suppose there are ns spines, nsl spine-type limbs, n1 limbs not in any limbSet, n2 limbSets and n2i limbs in limbSet i, numLocoModl is the number of locomotive modules in limb l. Then the number of parameters can be computed as in (10) n1

NumPTopoIndirect  4*(ns  nsl )   (1  3* numLocoMod l ) 1

n2



  (n2i  3* numLocoModl  2* n2i * numLocoMod l ) 1

IV. RESULTS AND ANALYSIS For locomotion evolution of UBot configurations, it will be a disaster for evolving full-open controller when module number is large, e.g. it's hard to acquire a regular and feasible gait for a quadruped configuration using full-open controller. Shown in Fig. 6-b, the motion is twisted and difficult to transfer to hardware. So it is a good try to use knowledge-based topology division and functional

926

substructure mapping. Then we can obtain each joint's angle expression as described in section 3-C. This section we demonstrate the method's effectiveness for generating controller expressions and analyze the influence of reduced controller. Here we call the reduced-direct controller and reduced-indirect controller as RDC and RIC respectively. Many configurations are tested for the framework of automatic generating controller expressions and locomotion. The GASimpleGA algorithm and GARealGenome encoding method in GAlib are employed. The algorithm setting is: each evolution run 1000 generations, and popsize=40, Pc=0.6, Pm=0.01. The virtual robot's drive function frequency ω=π/2. Record robot's traveling distance in 3-15s (3 complete motion periods) as the fitness value. Each evolution run 15 times. Firstly we compared motion evolution in detail for four-legged configuration using RDC and RIC. Fig. 6 shows the evolution results. Blue line is for RDC and red line for RIC, and thick line is the average result. We can see that RIC achieved a better performance. And it has obtained the same motion distance around 500 generation, while RDC needs 1000 generation.

Figure 6. Comparsion of evolved gaits for a quadruped configuration.

2.5

Distance(m)

2

1.5

Figure 7. Some tested configurations with function isomorphic limbs.

1

0.5

0 0

Reduced-Direct Controller Reduced-Indrect Controller 200

400

600

Generations

800

1000

Figure 5. Evolution process for four-legged configuration.

By playing back the motion results, we found the modules in the body are static, this is in accord with the topology division and reduced controller generation. We put the frequently emerged pattern for RDC and RIC in Fig. 6-c, d. Compared with twisted motion in full-open controller, RDC has made it walk forward in a limb way. But only three limbs are exploited, the left-behind limb looks like crippled and does not contribute to the body motion. This is caused by the independent parameters of each leg. However, RIC evolution derived the regular motion pattern that four legs show highly coordination. Although four legs are isomorphic, evolution found a knee-elbow setting (effect of sign variables) for front and behind legs to maximize the robot speed. Except four-legged configuration, we have tested H-, Tand long-cross configuration (shown in Fig. 7) in RDC and RIC evolution. Evolution results are illustrated in Fig. 8, indicating that RIC can evolve better motion performance than RDC for configurations using isomorphic limbs as the drive organisms. Fig. 9 shows the screenshots of evolved gaits for several configurations. It can be seen that all the gaits are high coordinated by isomorphic functional substructures. H-type configuration achieved a gait similar to four-legged robot in RIC. T-type configuration use its limbs to realize a rolling motion. Long-cross configuration obtain a typical walk gait. 927

Figure 8. Evolution results of typical configurations with isomorphic limbs.

(a) Evolved gait of H-type configuration.

(b) Evolved gait of T-type configuration.

(c) Evolved gait of long-cross configuration. Figure 9. Screenshots of evolved gaits for tested configurations in RIC.

V. CONCLUSION This paper realized a framework of automatic generating both controller expressions and locomotion for UBot SRR, which was based on topology division and functional substructure mapping. sine function based expression was used to generate joint controller and variable naming & expression parsing mechanism was employed to build whole body controller structure. This way, manually setting controller structure or expressions is eliminated. Furthermore, evolutionary results has shown that the reduced indirect controller can generate more regular motion patterns and better performance for configurations with multiple isomorphic substructures. This research paves the way for co-evolving configuration and control for UBot SRR using reduced controller. The framework can be expanded to other chain- or hybrid- type self-reconfigurable robots.

REFERENCES: [1] M. Yim, W. Shen, B. Salemi, D. Rus, M. Moll, H. Lipson, E. Klavins, and G. S. Chirikjian, "Modular self-reconfigurable robot systems [grand challenges of robotics]," Robotics & Automation Magazine, IEEE, vol. 14, pp. 43--52, 2007. [2] M. Yim, K. Roufas, D. Duff, Y. Zhang, C. Eldershaw, and S. Homans, "Modular reconfigurable robots in space applications," Autonomous Robots, vol. 14, pp. 225--237, 2003. [3] M. Yim, D. G. Duff and K. Roufas, "Modular Reconfigurable Robots: An Approach to Urban Search and Rescue," in Proceedings of the 1st International Workshop on Human-friendly Welfare Robotics Systems Taejon, Korea, 2000. [4] T. Fukuda and Y. Kawauchi, "Cellular robotic system (CEBOT) as one of the realization of self-organizing intelligent universal manipulator,": IEEE, 1990, pp. 662--667. [5] T. Fukuda and S. Nakagawa, "Dynamically reconfigurable robotic system,", 1988, pp. 1581-1586 vol.3. [6] H. Ahmadzadeh, E. Masehian and M. Asadpour, "Modular Robotic Systems: Characteristics and Applications," Journal of Intelligent & Robotic Systems, 2015-06-18 2015. [7] P. Moubarak and P. Ben-Tzvi, "Modular and reconfigurable mobile robotics," Robotics and Autonomous Systems, vol. 60, pp. 1648-1663, 2012. [8] A. Castano, W. Shen and P. Will, "CONRO: Towards Deployable Robots with Inter-Robots Metamorphic Capabilities," Autonomous Robots, vol. 8, pp. 309-324, 2000-06-01 2000. [9] M. Yim, D. G. Duff and K. D. Roufas, "PolyBot: a modular reconfigurable robot," in Robotics and Automation, 2000. Proceedings. ICRA '00. IEEE International Conference on, San Francisco, CA, 2000, pp. 514-520 vol.1. [10] H. Kurokawa, A. Kamimura, E. Yoshida, K. Tomita, S. Kokaji, and S. Murata, "M-TRAN II: metamorphosis from a four-legged walker to a caterpillar," in Intelligent Robots and Systems, 2003. (IROS 2003). Proceedings. 2003 IEEE/RSJ International Conference on, 2003, pp.

2454-2459 vol.3. [11] S. Murata, E. Yoshida, A. Kamimura, H. Kurokawa, K. Tomita, and S. Kokaji, "M-TRAN: self-reconfigurable modular robotic system," IEEE/ASME Transactions on Mechatronics, vol. 7, pp. 431-441, 2002. [12] B. Salemi, B. Salemi, M. Moll, M. Moll, and W. Shen, "SUPERBOT: A Deployable, Multi-Functional, and Modular Self-Reconfigurable Robotic System,": IEEE, 2006, pp. 3636 - 3641. [13] A. Spröwitz, R. Moeckel, M. Vespignani, S. Bonardi, and A. J. Ijspeert, "Roombots: A hardware perspective on 3D self-reconfiguration and locomotion with a homogeneous modular robot," Robotics and Autonomous Systems, vol. 62, pp. 1016-1033, 2014. [14] Y. Zhu, G. Li, X. Wang, and X. Cui, "Automatic function-isomorphic configuration recognition and control for UBot modular self-reconfigurable robot,", 2012, pp. 451 - 456. [15] M. Park, S. Chitta, A. Teichman, and M. Yim, "Automatic configuration recognition methods in modular robots," The International Journal of Robotics Research, vol. 27, pp. 403--421, 2008. [16] N. M. Nor and S. Ma, "A Simplified CPGs Network with Phase Oscillator Model for Locomotion Control of a Snake-like Robot," Journal of Intelligent & Robotic Systems, vol. 75, pp. 71-86, 2014. [17] J. Zhao, X. Wang, H. Jin, D. Bie, and Y. Zhu, "Automatic Locomotion Generation for a UBot Modular Robot--Towards Both High-speed and Multiple Patterns," Int J Adv Robot Syst, vol. 12, p. 32, 2015. [18] Y. Zhu, X. Wang, J. Fan, S. Iqbal, D. Bie, and J. Zhao, "Analysis and Implementation of Multiple Bionic Motion Patterns for Caterpillar Robot Driven by Sinusoidal Oscillator," Advances in Mechanical Engineering, vol. 2014, pp. 1 - 12, 2014. [19] Y. Junzhi, T. Min, C. Jian, and Z. Jianwei, "A Survey on CPG-Inspired Control Models and System Implementation," Neural Networks and Learning Systems, IEEE Transactions on, vol. 25, pp. 441-456, 2014-01-01 2014. [20] A. J. Ijspeert, "Central pattern generators for locomotion control in animals and robots: A review," Neural Networks, vol. 21, pp. 642-653, 2008. [21] A. Kamimura, H. Kurokawa, E. Yoshida, S. Murata, K. Tomita, and S. Kokaji, "Automatic Locomotion Design and Experiments for a Modular Robotic System," IEEE/ASME Transactions on Mechatronics, vol. 10, pp. 314-325, 2005. [22] S. E. P. Bonardi, M. Vespignani, R. Moeckel, J. Van den Kieboom, S. Pouya, A. Sproewitz, and A. Ijspeert, "Automatic generation of reduced CPG control networks for locomotion of arbitrary modular robot structures,", 2014. [23] Y. A. T. T. Mantzouratos, "On Embeddability of Modular Robot Designs," in IEEE International Conference on Robotics and Automation, 2015. [24] J. Zhao, X. Cui, Y. Zhu, and S. Tang, "UBot: a new reconfigurable modular robotic system with multimode locomotion ability," Industrial Robot: An International Journal, vol. 39, pp. 178 - 190, 2012. [25] D. Christensen, D. Brandt, K. Stoy, and U. P. Schultz, "A unified simulator for self-reconfigurable robots,": IEEE, 2008, pp. 870--876. [26] L. Winkler, V. Vonasek, H. Worn, and L. Preucil, "Robot3D - A simulator for mobile modular self-reconfigurable robots," in Multisensor Fusion and Integration for Intelligent Systems (MFI), 2012 IEEE Conference on, Hamburg, 2012, pp. 464-469. [27] T. Collins, N. O. Ranasinghe and S. Wei-Min, "ReMod3D: A high-performance simulator for autonomous, self-reconfigurable robots," in Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on, Tokyo, 2013, pp. 4281-4287. [28] MTParser, "http://www.codeproject.com/Articles/7335/An-extensible-math-expr ession-parser-with-plug-ins,". [29] GAlib, "http://lancet.mit.edu/ga/GAlib.html,".

928

Suggest Documents