Paper Title (use style: paper title)

International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
Reaching Movements Control of A Two Link
Arm By Cerebellar Model Articulation
Controller
Saeed Solouki1, Mohammad Pooyan1
1
Department of biomedical engineering, Shahed University
Tehran, Iran
Abstract: The task of the robotic control is divided into two groups as motion control and force control. The
reaching motions control is a point to point control or continuous trajectory control. This paper presents a
robotic arm controller for reaching movements that uses the inverse kinematics control of a two degrees of
freedom serial manipulator. The artificial neural networks theory made it possible to develop adaptive solutions
to complex control problems. A neural network structure that has been particularly successful in robotic control
is the cerebellar model articulation controller (CMAC). It is the one that reflects most closely the behavior of the
cerebellum. We show here how the cerebellum may increase the accuracy of reaching movements by
compensating for the interaction torques by learning a portion of an inverse dynamics model that refines a basic
inverse model in the motor cortex and spinal cord.
Keywords: robotic control, inverse kinematics, cerebellar model articulation controller, dynamic model.
Introduction
Biological control systems have long been studied as possible inspiration for the construction of robotic controllers.
Modern robotics research is concerned with the control of complex plants. Such plants exhibit non-trivial dynamics and
potentially long feedback delays [1]. The motion control scheme can be open loop or closed loop but very few of them
actuated with an open fashion [2]. Figure 1 shows the basic idea of robotic control. Motion planning includes two main
phases: trajectory generation and forward/inverse kinematics computation. A robot is composed of joint motors, breaks,
and feedback sensors like position or velocity sensors or other special sensors such as force or torque sensors. Actually,
the control problem of robotic manipulators is non-linear but the nonlinearities of the system can be cancelled with
methods like computed torque [3].
Motion Planning
Motion Planning
Robot
Environment
Sensors
Figure 1.
Basic blocks of robotic system.
Each joint is considered independent, and the inertia reaction of each actuator is constant. The dynamics of an n-DOF robot
is described as :
𝐷(π‘ž)π‘žΜˆ + 𝐢(π‘ž, π‘žΜ‡ )π‘žΜ‡ + 𝐹(π‘ž, π‘žΜ‡ ) + 𝐺(π‘ž) = πœο€ 

