Robot Vision Tracking with a Hierarchical CMAC Controller

2 downloads 32 Views 77KB Size Report
Email: [email protected]. Vision has extensively expanded the robots capabilities, making the robot control problem more complex. To track a target with ...
Robot Vision Tracking with a Hierarchical CMAC Controller R. Kara, P. Wira, H. Kihl TROP Research Group, University of Mulhouse 4 rue des Frères Lumière, 68093 Mulhouse, France Email: [email protected]

Vision has extensively expanded the robots capabilities, making the robot control problem more complex. To track a target with a robot arm in a three-dimensional space involves to use precise commands. We propose to insert a hierarchical neurocontroller based on CMAC (Cerebellar Model Articulation Controller) networks in a visual servoing loop. This hierarchical structure splits the robot’s workspace and assigns different CMAC controllers imposing thus specialized region CMAC. Compared to a single CMAC with the same number of weights, the neurocontroller’s sensitivity and precision is increased. Robot positioning and target tracking with visual feedback can then be done with a better precision.

1

Introduction

Most robot tasks require that robot arms interact with the different objects in the work environment. To perform these interactions, the arm’s end-effector and the object have to be accurately located. Vision is a well-suited way to perceive a robot’s workspace. These applications have been widely studied and are referenced to as visual servoing [1]. Real-time tracking of a moving object with a robot manipulator in a 3-D scene constrains us to accurately convert continuously updated end-effector’s positioning errors in joint angle variations. This differential relationship, from visual feature space to manipulator velocity is learned by an artificial neural network (ANN). We introduce a new hierarchical neurocontroller based on CMAC networks (Cerebellar Model Articulation Controller). The performances of the proposed neurocontroller are evaluated in a robot vision application which consists in real-time target tracking. No a priori knowledge about the target’s movements in the 3-D space is considered. To take into account the target’s dynamic and to compensate the time-delay introduced by image acquisition and processing, the visual feature parameters are predicted online by an adaptive Kalman Filter (KF). The next Section describes the visual servoing approach and justifies the neural approach of the problem. Section 3 introduces the CMAC network and our proposed hierarchical CMAC controller. Different experiments have be done to evaluate the proposed visual feedback scheme. The performances are summarized in Section 4 and compared to other adaptive visual servoing approaches. Concluding remarks are made in the last section.

2

Adaptive Visual Servoing

Robotic visual servoing consists of using visual information to control the pose of the robot’s end-

effector relative to a target. The robot’s 3-D workspace will be continuously observed by two fixed cameras providing a pair of images. The manipulator’s end-effector is then located by its coordinates in the two images. Because the cameras planes are voluntary placed in a same plane, the vertical coordinates in the left and right images are the same and we can thus define the end-effector’s visual feature vector by v = [ xleft xright y ]T . Using a threedegrees of freedom robot arm we can call its joint angles vector q = [q1 q2 q3 ]T . Considering these previous definitions, the following transformation function can be defined: f : Q → V , v k = f (q k ) , (1)

where Q ∈ R 3 is the robot joint space and V ∈ R 3 the image feature parameter space. A continuous evaluation of the end-effector’s position against the target’s location dk allows the determination of an error at iteration k: ek = dk − v k .

(2)

Conventional feedback control methods requires the computation of the inverse Jacobian matrix J -1 f differential Jacobian relationship: ∂v k = J f (q k ).∂q k .

k

of the (3)

This matrix, which must be computed on each iteration, is denoted the image Jacobian or interaction matrix. The relation given by expression (3) describes how image feature parameters change with respect to changing manipulator poses. In visual servoing, we are interested in computing the corresponding manipulator velocity ∂q k to reach a desired value of ∂v k . We are thus confronted to a matrix inversion calculation and the inverse mapping f -1 can be used in the control loop if we can solve qk uniquely given a desired image location v k .

Conventional methods depend on the robot’s model, on the cameras projection model, on the relative camerasrobot positioning and on the preliminary necessary calibration phase. This leads us to favor an adaptive approach based on the observed robot movements. An ANN is inserted in the visual feedback loop and is used by online adaptation to estimate the inverse Jacobian. The challenge of neurocontrol consists in building a neural network that will input a specified measured location error ek , and output the control correction ∆q k which will move the robot arm to the desired location. The local linear Jacobian approximation allows the determination of the robot angles variation using equation (4) every feedback cycle: ∆q k = Jˆ f-1 (q k ).ek . (4) Most people using direct inverse control begin by building a database of desired locations and control signals simply by moving the arm, to make the neural network to learn the inverse mapping. We exploit the supervised learning paradigm in a CMAC’s neural network scheme, with the actual error ek used as the input and the actual joint angle variation ∆q k as the target. This ANN offers several kind of advantages over other methods. The CMAC’s output is calculated with only a number of localized weights at any one time. Thus for different regions of the input-space, only one set of weights is invoked and adapted. This property allows to preserve the input space topology – points close in the input space are learned into regions close in the network and distinct points are stored in separated regions in the CMAC’s memory– and allows to save time for realtime adaptation. Another advantage of the CMAC is that when the system moves form one large region of the state-space to another, it will not unlearn what it has already learned in previous regions. Because it adapts different weights in different regions this network tends to avoid this problem but it also tends to contain more weights and may be poor at generalizing across regions. Neurocontrollers have a serious advantage over model based methods with the property of naturally being able to adapt themselves to changes and also unexpected changes in parameters. However they cannot take into account every kind of unexpected events. For example, system’s dynamic changes are interpreted with lots of difficulty for basis neural networks architectures. An ideal adaptability is reached only for networks that contain neurons or units that are sensitive to system dynamic changes. These units must then somehow be able to integrate information over long periods of time, because plant dynamics usually cannot be measured accurately based only on the current measure or on the current and the last past measure. A simple solution consists in adding a lot of tapped delay lines but this scheme can rapidly cause severe learning problems. An

