2Institute of Biomedical Engineering, Chung Kung University, Tainan, Taiwan,701 ROC. Received 2 Aug 2005; Accepted 9 Jan 2006. Abstract. Independent ...
Journal of Medical and Biological Engineering, 26(1): 9-14
9
The Effect of Combining Stationary Wavelet Transform and Independent Component Analysis in the Multichannel SEMGs Hand Motion Identification System Yi-Chun Du1,2
Liang-Yu Shyu1
Weichih Hu1,*
1
Department of Biomedical Engineering, Chung Yuan Christian University, Chung Li, Taiwan, 320 ROC 2 Institute of Biomedical Engineering, Chung Kung University, Tainan, Taiwan,701 ROC Received 2 Aug 2005; Accepted 9 Jan 2006
Abstract Independent component analysis (ICA) was studied to examine its effect on independent component extraction and data reduction for the hand motion identification system using multichannel surface electromyogram (SEMG) and stationary wavelet transform (SWT). The results indicated that features extracted from wavelet transformed SEMGs significantly increase the classification rate. However, these extra features extracted from different wavelet scales dramatically increase the amount of computation of the artificial neural network (ANN). When using the ICA to extract independent components, the number of training epochs that were required during the ANN training period increased. This study used the unsupervised FastICA to reduce the number of SEMG channels from 7 to 4 and achieved a data reduction rate of 43%. However the hand motion identification rates using the reduced channels are significantly lower (p < 0.05) when they are compared with the traditional method. The results demonstrate that ICA can effectively reduce the size of the neural network and in turn reduce the amount of required computation with the price of reduced identification rates. Keywords: Independent component analysis, Principal component analysis, Stationary wavelet transform, Surface Electromyogram
Introduction It is known that activities of different muscle groups result in different surface electromyography (SEMG) patterns. Conversely, by analyzing these SEMG patterns, the corresponding muscle group action can be identified. Since 1990, surface EMG has been used for prosthesis control [1, 2] and to construct a robotic manipulator control system [3] with high degree of success. In addition to prosthesis control, SEMG has also been used to identify the action of hands and legs during functional electrical stimulation (FES) [4]. These studies demonstrate that hand actions, such as extension of the forearm, hand opening and grasping or bending of the finger can be identified using SEMG signals from muscle groups that are not directly corresponding to that particular action. However, this research and most other studies required SEMG electrodes to be placed on designated locations for signals collection, which could not be easily performed outside the laboratory. Additionally, these studies identify only hand actions involving large muscle groups. No study has been conducted to identify finger actions using SEMG electrodes placed on the forearm. In 2002, Shyu et al [5] proposed a hand action identification * Corresponding author: Weichih Hu Tel: +886-3-2654512; Fax: +886-3-2654599 E-mail: weichih@ be.cycu.edu.tw
system to discriminate 11 hand actions including extension of the index finger, extension of the index and middle fingers, extension of the thumb and little fingers, extension of the thumb and index fingers, extension of all fingers except the thumb, and extension of all five fingers. The proposed system uses seven active electrodes placed around the forearm to collect SEMG signals from the major muscle groups of the forearm. Six features, including the integral of EMG (IEMG), waveform length (WL), variance (VAR), zero crossing (ZC), slope sign change (SSC) and Willison amplitude (WAMP), were extracted from each of the seven SEMG signals as the input to the artificial neural networks (ANN). The average discrimination rate was 93.1% [5]. An average discrimination rate of 93.1% appears to be an acceptable outcome. However, it was also true that for one of the subjects the discrimination rate was only 63.8% [6]. Additionally, for hand actions such as extension of the index and middle fingers and extension of all five fingers, the discrimination rates were low in most of the subjects. To make the system of any practical use, it is not only necessary to increase the precision of discrimination on average but also increase the precision for individual subject and individual hand action. Additional electrodes may be used to acquire more SEMGs to improve the hand action
J. Med. Biol. Eng., Vol. 26. No. 1 2006
10
discrimination. However, this will not only require more hardware but also increase the complexity of the system. Alternately, there are signal processing methods, for example wavelet transform, that can reveal hidden features of the signal. Wavelet transformation can decompose an existing signal into multiple wavelet scales. Useful information can be extracted from different wavelet scales and be used successfully in other biomedical applications [7-10]. The potential drawback of wavelet transforming SEMGs is that it dramatically increases computation load. On the other hand, independent component analysis (ICA) has been used to separate the independent component from multi-channel EMGs [11] and extract the independent component of motor unit action potentials of the recorded multichannel SEMG signals [12]. Thus, in this study, stationary wavelet transformation (SWT) is proposed to decompose the seven SEMG signals into multiple scales. The major advantage of SWT over discrete wavelet transformation is the preservation of time information of the original signal sequence at each level. Additionally, ICA is proposed to extract independent component from the transformed signals. Characteristic features can be extracted from these independent components and fed into the ANN identification system for hand action discrimination. The goal of this study is to establish a new and reliable method for hand action classification and, at the same time, without sacrificing the accuracy.
Methodology A.
stationary wavelet transform The wavelet transform of a function, f, with respect to a given mother wavelet, ψ, is defined as: w s f ( x) = f ∗ψ s ( x) =
1 ∞ x−t f (t )ψ dt ∫ s −∞ s
(1)
2
W
j
2j
f ( n) =
∑ hk S2 j −1 f (n − 2 j −1 k )
(2)
k∈Z
f (n) =
∑ g k S2 j −1 f (n − 2
j −1
k)
B. Independent component analysis ICA is a method for finding the linear transformation s = Wx to obtain si that are as independent as possible in the sense of maximizing some independence measurement functions F(s1,...,sm), where x is the random vector. Using the approximation of negentropy as the index on statistical independence between different components and fixed-point algorithm for estimating the maximum likelihood, Hyvärinen developed the FastICA algorithm [15,16]. Negentropy is defined as J(y) = H(ygauss)-H(y)
(4)
where ygauss is a Gaussian random variable of the same covariance matrix as y. This can be approximated as J(y) = [E{G(y)}-E{G(v)}]2
(5)
where G is any non-quadratic function. More details about FastICA can be found at this reference [17]. A MatLab program for ICA computation was developed based on the FastICA code provided on the same website. C.
EMG characteristic features Six EMG features, integral of EMG (IEMG), waveform length (WL), variance (VAR), zero crossing (ZC), slope sign change (SSC) and Willison amplitude (WAMP), were reported and used by several studies [18]. They are defined as: N
∑ xk
IEMG =
(6)
k =1
WL =
N
∑ ∆x k , where ∆x k = x k − x k −1
(7)
k =1
Where s is the scale factor. Let s = 2j (j∈Z, Z is the integral set), then the WT is called dyadic WT. The dyadic WT can be calculated as: S
wavelet transformation has been used successfully in other SEMG classifications [14]. Thus, in this study, the db2 stationary wavelet transform was used to decompose the seven SEMGs into six levels each.
(3)
k∈Z
Where S2j is a smoothing operator and W j f (n) is the WT of 2 digital signal f(n). On the other hand, hk’s and gk’s are the coefficients of corresponding low-pass and high-pass filters, respectively. The standard discrete wavelet transform decimates the wavelet coefficients at each level. Thus, the results of wavelet transform at each level are half the size of the original sequence. The stationary wavelet transform, on the other hand, pads the corresponding low-pass and high-pass filters with zeros and the two new sequences which each have the same length as the original sequence [13]. The major advantage of SWT is the preservation of time information of the original signal sequence at each level. On the other hand, the 2nd order Daubechies (db2)
VAR =
1 N 2 ∑ xk N − 1 k =1
(8)
N
ZC = ∑[sgn(− xk × xk +1 )and xk − xk +1 ≥ 0.02] , where i =1
x>0 1, if sgn( X ) = 0, otherwise SSC = (xk − xk −1 ) × (xk − xk +1 ) ≥ 0.03 ,
for k = 1,..., N WAMP =
(9)
(10)
N
∑ f ( xk − xk +1 )
i =1
1, where f (x ) = 0,
(11)
x > 0.3 if otherwise
They are either energy or frequency related. It was found that using two features, IEMG and WL, could achieve an averaged discrimination rate of 90% [19]. However, for some subjects and some particular hand motions, the classification
SEMG Discrimination Using SWT and ICA
Stationary wavelet transform (Extract 2 features from 3 scales)
(a)
(b)
11
7 channels SEMG
(c)
ICA, select 4 most independent components
Stationary wavelet transform (Extract 2 features from 3 scales)
Manually select 4 SEMG signals
Stationary wavelet transform (Extract 2 features from 3 scales)
neural network
Figure 1. Block diagram of three experiment procedures.
rates were lower than 40% [19]. Thus, modifications are proposed for these two features. Two new SEMG characteristic features that are modified from IEMG and WL are proposed to replace the six commonly used features. They are EMG envelope energy and EMG envelope and defined as: EMG _ Envelop _ Energy =
N
∑ f (xk
k =1
)
(12)
Where f(x) = x, if x > threshold and f(x) = 0, otherwise.
EMG _ Envelop =
N
N
T =1
k =1
∑ g ( ∑ f ( x k ))
(13)
Where f(x) = 1, if x >= threshold and f(x) = -1, if x < threshold and Σf(x) > 0, f(x) = 0, otherwise. Whereas, g(x) = x, if x > threshold and g(x) = 0, otherwise. The EMG envelope energy is an improved version of the commonly used IEMG feature in that it only includes EMG signals where the amplitude is larger than the threshold in order to avoid the influence of noise. On the other hand, the EMG envelope is a combination of WL and slope sign change. All characteristic features were normalized before they were fed into the neural network. D.
Signal Processing In order to correctly recognize hand actions, it is necessary to identify the beginning and end of action periods from continuously recorded SEMG signals. To avoid mis-identification of the action period due to noise and artifacts in the SEMG signals, we employed the multi-threshold method that was proposed in the previous study [5]. First, during the training period, while the subject was carrying out designated actions, thresholds and normalization factors for each SEMG channel were established based on the absolute value of the SEMG signal. Then, during the recognition period, SEMG signals from each channel were normalized and continuously compared with the corresponding thresholds. When two or more SEMG signals exceeded their corresponding thresholds, it was recognized as the beginning of one action. After the beginning of an action, when six or more SEMG signals were determined to be below the corresponding threshold, it was marked as the end of the action. ICA extracted four independent components from the original seven SEMG signals during each action period. Stationary wavelet decomposed these independent components into six wavelet signals. Characteristic features, EMG envelope and EMG envelope energy, were extracted and normalized prior to being fed into the ANN identification system.
E.
Experiment Design A total of 11 hand motions were defined and studied in this study. Four of them were defined according to previous studies, including fist flexion up and down, pronation and supination [20]. The other seven hand motion were defined and used in a previous study including extension of the index finger, extension of index and middle fingers, extension of thumb and little fingers, extension of thumb and index fingers, extension of all fingers except the thumb, and extension of all five fingers [5]. Twelve subjects, nine males and three females, were recruited for this study, with an average age of 24±3 years. The new electrode system was placed on the right forearm five centimeters below the elbow. Experiments were conducted while subjects were standing. During the training period, each subject was asked to perform two hand actions, hand opening and closing, repeatedly. The SEMG signals acquired during this period were used to establish thresholds and normalization factors for each channel. After the initialization period, subjects were asked to carry out the 11 hand actions 18 times in random order. The SEMGs of the first nine trials were used as the training set and the other nine were used as the testing set in the experiment. All SEMG signals were digitized using a 2000Hz sampling rate and processed off-line using a MatLab program. To reduce the amount of the signal processing load, a pilot study was conducted to investigate the minimum and best combination of different wavelet scales that were required to maintain the discrimination rate for hand motion identification. Three different combinations, three scales (scales 2, 3 and 4), four scales (scales 2, 3, 4 and 5) or five scales (scales 2, 3, 4, 5 and 6), were tested. After the best combination of wavelet scales had been decided, three signal processing procedures were designed to test the effect of ICA. In the first procedure, no channel reduction was attempted, following SWT, features were extracted from seven SEMG signals as the input to the ANN (Fig. 1a). The second procedure used ICA to obtain four independent SEMG signals prior to the SWT and feature extraction (Fig. 1b). The third procedure manually selected four SEMG signals before the SWT and feature extraction (Fig. 1c). F. Performance Evaluation Due to the fact that the initial weights of ANN were selected randomly, the ANN may have different classification results following each successful training. Thus, the averaged
J. Med. Biol. Eng., Vol. 26. No. 1 2006
12
Table 1. Results of traditional hand discrimination method. Where (1)-(11) represent hand action flexion down, extension of thumb and little fingers, extension of index and middle fingers, extension of all five fingers, extension of thumb and index fingers, extension of the index finger, extension of all fingers except the thumb, pronation, supination and flexion up, respectively. Hand actions Average Discrimination Rate
1
2
3
4
5
6
7
8
9
10
11
90.7 92.7 89.4 91.6 94.2 90.5 87.9 85.9 91.1 92.9 92.9 ± ± ± ± ± ± ± ± ± ± ± 12.6% 12.3% 19.2% 25.8% 15.2% 16.4% 25% 25.8% 26.3% 12.3% 15.8%
Table 2. Results of wavelet scale selection.
scales
Average Discrimination Rate
Average Training Epochs
Convergence Probability
2、3、4
93.7±12.5 %#
482.3±168.6
83.7±11%*
2、3、4、5
94±11.9 %#
474.7±142.5
85.5±9.8%
2、3、4、5、6
94.6±10.5%#
457.9±106.1
94.4±8.2%*
#
* p < 0.05; p < 0.05 vs. traditional method
(a) (b) (c) (d)
(e) (f) (g)
(h) Figure 2. A typical result of SWT. Where (a) is the original SEMG signal, (b)–(h) are signals of different wavelet scale. Notice that the slow frequency components in (b) are not visible in the original signal.
discrimination rate after five different trainings will be used for analysis in this study. To evaluate the performance of different procedures, the tested method not only needs to compare the accuracy of discrimination but also assess the feasibility of new procedures. In addition to the amount of computation required by ANN, the converging speed and ease of ANN convergence are good measures of system feasibility. The size of the ANN is directly proportional to the amount of computation required. In contrast, the number of training epoch is commonly used to evaluate the speed of convergence. To estimate the ease of ANN convergence, in this study, the convergence probability was defined as: convergence probability = 5 / (number of training to achieve five ANN convergences) * 100%. For example, for a training data set, if the ANN converged in five successive trainings, the convergence probability is 5 / 5 *100% = 100%. As opposed to, if the ANN achieve five
Average 90.9 ± 19.7%
convergences after ten trainings, the convergence probability will be 5 / 10 * 100% = 50%.
Results First, for comparison, the collected SEMG signals were processed by the traditional hand identification procedure [1] that uses six SEMG features from seven SEMG signals. On average, the discrimination rate of the traditional method is 90.9% (Table 1) which is slightly lower than previously reported [1]. A typical result of SWT is illustrated in Fig. 2. It can be seen that, at different levels, the SWT reviews some hidden feature from the original SEMG signal. For example, the slow frequency components in scale six are not visible in the original signal. Thus, with features obtained from multiple wavelet scales, significant improvement in discrimination rate is expected. However, the size of ANN will increase due to the increased information from multiple wavelet scales, which in turn increase the computational load. The purpose of wavelet scale selections pilot study is to discover the best combination of wavelet scales that can both minimize the computational load and achieve an adequate discrimination rate. The results of wavelet scale selections study are illustrated in Table II. It is shown that using either three scales (scales 2, 3 and 4), four scales (scales 2, 3, 4 and 5) or five scales (scales 2, 3, 4, 5 and 6) provides significantly higher discrimination rates as compared to the traditional method. Among the three possible wavelet selections, there is no difference in the average discrimination rates. The number of training epochs increases as the number of selected scales decreases. In contrast, the convergence probability increases as the number of selected scales increases. There is a small but significant different in convergence probability between the three scales and five scales. The combination of scales 2, 3, and 4 uses the least amount of features in the process of classification and achieves comparable discrimination rates as compared to other combinations, thus, this combination was selected and used in the following study. After the determination of wavelet scales, the effect of channel reduction was studied. According to the experiment design, in this study, two channel reduction methods were investigated. First, two possible collections of four SEMG signals were manually selected from the seven input SEMGs. The second method selected four independent component signals according to the result of unsupervised FastICA. After extracting the independent components, the four signals that were considered the most independent were selected and used in the following study (Fig. 3).
SEMG Discrimination Using SWT and ICA
13
Table 3. Results of channel reduction. The discrimination rates after channel reduction were significantly lower than the procedure that incorporates no channel reduction. The 42.8% data reduction rates were achieved by reducing seven SEMG signals into four signals. Average Discrimination Rate
Procedures
Average Training Epochs
Convergence Probability
Data Reduction
Without channel reduction
93.7±12.5 % *
482.3±168.6 *
83.7±11%
0%
Channel reduction using ICA
87.9±16.5 %*,#
1297.5±804.8 *,#
87.5±12.6%
42.8 %
Channel reduction by selecting channels 1,3,5,7
84.5±28.6 % *
1888.2±2587.8 *
75.1±29.1%*
42.8 %
Channel reduction by selecting channels 2,4,6,7
83.7±28.8 % #
1792.8±2580.2% #
71.7±31%*
42.8 %
* p < 0.05, # p < 0.05
(a) (b) Figure 3. A typical result of ICA. The original seven SEMG signals are illustrated in (a). (b) are the results of ICA independent component extraction. The four signals, denoted as ICS1-ICA4, are the four most independent components.
Table 3 summarizes the system performances of three signal processing procedures including: ICA channel reduction, manual channel reduction and without channel reduction. It can be seen that, with channel reduction, performances significantly decreased as compared to those without channel reduction in terms of discrimination rate and the number of training epoch. However, both channel reduction methods, ICA and manual selection, reduced the seven SEMG signals to four and achieved a 42.8% data reduction. When compared with manual channel reduction, the discrimination rate and the number of training epoch following ICA reduction were significantly better. The convergence probability of ICA was better too, although the difference was not significant. This demonstrates that the ICA can reduce the amount of computation but cannot preserve the necessary information for discrimination.
Discussion The significantly superior discrimination rates, when using
SWT and two new SEMG features, indicate that the characteristic features extracted from different scales definitely provide valuable information in hand motion discrimination at the cost of larger ANN. At the same time, it demonstrates that the two new SEMG features can replace the six commonly used features, after SWT. The results also indicate that most of the useful SEMG features are in the mid-frequency range. On the other hand, the number of wavelet scales that were included in the process does not significantly affect the discrimination rates. An ideal ANN easily converges during the training phase and achieves a high classification rate during trial. However, not all ANN perform ideally. It is found that, for some input features combination, it is very difficult to train the ANN. However, once it is successfully trained, the ANN performs very well. On the other hand, for some other input features combination, the ANN may converge very easily during the training period but perform poorly during trial. For practical
J. Med. Biol. Eng., Vol. 26. No. 1 2006
14
usage, an ANN that is relatively easy to train and performs well is much more desirable than an ANN that is difficult to train and has an excellent performance. In this study, the idea of convergence ratio is proposed. It measures how easily the ANN can be trained. The results indicate that by increasing the number of wavelet scales the convergence ratio increases, i.e. the ANN is more likely to converge. In spite of the significant different in convergence ratios between procedures using the combination of three wavelet scales and procedure using five wavelet scales, this study chose to use the procedure that uses three wavelet scales. This is due to the consideration that this difference is small and by using three wavelet scales requires much less computation, in the same time, without significantly reducing the discrimination rate. Moreover, it is found that when less then three wavelet scales were included for features extraction the ANN failed to converge. ICA, when it was used for the purposes of channel reduction, failed to maintain the level of accuracy that the system had prior to the channel reduction. However, when compared with manual channel reduction, the discrimination rate and the number of training epoch after ICA reduction were significantly better (Table 3). The convergence probability of ICA was better too, although the difference was not significant. The channel reduction through manually selecting four channels from the existing seven SEMG signals proved to be unreliable. In fact, the ANN failed to converge following manual channel selection for two of the twelve subjects. On the other hand, the inferior performance of ICA may be due to the fact that a fixed number of independent component signals were selected in this study. A further study of a reliable method to select appropriate independent signals after ICA will be conducted in the future.
Conclusion This study proposes the use of SWT to extract features from multiple wavelet scales in order to increase the performance of the hand motion identification system using custom-made electrode. Additionally, two new SEMG features were also proposed. Extra features from different wavelet scales increase the performance of the system as is illustrated in this result. The results also indicate that not all wavelet scales are needed in the process of hand motion identification. Selecting only three wavelet scales achieves the same discrimination rate as using five wavelet scales. On the other hand, the results of this study indicate that the ICA is a reliable pre-process to reduce the amount of data and, in turn, reduce the amount of computation in hand motion classification. However, the performance of the system decreased significantly following ICA.
References [1]
K. Kuribayashi, K. Okimura and T. Taniguchi; “A Discrimination System Using Neural Network for EMG-controlled Prostheses,” Proc. IEEE/RSJ Internal.
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15] [16]
[17] [18]
[19]
[20]
Conference on Intelligent Robots and Systems, 63-88, 1993 H.P. Huang and C.Y. Chiang, “Development of a Myoelectric Discrimination System for a Multi-Degree Prosthetic Hand,” Proc. IEEE Intenal. Conference on Robotics & Automation, 3: 2392-2397, 1999 O. Fukuda, T. Tsuji, H. Shigeyoshi and M. Kaneko, “An EMG Controlled Human Supporting Robot Using Neural Network,” Proc. IEEE/RSJ Internal Conference on Intelligent Robots and Systems, 3: 1586-1591, 1999 K.D. Strange, “Restoration of use of paralyzed limb muscles using sensory nerve signals for state control of FES-assisted walking,” IEEE Trans. Rehab. Eng., 7(3): 289-300, 1999 L.Y. Shyu, J.Y. Chen, R.W. Tatn, and W.C. Hu, “A new electrode system for hand action discrimination,” J. Med. d Biol. Eng., 22(4): 211-217, 2002. J.Y. Chen “Multi-electrode hand motion identification system,” Master thesis, Chung Yuan Christian University, Chung Li, Taiwan, 2001 B. Celler and P. de Chazal, “Low computational cost classifiers for ECG diagnosis using neural networks,” Proc. the 20th Annual Internal Conference of IEEE Eng. Med. Biol. Society, 20(2): 1337-1340, 1998. E. M. Lalitha, and L. Satish, “Wavelet analysis for classification of multi-source PD patterns,” IEEE Trans. Dielectrics and Electrical Insulation, 7(1): 40-47, 2000. P.J. Sparto, M. Parnianpour, E.A. Barria, and J.M. Jagadeesh, “Wavelet and short-time Fourier transform analysis of electromyography for detection of back muscle fatigue,” IEEE Trans. Rehab. Eng., 8(3): 433-436, 2000. L.Y. Shyu, Y.S. Lin, C.P. Liu and W.C. Hu, “The detection of impedance cardiogram characteristic points using wavelet transform,” Computers in Biology and Medicine, 34: 165–175, 2004. M.J. McKeown, R. Radtke, “Phasic and tonic coupling between EEG and EMG demonstrated with independent component analysis,” J. Clinical Neurophysioogy, 18(1): 45–57, 2001. H. Nakamura, M. Yoshida, M. Kotani, K. Akazawa, T. Moritani, “The application of independent component analysis to the multichannel surface electromyographic signals for detecion of motor unit action potential trains: Part I—measuring techniques,” J. Electromyography Kinesiol., 14: 423-432, 2004. G.P. Nason and B.W. Silverman, “The stationary wavelet transform and some statistical application,” Lecture Notes in Statistics, 103: 281-299, 1995. P. Welling, and G. Moschytz, “Analysis of wavelet features for myoelectric signal classification,” Proc. IEEE Internal Conference Electronics, Circuits and Systems, 3: 109-112, 1998. A. Hyvärinen, “Survey on independent component analysis,” Neural Computing Surveys, 2: 94-128, 1999. A. Hyvärinen, E. Oja, “A fast fixed-point algorithm for independent component analysis,” Neural Comput. 9: 1483-1492, 1997. A. Hyvärinen, “The FastICA MATLAB package,” Available: http: //www.cis.hut.fi /projects /ica /icademo/. H.P. Huang and C.Y. Chiang, “Development of a Myoelectric Discrimination System for a Multi-Degree Prosthetic Hand,” Proc. IEEE Internal. Conf. on Robotics & Automation, 3: 2392-2397, 1999. Y.C. Du, “Evaluation of stationary wavelet, PCA and ICA for hand motion EMG identification,” M.S. thesis, Dep. Biomed. Eng., Chung-Yuan Christian Univ. Chung Li, Taipei, Taiwan, 2003. H.P. Huang and C.Y. Chiang, “DSP-based controller for a multi-degree prosthetic hand,” Proc. IEEE Internal. Conf. Robotics & Automation, 2: 1378-1383, 2000.