where the equation elements stand for: π‘ž (joint variable vector), 𝜏 (control torque vector), 𝐷(π‘ž) (inertia matrix), 𝐢(π‘ž, π‘žΜ‡ )
(coriolis and centrifugal force vector) and 𝐺(π‘ž) (gravitational force vector).
Hence the dynamic model is not known exactly, there are unmodeled dynamics such as friction, flexibility in the drive
chain, noise and etc. Real physical plants like robots often contain these non-linearity and variations due to the plant nature,
noise or other factors. Usually, nonlinearities may have undesirable effects. Thus, control design may need to properly
Page | 1
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
compensate those effects, or to linearize nonlinear terms. Nonlinearities can be classified in terms of their mathematical
properties, as continuous and discontinuous [4]. In substance, continuous nonlinearities can be linearized, but discontinuous
nonlinearities can’t be locally approximated by linear functions. They are also called β€œhard” nonlinearities [4].
Unfortunately, in practice, most of systems have hard nonlinearities, such as backlash, hysteresis and stiction. Thus,
nonlinear control design is an issue for common systems. In this paper, an inverse kinematic control strategy based on
CMAC is purposed to make an accurate, fast and stable reaching movement. At first, the forward kinematics formulae for
the two-joint robotic arm provide CMAC the training patterns. During training the CMAC network learns to map the
coordinates (π‘₯, 𝑦) to the angles (πœƒ1 , πœƒ2 ). The trained CMAC network is then used as a part of a larger control system to
control the robotic arm.
Neuro Controllers Structure
Neuro controllers have a good adaptation capability and also they can learn the real dynamics of the robot system [5]. So,
they can be good alternatives to conventional controllers. There are three basic tasks that the neuro controller can perform
[5 and 6]:
ο‚·
The neuro controller learns from a complex automatic controller.
ο‚·
Making a system or plant follow a desired set point or follow a reference model.
ο‚·
Optimization.
In supervised learning, a training set database of inputs 𝑋(𝑑) and targets π‘Œ βˆ— (𝑑), is given to the network. The learning task is
how to generate π‘Œ βˆ— (𝑑) for any given value of 𝑋(𝑑). In neurocontrol, 𝑋(𝑑) may be a set of sensor readings while the targets
are a vector of desired control actions, π‘’βˆ— (𝑑) shown in Fig. 2.
Training input
π‘’βˆ— (𝑑)
𝑋(𝑑)
Target (desired position)
F
𝑒(𝑑) = 𝐹(𝑋(𝑑))
Figure 2.
Neuro control in block.
The Neural networks based control systems may be open loop or closed loop. A closed loop training method can be used
with a controller, as shown in figure 3. 𝑒𝑑 is the desired input, and 𝑒 refers to the output of the neural network
approximation. The aim is to train the neural network so that 𝑒 approximates 𝑒𝑑 , the desired signal, as closely as possible.
Here π‘’π‘Ÿ is the persistent excitation that is added to the control input from the probing signal 𝑒𝑑 (t) to the system. The
persistent excitation input, ensure the collection of sufficiently rich training data and help a better plant identification. To
consider the adaptive plant control scheme the neuro controller can be structured as in figure 4.
π‘ˆπ‘Ÿ
π‘žπ‘Ÿπ‘’π‘“
Controller
π‘ˆπ‘‘
Figure 3.
π‘žπ‘Ÿπ‘’π‘“
Neural
Network
Controller
Dynamically
Non-linear
System
Neural
Network
𝑒
Closed loop training methodology.
Plant
1.
Neural
Networks
2.
Figure 4.
The structure of the adaptive plant control system based on neural networks.
Page | 2
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
The desired position of the robot end point is specified in Cartesian Coordinates while the motions are actually obtained
from the multiple actuators connected at the joints which decide the required joint angles. The transformation from
Cartesian Coordinates to joint angles is a sophisticated problem especially in the case of many degrees of freedom. With
respect to the neuro controller structures, the inverse kinematics control problem of the robotic systems finds proper
solutions.
Inverse Kinematics Model
A. Inverse Kinematics for Position
In a two-joint robotic arm, given the joints angles, the kinematics equations give the location of the arm end effector. In
general, inverse kinematics is much harder than forward kinematics [7]. Sometimes there is no possible analytical
solution, and an iterative search is required. In the case of redundant manipulators, there may be many solutions. One of
the solutions for the inverse kinematics problem is geometric solution. In this approach the arm geometry is reconstructed
into several plane geometry problems. Joint angles can be obtained by using the geometric formulas. Another
complication that must be considered is the workspace limitations (The point may be outside the reach of the manipulator,
or joint limits are exceeded). The plane geometry is applied to find a solution to the manipulator can be seen in Figure 5.
Figure 5.
Plane geometry associated with a 2-link planar manipulator.
To solve ΞΈ_2 law of cosines is applied:
ο€ 
π‘₯ 2 + 𝑦 2 = 𝐿21 + 𝐿22 βˆ’ 2𝐿1 𝐿2 cos(180 + πœƒ2 ) ο€ 

Since cos(180 + πœƒ2 ) = βˆ’ cos(πœƒ2 ), then
ο€ 
cos(πœƒ2 ) =
π‘₯ 2 +𝑦 2 βˆ’πΏ21 βˆ’πΏ22
2𝐿1 𝐿2
ο€ 

This equation (3) is solved for πœƒ2 between 0 and βˆ’180 degrees. For the symmetric position πœƒ2β€² = βˆ’πœƒ2 .
The value of angle 𝛽 depends on the sign of π‘₯ and 𝑦. so two argument arctangent is used:
ο€ 