alternative and better solution to this kind of problem is to use structures like those used in Kalman filtering.

3 3.1

Controller Design Image Measurement and Predictions

Visual servoing and pose estimation with visual sensors have extensively included KF to estimate the objects location in the 3-D space, to improve visual parameters or to generate up-to-date trajectories from noisy and delayed outputs from vision systems. The optimality of the KF’s estimates depends upon the accuracy of the state dynamic model and the output model, and on the assumptions that the disturbance and measurement noise are accurately represented by Gaussian distributed zero mean noise with known covariances. When these conditions are not exactly met, the resulting estimates are near optimal solutions or also often far from optimality. Even estimation problem handling with nonlinear plants, formulated in terms of extended Kalman filtering, does not permit optimal estimates. An elegant alternative to overcome the system identification problem, is to use a KF endowed with an adaptive state model. We propose to use a transition matrix which always best represents the system dynamics around the state’s current value and which is parameter independent. This algorithm will not be developed in this paper but is detailed in [2]. A windowing technique, where only the interesting regions are processed of each images allows us to save precious time in our real-time implementation. We will use KF to predict the visual features to avoid windows error locations and thus increase the reliability of the visual servoing feedback. These predictions will also serve to compensate the time delay introduced by the image acquisition and processing. The predicted visual data will include the end-effector’s evolution and the target’s movements in the image space. These predictions are then converted into command signals. This mapping is done by the CMAC neural network which is briefly described in the next Section. This learning is based on the principle of teach-byshowing and has been widely applied to robot control applications.

3.2

The CMAC Neural Network

The CMAC is a learning technique firstly proposed and developed by Albus [3]. This neural network tends to memorize and to reproduce the learned signals rather than to compute them. This property makes the CMAC very appropriate for real-time robot control problems and that’s why it has been widely applied to this problem during the last decade [4]. The CMAC algorithm is composed of two mappings, a first one static and nonlinear, and a second one which is

Hierarchical Neurocontroller

Predicted Desired Image Feature

Manipulator Target Position

+ -

Predicted Image Feature

End-Effector Position State Model AKF Predictions

Image Processing

Stereo Camera

Windows Locations

Figure 1. Visual servoing principle based on the hierarchical CMAC neural network

linear and adaptive. We briefly describe them but detailed explications can be found in [5]. The first mapping has to create an internal scattered representation (by shared memory locations) of the input space by transforming the input vector into another vector of higher dimensions. The CMAC’s structure is defined by two fixed parameters, the generalization parameter and the quantification. Thus, each input variables is discretized in a fixed number of regions called blocks. These blocks, placed along each input dimension, define regions called hypercubes. Simply shifting by one small element defines other hypercubes. The second mapping consists in computing the neural network’s output. This output vector is the sum of stored weights for hypercubes recovering the region activated by a given input vector s. The network training is typically based on observed training data pairs (s, y d (s)) , where s is the input vector and y d (s) the desired network output. The memory training adjustment is equivalent to the wellknown least mean square adaptation rule for linear adaptive elements.

3.3

The Hierarchical CMAC Controller

Since the CMAC is a lookup technique, a model implemented by such a structure cannot provide a derivative of its output. This leads to a limitation in terms of precision and sensibility. Because this neural network performs a discretization of the robot’s workspace, a great amount of weights are necessary to correctly store the learned information. The well-known SOM neural networks (self-organizing maps) can be an alternative but they suffer from the same limitations as those listed for the CMAC. To handle with good precision we propose to use a hierarchical structure composed of different CMAC networks situated at the same level, each specialized on different regions of the robot’s workspace. All these CMAC will be dedicated to deliver the robot commands. Another CMAC, through its adaptive

