Distributed Multiagent for NAO Robot Joint Position Control Based on Echo State Network

Based on echo state networks, the joints position control of NAO robot is studied in this paper. The process to control the robot position can be divided into two phases. The senor parameters are released during the first phase. Depending on the dynamic coupling effect between the angle acceleration of passive joint and the torque of active joint, passive joint can be controlled indirectly to the desired position along the desired trajectory. The ESN control rules during the first phase are described and ESN controller is designed to control the motion of passive joint.The brake is locked during the second phase; then active joint is controlled to the desired position.The experimental control system based on PMAC controller is designed and developed. Finally, the joint position control of the NAO robot is achieved successfully by experiments. Echo state networks utilized incremental updates driven by new sensor readings and massive short memory with history inputs; thus varying communication rates can help imitate human upper limb motion based on wearable sensors to obtain human joint angles.


Introduction
Humanoid robot is very common in our daily life.It can communicate with humans, respond to the surrounding environment, and complete kinds of work instead of humans.In addition, it plays an important role in exploring human interaction and cognitive processes.In robotics technology, there is much space for improvement, because it is hard to keep balance and stability of the robot at any moment, especially during movement.Path planning is one of difficult and hot spots in biped robot research.The researchers also devoted themselves to studying it.
Park and Rhee [1] observed that the zero moment point (ZMP) forward constantly on human movement; on this basis, according to the hip position and the free leg configuration, they implemented a fuzzy-logic to generate the ZMP trajectory.But the scheme was just simulated on a 7degree-of-freedom biped robot.Lee et al. [2] simplified the dominant dynamics into a simply linear inverted pendulum model (LIPM).Under the designed conditions, the choice of ZMP function was determined with five parameters, and then the walking pattern was formed; finally the goal to perform complex tasks was achieved.In order to reduce several difficulties brought about by the uncertainty world model and unknown environment, García et al. [3] presented an estimator that depends on sensor fusion strategy; it was able to filter out low frequency and high frequency.
Based on the NAO robot platform, Gouaillier et al. [4] proposed a new walking method.They added trapezoid function to joint trajectory calculation, compensated joints that are not up to the specified location, and introduced trunk error feedback to form the close-loop achieved NAO robot dynamic humanoid walk.Strom et al. [5] proposed an omnidirectional walk for NAO based on ZMP and preview controller.They firstly confirmed the following parameters: leg trajectories in initial frame, foot frame, and center of mass (CoM) frame, and then, combining with a series of steps, specified CoM trajectory.Next they adopted preview control for walking, which suits fast-moving environment.Besides, Kulk and Welsh [6] achieved move smoothly by setting the NAO robot motor in a low stiffness.

Mathematical Problems in Engineering
With the upgrading of the study level, researchers are constantly expanding their research directions.To imitate human movement seems to become a new content.
As early as in 1999, Dasgupta and Nakamura [7] had already begun to study driving robot by human motion data.They attached markers at the limbs and joints of human, using the VICOT-370 system from Oxford metrics to obtain the human motion data.In 2003, a system that imitates human dance motions [8] was raised.According to motion features which can be obtained from analyzing limbs motion track, then calculated joint angle sequence of the robot.At the same time, based on ZMP, it moved the waist trajectory for keeping the balance and stability of the robot.Suleiman et al. [9] also focused their energies on studying imitation of human captured motions.They used a virtual actor to provide the joint value as motions, took the physical limitations of the humanoid robot as an optimization problem, and finally based on an optimization framework to realize the upper body imitate motion of humanoid.
Infrared camera has been used to obtain the location of human [10] successfully.Firstly it used the motion information in the virtual human model and calculated the gait information with the aid of related professional software and then derived the NAO robot.Ude et al. [11] suggested transforming human motion information obtained from an optical tracking device into a high-dimensional trajectory for the humanoid robot; then b-spline wavelet analysis is used to remove noise.But the method based on static motion capture device is difficult to realize when used in the realtime control in a lab environment.The most direct way to get the joint information is to adopt ewearable sensor devices [12].ENC-03J sensor is produced by Japan Murata, which is composed of a gyroscope and an accelerometer.Gyroscope and accelerometer signals are amplified and filtered before output to remove electrical noise.
In this paper, our main contribution is to realize the humanoid robot to imitate human upper limb motion in real-time based on ESN (Figure 3).We tie the wearable sensors to the upper limb to get motion information.And then with the help of specialized software platform, such as Choregraphe developed by Aldebaran-Robotics Company and Visual Studio, the corresponding data is relayed to the humanoid robot.Ultimately we complete the real-time trajectory imitation of the humanoid robot.