𝛽 = π΄π‘‘π‘Žπ‘›2(𝑦, π‘₯)ο€ 
The law of cosines is again applied to find πœ‘.
ο€ 
cos(πœ‘) =
π‘₯ 2 +𝑦 2 +𝐿21 βˆ’πΏ22
2𝐿1 √π‘₯ 2 +𝑦 2
ο€ 

where 0 ≀ πœ‘ ≀ 180. Then:
ο€ 
πœƒ1 = 𝛽 ± πœ‘ο€ 

where the plus sign is used if πœƒ2 < 0 and minus sign is used if πœƒ2 > 0.
Page | 3
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
B. Inverse Kinematics Control with CMAC
1) CMAC design
CMAC performs like an on-line tuning look-up table. This method imitates the model of the human memory, and has a
fast learning capability. The main property of CMAC is that inputs which are close in the discretized state space will
activate overlapping sets of association cells. The response is directly proportional to the sum of the contents of all the
cells that have been activated [2, 8]. Therefore, similar inputs will cause to similar outputs, and CMAC will respond
adequately to a previously unseen input signal, provided that it has been trained on a β€œsimilar” input. The number of cells
that active for each input is fixed. Hence, the validity of the solution depends on the number of receptive fields that are
used in discretization process to cover the entire input space. Practically, each association cell indicates a computer’s
memory location in which the network weight is stored. For most problems, since the input space is very large, the CMAC
memory requirements are too high. Albus proposed a hash coding method for the application of CMAC to these problems
[2, 8].
Figure 6.
A schematic representation of CMAC.
Figure 6 shows a CMAC structure. The input space contains all possible n-dimensional input vectors. When an input
vector is presented to the CMAC network it activates a set of association cells in a large virtual memory. The output of the
CMAC is defined the sum of activated cells weight as shown in figure 7.
+
+
Figure 7.
+
CMAC output calculation.
Page | 4
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
𝜌
ο€ 
𝑦(π‘˜) = βˆ‘π‘–=1 𝑀𝑖 (π‘˜),ο€ 

where 𝑀 is a memory location content. π‘˜ is the learning iteration number, and 𝑖 = 1, … , 𝜌 is the index of the activated
memory locations. Given the desired output, 𝑦𝑑 (π‘˜), the contents of the activated cells are modified with an updating rule
as follows:
ο€ 
𝑀(π‘˜ + 1) = 𝑀(π‘˜) + βˆ†π‘€(π‘˜) = 𝑀(π‘˜) +ο€ 