lookup technique, makes a rough discretization of the manipulator’s workspace. This discretization will select the best appropriated CMAC for delivering the robot’s commands given its position in the workspace. Because the Cartesian coordinate are not accessible, we will use an alternative representation to evaluate the robot’s configuration. The end-effector’s current image location and the measured disparity will constitute what we call the selection vector. This vector constitutes the input of the selection CMAC. All command CMAC have the same input and only one will be selected to give a response at one time. The selected command CMAC inputs the measured location error ek and outputs the control correction ∆q k . An overview of how this principle is integrated in the visual feedback scheme is illustrated by Figure 1. The CMAC is a network which specializes its weights by regions. The CMAC controllers, when organized as has been described are networks which are all specialized by regions of the workspace. This hierarchical structure reinforces the notion of speciality inherent to the CMAC network. The Hierarchical CMAC (HCMAC) network does not perform any dimension reduction because the input and output vectors are the same as for a conventional CMAC. The proposed hierarchical neurocontroller however allows to increase the precision and the sensitivity. This will be demonstrated by the experiments presented in the next section.

4

Results

We want the robot arm to follow in the 3-D space a target which moves with random trajectories. For this application, the HCMAC is composed of 27 command CMAC networks which maps the visual features to joint angle variations. The selection CMAC discretizes the image feature space and selects one command CMAC each time. The CMAC’s generalization parameter is 10 and they all use a quantification of 5 pixels. The arm is located at the origin of the scene’s coordinate frame and its workspace is a parallelogram with 50 < x < 450, -100 < y < 100, 20 < z < 200. The

0

0

400

200

200 Z axis

400 200

b) 100

100 0

0 1000

2000

-100

Y axis

X axis

a)

The HCMAC’s performances as a neurocontroller are summarized in Table 1. Comparisons with a multiplayer perceptron (MLP) and a single CMAC recovering the hole workspace are presented in the same Table. The MLP is composed of three hidden layers with respectively 10, 50 and 10 neurons. The MLP’s configuration is not optimal and its learning performances are closely linked to its initial weights. The CMAC and the HCMAC are both composed of 106 neurons. The single CMAC’s parameters are the same as those of the hierarchical neurocontroller.

HCMAC

Reached targets in the first step (%) 95.42

Single CMAC

29.91

489.89

85.03

MLP

232.46

675.05

100

200

600

0

200

400

600

updated with a stereovision sensor. The system’s dynamics is modelled by an adaptive KF which predicts the visual features. A differential approach with a hierarchical CMAC structure is proposed to online convert the predicted errors in the visual feature space into joint angle variations. In this structure a high-level CMAC network, with a selection input, has to choose among different CMAC networks the best appropriate controller, given a robot configuration. The CMAC’s weights are dedicated and specialized by input space regions, preserving thus the topological properties of its input space. The CMAC controllers, when organized in this structure are also specialized by regions over the workspace. This hierarchical structure reinforces the notion of speciality inherent to the CMAC network and allows to increase the controller’s sensitivity. Compared to a single CMAC, the HCMAC with the same size and the same parameters allows for a positioning with a better precision.

References [1]

S. Hutchinson, G. Hager, and P. Corke, "A Tutorial on Visual Servo Control," IEEE Transaction on Robotics and Automation, vol. 12, pp. 651-670, 1996.

[2]

P. Wira and J.-P. Urban, "A New Adaptive Kalman Filter Applied To Visual Servoing Tasks," Proc. of the Fourth International Conference on Knowledge-Based Intelligent Engineering Systems & Allied Technologies, Brighton, UK, 2000.

[3]

J. S. Albus, "A New Approach to Manipulator Control: The Cerebellar Model Articulation Controller (CMAC)," Journal of Dynamic Systems, Measurement and Control, vol. 37, pp. 220-227, 1975.

[4]

W. T. Miller, III, "Real-Time Neural Network Control of a Biped Walking Robot," IEEE Control Systems, vol. 14, pp. 41-48, 1994.

[5]

M. Brown and C. Harris, Neurofuzzy Adaptive Modelling and Control. New York: Prentice Hall, 1994.

Table 1. Comparison of performances of the HCMAC with an equivalent single CMAC with the same number of weights and with an MLP

With approximately the same number of weights, the HCMAC allows a better positioning than the single CMAC. The maximum positioning error is considerably reduced with the hierarchical neurocontroller. The CMAC’s main limitation is that it cannot correctly respond for a region which has not already been learned. This hierarchical structure, by splitting the robot’s workspace into regions, permits to partially reduce this problem and allows to reach more targets than the single CMAC. Inherently, The MLP is able to deliver a response for every input, but it suffers from well-known problems which are local minimum, and slow nonlinear learning. This can induce commands far from optimality.

5

400

Figure 2. Two fixed video cameras provide visual feedback information for the robot arm which operates in a 3-D workspace; a) an example of a spiral trajectory in the 3-D space and, b) its projection in the left and right images

three arm segments of the arm have a length l1 = 130, l2 = 310 and l3 = 330 mm. The cameras are positioned in front of the robot’s workspace at a distance of 1 meter (see Figure 2).

Positioning error in the 3-D space (mm) Mean Max 11.17 163.29

400 0

Conclusion

To allow real-time tracking of a moving object in a 3-D scene, the robot arm’s positioning error is continuously

Suggest Documents