Method
This section provides the basic concepts and notations of joint motion of NAO robot based echo state network.Section 2.1 gives a general description of NAO robot and how to control the robot by traditional ways.Then, the basic architecture of echo state network is introduced in the paper in Section 2.2.Finally, the joint motion control based echo state network is provided thereafter in Section 2.3. of sensors, so it can ensure the fluency of motion.The more important feature of NAO is the embedded software.With the software, NAO can do voice synthesis, acoustic positioning, detect the visual image and shape with color, and detect obstacles based on dual-channel ultrasonic system.Human body can be simplified as a model that can be described as in Figure 1, which contains 12 main body joints.
The purpose of this paper is to drive the robot arm joint, mapped to the human body, corresponding to the upper arm joint of the human body.So we tied the MTi sensors on human upper limb to obtain joints movement data.And we make sure the joint of human and NAO robot is the same.
As for the wearable sensors, we adopt the Xsens sensors-MTi.It is a miniature gyroscope enhanced heading measurement system that integrates MEMS inertial measurement sensors.The internal low-power signal processor provides three-dimensional orientations of no drift and corrected 3D acceleration, 3D angular velocity, and 3D magnetic field data.Now it is broadly used in robot fields.
MTi's coordinate system is shown in Figure 2 and aligns with the MTi sensor equipment enclosure.When starting collecting data, the initial position of the MTi sensor is marked as the coordinate direction of the current experiment.We can use the MTi sensor directly with its function of RS232, which can meet the real-time requirements of our experiment.Then we can obtain the data from the serial port with the MTi binary communication protocol using flow (free-running) operation or polling (request) mode.The initialization of the MTi sensor devices is done on the computer programming.It is quite easy to achieve with the Xsens code examples.The MTi sensors have a variety of output modes; researchers can choose the mode according to their needs.In this paper, we choose the Euler Angle output mode.The output format is roll, pitch, and yaw; all data elements are four-byte floating point.
Because human is more flexible, the activity scope is relatively larger than robot; when the human body joint  movement value exceeds the limit value of the NAO robot, the NAO robot will take the angle value as the maximum.In order to achieve data-driven robot, the joint data obtained by the MTi sensors is assigned to a target angle, with the NAO robot's angle function method; the target angle values will be sent to the NAO robot.We can complete the programming of the NAO robot motion control based on VS platform and implement this program under the chorographer.Then call the program with port and IP address by the DOS command.The dynamic equation of NAT robot is given as where  is the mass and inertia matrix,  is the stiffness matrix,  is the damping matrix, and  is the NAO robot joint matrix.And the dynamic equation is described as matrix as
First we created a random RNN with 800 neurons (called the "reservoir") and one output neuron.Importantly, the output neuron was equipped with random connections that project back into the reservoir.A 2500-step teacher sequence (1), . . ., (2500) was generated from the MGS equation and fed into the output neuron.This excited the internal neurons through the output feedback connections.After an initial transient, they started to exhibit systematic individual variations of the teacher sequence.
The fact that the internal neurons display systematic variants of the exciting external signal is constitutional for ESN: the internal neurons must work as "echo functions" for the driving signal.Not every randomly generated RNN has this property, but it can effectively be built into a reservoir.Figure 4 was the simulation for trace of NAO robot's legs.In the paper, the parameter settings for the robot's joint of NAO robot are shown in Table 1. Figure 4 shows that the parameters of single joint are set.Taking the single joint of NAO robot as an example, the dynamic trace for passive joint is as shown in And for function (5), in this paper, the states for shift, velocity, and acceleration in the moving joint of NAO robot are set in ) ) . (6)

Experiment
In this section, brief review the steps for collecting human pose data is given in Section 3.1.Then, Section 3.2 provides the sequential update scheme for the algorithm of multiple sensors.
3.1.Collecting Human Motion Data.Follow the steps below; our experiment of collecting human motion data goes on well.
(1) The initial position of the human body and NAO robot: to guarantee that the NAO robot can imitate human body movement accurately, we first make sure that the initial position of human body coordinates and the NAO should keep in the same position.This can be achieved through Choregraphe.In Choregraphe, processing the initialization instruction, the NAO robot will be at the zero position, as shown in Figure 5.
(2) Signal acquisition depended on MTi sensor: this paper puts forward a humanoid robot control system based on a wearable sensor.This system is not strictly limited by fixed motion analysis equipment.Wear the MTi sensor in the Shoulder joint, and as shown in Figure 6, just like the NAO robot.With the Visual Studio platform, we connect the computer and NAO robot.When ready, with the input validation rules, the MTi sensor begins to collect the shoulder joint data.
(3) Joint angle calculation and processing: the angle value of human shoulder joint obtained by the MTi sensor should be transformation and processing that will meet the NAO robot's requirements.On the right-handed Cartesian coordinate system, rotation about , , and  axis, respectively, called roll, pitch and yaw rotation.It is easy to express when the rotation is expressed as on a rotating shaft.Combined with the above formulas, it is easy to calculate the required angle value.
(4) Data driven NAO robot: with the existing NAO robot joint function, ready processed joint angle value is assigned to the NAO robot.This process needs using two software systems-Choregraphe and Visual Studio.The NAO robot can be connected by its IP address.

Algorithms.
Inputs for ESN networks controller are joint sensors' information or datum of NAO robot.The difference of the different components of the range can reduce the studying accuracy and speed for networks.In order to improve better studying accuracy and speed for ESN, inputting datum for sensors must be normalized firstly with function (6) and then be linear transformation: In training, the inner neurons update as follow: ( + 1) = [ in ( + 1) + () +  back ()], where  is used as sigmoid function.When  = 0, the network begins to run and the state (0) is initialized randomly (here,

Figure 7 :
Figure 7: (a) The results of the experiment.(b) The motion trace of NAO joint.

Figure 8 :
Figure 8: (a) Joint motion trace of NAO robot.(b) Joint motion simulation of NAO robot.

Table 1 :
Parameter settings for the reservoir of ESN.