This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
This paper presents new controlling concept for multi-robot systems and describes as similar as using and inspiring neural networks from nature in order to solve some con-trolling problems and etc. Stem Cell Theory inspires from humans body natures for the first time in computer science to solve some problems in relation with controlling multi-robots system and disaster recovery creatively. Therefore, this paper constitute new control framework in order to control a group of NAO robots based on Stem Cell and called it Stem Cell Theory. More, we will describe some major subjects such as explaining Stem Cells and its nature and how and why inspire from them to control in a group of NAO robots, and then we will give some information about NAO robots and how NAO robots simulate to the stem cells in our concept. Further, describe how solve this problem which if a robot or agent damaged, another robots (Stem Cells) can handle this problem. Experimental results in MSRS1 shown that using this framework based on Stem Cells on a group of NAO robots increased 79% robustness of multi-robot systems compared to other frameworks.
During past years people in all over the world were working on robotic field, and some scientists in this field decided to hold some competitions which after times they called it "Robocup". RoboCup has demonstrated itself to be an inspiring event capable of accelerating research in a variety of robotic tasks beyond the original robotic soccer scope. Main aim of robocup is that a team of robots in year 2050 play football with the best team of that time, but another subjects have been cleared since that time was using some major and primary problems using AI via inspiring from the nature and humans body structure, for example using Neural Networks (or NN) to solve complicated problems which has been inspired from the humans body structure.
Now in this paper we will present how we can inspire from another human mechanism to solve some problem in computer science, and particularly in robotic and disaster recovery in client/server networks.
Here we are going to inspire from Stem Cells to dissolve pointed problems. For better understanding first we'll give a short descriptions about Stem Cells in medical science and then cause our approach is using Stem Cell in NAO robots we will give you some information about NAO robots and their mechanism, and in other parts we will show how we can use Stem Cell Theory in order to recovering NAO robots in disaster condition.
1.1 What are Stem Cells?
After introduction now it is time to mention that what are Stem Cells?
Generally, in medical science, Stem Cells are cells which have no special nature and they can convert to other important cells if necessary.
Stem cells are cells found in most, if not all, multi-cellular organisms. They are characterized by the ability to renew themselves and differentiating into a diverse range of specialized cell types. Research in the stem cell field grew out of findings by Canadian scientists Ernest A. McCulloch and James E. Till in the 1960s. The two broad types of mammalian stem cells are: embryonic stem cells that are isolated from the inner cell mass of embryo, and adult stem cells that are found in adult tissues. In a developed embryo, stem cells can differentiate into all of the specialized embryonic tissues. In adult organisms, stem cells act as a repair system for the human body, replenishing specialized cells, but also maintain the normal turnover of regenerative organs, such as blood, skin, or intestinal tissues. Stem cells can now be grown and transformed into specialized cells with characteristics consistent with cells of various tissues such as muscles or highly plastic adult stem cells from a variety of sources, including umbilical cord blood and bone marrow, are routinely used in medical therapies. 
As this paper has been said, there are two types of Stem Cells in general, first is Embryonic Cells and second one are Adult Cells, here presented how can divide robots into two groups. At first when our robots want to start a game or doing multi-robot tasks and when they are in same characters and they don't have any special different in their tasks based on their physical specifications this firs concept is similar to the embryonic cells which in the beginning of these type of Stem Cells life haven't any characters and after that they can convert to the another cells based on mammalian cells and body requirement. In following, in the first state when the robots tasks and positions have been determined, when a robot damaged and can't do its assigned task, in this condition, this paper explain that how we can inspire from adults Stem Cells to fix this problems that all of the system work properly as before.
2 NAO Robots
Nao is an autonomous, programmable and medium-sized humanoid robot, developed by the French company Aldebaran Robotics, a start-up headquartered in Paris. On August 15, 2007, Nao replaced the robot dog Aibo by Sony as the robot used in the Robocup ("Robot Soccer World Cup") Standard Platform League (SPL), an international robotics competition. The Nao was used in RoboCup 2008 and 2009, and the NaoV3R was chosen as the platform for the SPL at RoboCup 2010.Nao Robocup Edition has 21 degrees of freedom (DOF) while Nao Academics Edition has 25 DOF since it is built with two hands with gripping abilities.
All versions feature an inertial sensor and 4 ultrasound captors that provide stability and positioning within space to Nao. Nao also features a powerful multimedia system (4 microphones, 2 hi-fi speakers, 2 CMOS cameras) for text-to-speech synthesis, sound localization or facial and shape recognition amongst various other abilities.
The package includes dedicated programming software, Aldebaran Choregraphe and Nao is compatible with Microsoft Robotics Studio, Cyberbotics Webots and Gostai Urbi Studio
3 Using Bits String in NAO robots constitution
As this paper indicated, it is about using Stem Cell Theory in a group of NAO robots which are playing soccer in the robocup competitions. So first when a soccer play is going to start, robots first should know what is their tasks and what is their position in the soccer field, for instance who should be a goal keeper, defenderâ€¦ To solve this problem a string of bits should be defined and this string of bits should based on network medium be shared in all robots. For example as in the Token Ring networks, there is Token, this string can be same as this token and work similar this token. Therefore, when the string re-ceived by a robot, this robot based on its conditions can responsible for a task.
This picture shows Ring network compared with NAO robots network which is using bit string
For instance, when this string received by a robot (agent) with its physical conditions which want use low battery, it uses itself as a goalkeeper, and then in the bits strings which is token, change the goalkeeper bit to number 1 instead of zero, thus bits string received by another robot and this robot change its appropriate bit to 1, and this procedure continue until all robot find their tasks and position in the soccer field.
In general, this string makes if a team of robots wants two defender robots, just two robots be as a defender because bits of defenders in the string have been changed to the 1 and because these robots are connected to each other by Wi-Fi technology then exactly 2 robots can be a defender another robots never will be as a defender and this procedure happen for all robots. All of these procedures have been inspired from embryonic stem cells because, same as this kind of stem cells, first all of agents in this mission are the same and have no differences with each other exactly same as embryonic stem cells.
4 Data Synchronization in NAO Robots using Stem Cells
Now our soccer robots team is ready to play with the opponent team and we use embryonic stem cells theory to put the robots in the specified position in order to do assigned tasks.
The soccer starts and teams will play together and this section is not related to our control frame work until one of the agents or robots has been down. In this section we use adult stem cells theory in order to solve this problem, this paper describe this solution below.
When an agent has been killed, in the best condition captain (server) should recognize this subject. Here, it is good to mention that captain is similar to the other robots from general sight which with its properties changed its bit in the string from zero to 1. It is possible that it be an ordinary player(robot) which can do some extra works such as performance checking for all of the robots and so on.
During the game captain do its tasks and based on a specific schedule check the other robots, but in this section every robot knows which bit should check, for example when goal keeper bit has been changed to 1 it means that the goal keeper is okay and can do assigned tasks routinely. Finally this packet received by captain which its role is same as server in the client/server net-work too, and based on this data captain figure out that all of the agents are doing their assigned tasks.
MSRS in order to implementation of Stem Cell Theory
5 Disaster Recovery for a Killed Robot
Now we assume that one of the agents other than captain have been damaged or killed, so in this state captain based on the received data form string will be understand which one of the bit in the string is zero so he figure out one of the agents is damaged, finally in this state we have two recommendation:
1- The robot state is okay but its connection form the robots in network has been disconnected.
2- The robot really has been killed.
In this state captain based on our equipments decide to do the best work. Now we assume that there is healthy robot out of the soccer game and captain decide to use this robot instead of damaged robot. In order to do this task there is a major problem and this is that this damaged NAO robot has a series of important information which has been trained during the game and in real it wasn't raw code, now what should we do?
In general, there is complete discussion which should define a series of vital variables that these variables constitute weight of our neural networks (NN). Capacity of this information almost, is less than 10KB in the worst state which should send to the captain and wised captain during the game. Here it is good to mentioned that wised captain is an ordinary agent same as captain but with some small differences. Generally, wised captain is used as captain is disaster conditions.
Now according to this information, the robot which captain wants to import to the soccer field should has major and vital information in related with the game, so captain send this information to it. This information will copy to its neural network, so the robot will be same as before robot and has been trained and then he changes its bit in the string to 1. This description in real is inspired from Adult Stem Cell in order to use in disaster recovery in multi-robots systems.
In another conditions this paper assumed that if a robot killed during the game same as before scenario we don't have a healthy robot out of the soccer field to substitute with damaged NAO robot, so in this condition captain can change task of available robot in the soccer field who can do damaged robot tasks with damaged robot and update it with appropriate weights of neural networks which was received from damaged robot. This replaced NAO robot with damaged one, should be a robot that changing its primary role have minimum effects in whole of the team, for example we have two attacker robot and two defender robot which during the game one of defender NAO robot damaged then captain according to the match detect that one of the attacker agents should replace with defender one and then update neural networks data.
After all of above scenario, this time, this paper prepares a space which in it, instead of ordinary NAO robots, captain or wise captain will damage during soccer game. Because probability that two these robot, captain and wise captain, kill together is almost zero and this two specific agents update their vital data which are weights of neural networks when they are connected together, so when one of them has been killed, we can handle this problem.
Now that this paper described that how we can handle above problem, this is important how the other robots figure out that captain killed?
To answer this question first assumes that the NAO robot who is captain has been killed. So a function should be defined which after specified cycles (for example 5 cycles) that server sent messages to check the other NAO robots didn't send. So the first robot who figure out this subject should send a message to the other robots with this purports that "I can't find captain in 5 cycles!", if the other NAO robots reply with this purport too, then we can outcome that the captain has been really killed and else it means that the robot which send this message has errors and should repair.
6 Conclusions and Future works