1
βˆ… (𝑦𝑑 (π‘˜) βˆ’ 𝑦(π‘˜)π‘π‘šπ‘Žπ‘_π‘‘π‘Ÿπ‘Žπ‘–π‘›π‘–π‘›π‘” )
𝜌
where βˆ… is the learning rate, and satisfies 0 < βˆ… < 1 . Generally, learning accuracy will be enhanced with a large number
of training patterns.
2) CMAC training
The task is motion control (point to point in the defined workspace). For the desired end-effector positions in the
workspace (π‘₯, 𝑦 coordinates of the end effector), the angles πœƒ1 and πœƒ2 must be calculated regarding some assumptions.
Data generation assumptions:
πœƒ1 is the angle between the first arm and the ground and πœƒ2 is the angle between the second arm and the first arm (Fig.8).
Let the length of the first arm be 𝑙1 and that of the second arm be 𝑙2 . Assume that the first joint has limited freedom to
rotate and it can rotate between 0 and 90 degrees. Similarly, the second joint has limited freedom to rotate and can rotate
between 0 and 180 degrees. (This assumption cancels the need to handle some special cases which will confuse the
discourse). Hence, 0 ≀ πœƒ1 ≀ πœ‹β„2 and 0 ≀ πœƒ2 ≀ πœ‹.
Figure 8.
Illustration showing all possible πœƒ1and πœƒ2 values.
CMAC is trained in a supervised manner. So, for every combination of πœƒ1 and πœƒ2 values the x and y coordinates are
deduced using forward kinematics geometric equations. CMAC network architecture of the two-linked manipulator
consisted of two CMACs. The coordinates of the desired end effector positions (π‘₯, 𝑦) are the inputs to both CMACs and
each CMAC outputs the individual joint angles (πœƒ1 and πœƒ2 ) (Fig.9).
π‘₯
𝑦
Figure 9.
CMAC 1
πœƒ1
πœƒ2
CMAC network for inverse kinematics of two-link manipulator.
Page | 5
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
Each output is related with both inputs. For estimating the πœƒ1 , both x and y must be taken into account (Fig. 9). πœƒ1 and πœƒ2
are nonlinear because they are calculated from geometric equations with trigonometric functions and the squared terms.
The problem becomes much more complex as the number of links increases [9-13]. The standard methodology for training
CMAC networks is off-line training. Because of the generalization property, neural networks can learn the associated
patterns and recall the learned patterns. The trained network is then used to achieve the desired movements. Using neural
network for control problems has the ability of online learning and adaptive capabilities. The proposed scheme for the 2
DOF manipulator control with CMAC is seen in Fig. 10.
User
End effector position coordinates
& specified targets
π‘₯𝑑
πœƒ1
CMAC
(inverse)
𝑦𝑑
Forward
kinematics
π‘₯
𝑦
πœƒ2
CMAC
learning
algorithm
3.
𝑒π‘₯
𝑒𝑦
βˆ‘
+
Figure 10.
βˆ’
Block diagram for online learning of inverse kinematics of two-DOF manipulator.
Table 1: Predefined Network Parameters
CMAC network parameters
Lengths of arms (𝑙1 , 𝑙2 ) = 220 cm
Total number of layers (𝜌) = 67
Learning rate (βˆ…) = 0.5
The desired π‘₯, 𝑦 positions of the end effector are applied to the CMAC network. Initially, all the weights are equal to zero.
The output of the CMAC is the joint angles πœƒ1 and πœƒ2 which are inputs to the robot's forward kinematics. The error signals
are taken into account in an adaptive learning process. It is shown that the two-linked robotic system with CMAC can
reach any desired end-effector positions in the robot workspace. The desired π‘₯𝑑 , 𝑦𝑑 coordinates of the end effector applied
to CMAC network are selected as:
ο€ 
π‘₯𝑑 = [300, 100, 400], 𝑦𝑑 = [50 250 100]. ο€ 

ο€ 
The reached π‘₯ and 𝑦 positions of the end effector are shown in Figure 11 and the corresponding joint angle trajectories are
shown in Figure 12. It is seen that 39 iterations are needed to reach the desired end-effector positions. Usually while it
takes too much time for other network topologies, CMAC is trained quickly. Therefore, CMAC can be a fast solution for
the inverse kinematics problem in robotics.
Page | 6
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
Figure 11.
Figure 12.
Actual positions of the end effector reached after 39 iterations.
Corresponding joint angle trajectories for desired positions.
Since the best performance of CMAC controllers is obtained with neighborhood sequential training technique, It is
preferred to train the CMACs with neighborhood sequential data rather than random training data base [10]. The training
workspace according to its limitations is plotted in figure 13. An example π‘₯ and 𝑦 values and its activated CMAC weight
cells is also shown.
sequential training method for 900 points
10
8
6
4
y
2
0
y
-2
-4
-6
-8
-10
-10
Figure 13.
-5
0
xx
5
10
Sequential training method work space and a two link arm position that activated some CMAC weights cells. (Insufficient data)
Page | 7
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
with increasing the number of training data, more accurate end effector position estimation is obtained (Fig.14).
sequential training method for 5000 points
10
8
6
4
y
2
y
0
-2
-4
-6
-8
-10
-10
Figure 14.
-5
0
x
x
5
10
More number of training data increases the estimation resolution.
3) Controller performance
After training the networks, an important follow up step is to validate them to determine how well they would perform
inside the larger control system. Since this problem deals with a two-joint robotic arm whose inverse kinematics formulae
can be derived, it is possible to test the answers that the CMAC networks produce with the answers from the derived
formulae.
Figure 15.
Output error of trained networks with sequential training method.
25 samples are used for validation. The errors are in a fairy good range for the application it is being used (Fig.15).
However this may not be acceptable for another application, in which case the parameters must be changed until an
acceptable solution is arrived at.
Conclusion
Reaching is a fast movement towards a given target. So, it needs a fast and precise control strategy. It is shown that
CMAC is a fast and efficient controller for the problem of inverse kinematics. It learns the system dynamics with
supervised training techniques and generates an input to output mapping by using simple summation operation and
memory mapping algorithms. The main reason of using neural network approach is to generate the inverse kinematics for
desired end-effector coordinates. In this study only a two degrees of freedom manipulator is discussed but in the case of
many degrees of freedom, the analytic solutions are more complicated and sometimes there are no formulations for the
inverse kinematics. In such situations some iteration methods take place.
Page | 8
International Journal of Enhanced Research Publications, ISSN: 2319-7463
Vol. 3 Issue 4, April-2014, pp: (1-9), Available online at: www.erpublications.com
References
[1]. Fagg, Sitkoff, Barto and Houk, β€œCerebellar Learning for Control of a Two-Link Arm in Muscle Space,” in ICRA, 1997.
[2]. Albus James S., β€œA New Approachto Manipulator Control: The Cerebellar Model Articulation Controller,” Journal of Dynamic
Systems, Measurement and Control, 1975, 220-227.
[3]. Hsu Yuan P., Hwang Kao. S. Wang jinn S., β€œAn Associative Architecture of CMAC for Mobile Robot Motion Control,”
Information Science and Engineering18, 2002, pp.145-161.
[4]. Jang J. O., β€œImplementation Of Indirect Neuro-Control For A Nonlinear Two-Robot MIMO System,” Control Engineering
Practice9, (2001), 89-95.
[5]. D. Richert, A. Beirami and C. Macnab M. Young, β€œNeural-Adaptive Control of Robotic Manipulators Using a Supervisory
Inertia Matrix,” Conf. on Autonomous Robots and Agents, Feb 2009, New Zealand.
[6]. El-Hawwary, M. I.; Elshafei, A. L, β€œRobust adaptive fuzzy control of a two-link robot arm,” Journal of Robotics &
Automation;2006, Vol. 21 Issue 4, p266.
[7]. Deshpande N. A., Gupta M.M., β€œInverse Kinematic Neuro-Control Of Robotic Systems,” Engineering Applications Of Artificial
Intelligence11, 1998, 55-66.
[8]. Smith R.L., β€œIntelligent Motion Control With An Artificial Cerebellum,” Phd Thesis, The Department of Electrical andElectronic
Engineering, University of Auckland, New Zealand, 1998.
[9]. A. Magdy M., Pinspon U., Çetinkunt S., β€œAdaptive Learning AlgorithmFor Cerebellar Model ArticulationController,
Mechatronics12, 2002, 859-873.
[10]. Thompson David E., Kwon S., β€œNeighboorhood Sequential and Random Training Techniques for CMAC,” IEEE Transactions
On Neural Networks, VOL. 6, NO. 1, 1995, pp.196-202.
[11]. J. A. Saunders, D. C. Knill, β€œHumans use continuous visual feedback from the hand to control fast reaching
movements,”sprringer, Aug 2003.
[12]. D. Nowak, H. Topka, D. Timmann, H. Boecker and J.Hermsdorfer, β€œThe role of the cerebellum for predictive control of
grasping” The Cerebellum. 2007; 6: 7–17.
[13]. KimDong-H., Oh Ju-W., Lee In-W., Cerebellar Model Articulation Controller for Suppression of Structural Vibration, Journal of
Computing in Civil Engineering, October 2002, 291-297.
Page | 9