Robotics, Sensorimotor Models, Adaptive Systems, Sensor-Based Control, Servomechanisms, Visual Servoing.
Robotics, Sensorimotor Models, Adaptive Systems, Sensor-Based Control, Servomechanisms, Visual Servoing.
Robots are widely used in industry to perform a myriad of sensor-based applications ranging from visually servoed pick-and-place tasks to force-regulated workpiece assemblies (Book:Nof1999). Their accurate operation is largely due to the fact that industrial robots rely on fixed settings that enable the exact characterisation of the tasks’ sensorimotor model. Although this full characterisation requirement is fairly acceptable in industrial environments, it is too stringent for many service applications where the mechanical, perceptual and environment conditions are not exactly known or might suddenly change (dna2019_ccc), e.g. in domestic robotics (where environments are highly dynamic), field robotics (where variable morphologies are needed to navigate complex workspaces), autonomous systems (where robots must adapt and operate after malfunctions), to name a few cases.
In contrast to industrial robots, the human brain has a high degree of adaptability that allows it to continuously learn sensorimotor relations. The brain can seemingly coordinate the body (whose morphology persistently changes throughout life) under multiple circumstances: severe injuries, amputations, manipulating tools, using prosthetics, etc. It can also recalibrate corrupted or modified perceptual systems: a classical example is the manipulation experiment performed in (Journals:Kohler1962) with image inverting goggles that altered a subject’s visual system. In infants, motor babbling is used for obtaining (partly from scratch and partly innate) a coarse sensorimotor model that is gradually refined with repetitions (Journals:von1982). Providing robots with similar incremental and life-long adaptation capabilities is precisely our goal in this paper.
From an automatic control point of view, a sensorimotor model is needed for coordinating input motions of a mechanism with output sensor signals (Journals:Huang1994), e.g. controlling the shape of a manipulated soft object based on vision (dna2016_tro) or controlling the balance of a walking machine based on a gyroscope (Proceedings:Yu2018). In the visual servoing literature, the model is typically represented by the so-called interaction matrix (Journals:Cherubini2015; Journals:Hutchinson1996), which is computed based on kinematic relations between the robot’s configuration and the camera’s image projections. In the general case, sensorimotor models depend on the physics involved in constructing the output sensory signal; If this information is uncertain (e.g. due to bending of robot links, repositioning of external sensors, deformation of objects), the robot may no longer properly coordinate actions with perception. Therefore, it is important to develop methods that can efficiently provide robots with the capability to adapt to unforeseen changes of the sensorimotor conditions.
Classical methods in robotics to compute this model (see (Journals:Sigaud2011)
for a review) can be roughly classified intostructure-based and structure-free approaches (dna2019_ccc). The former category represents “calibration-like” techniques (e.g. off-line (Journals:Wei1998) or adaptive (dna2015_iros; Journals:Liu2013; Journals:Wang2008)) that aim to identify the unknown model parameters. These approaches are easy to implement, however, they require exact knowledge of the analytical structure of the sensory signal (which might not be available or subject to large uncertainties). Also, since the resulting model is fixed to the mechanical/perceptual/environmental setup that was used for computing it, these methods are not robust to unforeseen changes.
For the latter (structure-free) category, we can further distinguish between two main types (dna2019_ccc): instantaneous and distributed estimation. The first type performs online numerical approximations of the unknown model (whose structure does not need to be known); Some common implementations include e.g. Broyden-like methods (Journals:Alambeigi2018; Proceedings:Jagersand1997; Proceedings:Hosoda1994) and iterative gradient descent rules (tiffany2017_rcar; dna2015_iros). These methods are robust to sudden configuration changes, yet, as the sensorimotor mappings are continuously updated, they do not preserve knowledge of previous estimations (i.e. it’s model is only valid for the current local configuration). The second type distributes the estimation problem amongst multiple computing units; The most common implementation is based on (highly nonlinear) connectionists architectures (Journals:Hu2019; Proceedings:Lyu2018; Journals:Li2014). These approaches require very large amounts of training data to properly constrain the learning algorithm, which is impractical in many situations. Other distributed implementations (based on SOM-like sensorimotor “patches” (Journals:Kohonen2013)) are reported e.g. in (omar2019_taros; Journals:Pierris2017; Journals:Escobar2016), yet, the stability properties of its algorithms are not rigorously analysed.
As a solution to these issues, in this paper we propose a new approach that approximates unknown sensorimotor models based on local data observations only. In contrast to previous state-of-the-art methods, our adaptive algorithm has the following original features:
It requires few data observations to train and constrain the algorithm (which allows to implement it in real-time).
The number of minimum data points to train it can be analytically obtained (which makes data collection more effective).
The stability of its update rule can be rigorously proved (which enables to deterministically predict its performance).
The proposed method is general enough to be used with different types of sensor signals and robot mechanisms.
Along this note we use very standard notation. Column vectors are denoted with bold small lettersand matrices with bold capital letters . Time evolving variables are represented as , where the subscript denotes the discrete time instant. Gradients of functions are denoted as .
4.2 Configuration Dependant Feedback
Consider a robotic system whose instantaneous configuration vector (modelling e.g. end-effector positions in a manipulator, orientation in a robot head, relative pose in a mobile robot, etc.) is denoted by the vector . To perform a task, the robot is equipped with a sensing system that continuously measure a physical quantity whose instantaneous values depend on . Some examples of these types of configuration-dependent feedback signals are: geometric features in an image (Journals:Liu2013), forces applied onto a compliant surface (Journals:Bouyarmane2019), proximity to an object (Journals:Cherubini2013), intensity of an audio source (Proceedings:Magassouba2016), attitude of a balancing body (Journals:Defoort2009), shape of a manipulated object (dna2018_tro), temperature from a heat source (Proceedings:Saponaro2015), etc.
Let denote the vector of feedback features that quantify the task; Its coordinates might be constructed with raw measurements or be the result of some processing. We model the instantaneous relation between this sensor signal and the robot’s configuration as (Journals:Chaumette2006):
Along this paper, we assume that the feedback feature functional is smooth and twice differentiable.
4.3 Uncalibrated Sensorimotor Control
In our formulation of the problem, it is assumed that the robotic system is controlled via a standard position/velocity interface, as in e.g. (Journals:Whitney1969; Journals:Siciliano1990), a situation that closely models the majority of commercial robots. With position interfaces, the motor action represents the following displacement difference:
The methods in this paper are formulated using position commands, however, these can be easily transformed into robot velocities by dividing by the servo controller’s time step as follows .
The expression that describes how the motor actions result in changes of feedback features is represented by the first-order difference model:
for as the Jacobian matrix of the system (also known as the interaction matrix), whose elements depend on the instantaneous configuration of the robot. The flow vector represents the sensor changes that result from the action . Figure 1 conceptually depicts these quantities.
The sensorimotor control problem consists in computing the necessary motor actions for the robot to achieve a desired sensor configuration. Without loss of generality, in this note, such configuration is characterised as the regulation of the feature vector towards a constant target . The necessary motor action to reach the target can be computed by minimising the following quadratic cost function:
where is a gain and a standard saturation function (defined as in e.g. (Journals:Chang2018)). The rationale behind the minimisation of the cost (4) is to find an incremental motor command that forward-projects into the sensory space (via the interaction matrix ) as a vector pointing towards the target . By iteratively commanding these motions, the distance is expected to be asymptotically minimised.
To obtain , let us first compute the extremum , which yields the normal equation
Solving (5) for , gives rise to the motor command that minimises :
where denotes a generalised pseudo-inverse matrix satisfying (Book:Nakamura1991). For the case where , the cost function can only be locally minimised.
Note that the computation of (6) requires exact knowledge of . To analytically calculate this matrix, we need to fully calibrate the system, which is too restrictive for applications where the sensorimotor model is unavailable or might suddenly change. This situation may happen if the mechanical structure of the robot is altered (e.g. due to bendings or damage of links), or the configuration of the perceptual system is changed (e.g. due to relocating external sensors), or the geometry of a manipulated object changes (e.g. due to grasping forces deforming a soft body), to name a few cases. Without this information, the robot may not properly coordinate actions with perception. In the following section, we describe our proposed solution.
5.1 Discrete Configuration Space
Since the feature functional (1) is smooth, the matrix is also expected to smoothly change along the robot’s configuration space. This situation means that a local matrix computed at a particular configuration point is also valid around the surrounding neighbourhood (Journals:Sang2012). We exploit this simple yet powerful idea to develop a computational method that distributes the model estimation problem amongst various units that specialise in a local sensorimotor map.
Consider a system with computing units distributed around the robot’s configuration space, see Figure 2. The location of these units can be defined with many approaches, e.g. with self organisation (Book:Kohonen2001)
, random distributions, uniform distributions, etc.(Book:Haykin2009). To each unit, we associate the following 3-tuple:
The weight vector represents a configuration of the robot where . The matrix stands for a local approximation of evaluated at the point . The purpose of the structure is to store sensor and motor observations collected around the vicinity of through babbling-like motions (Proceedings:Saegusa2009). The structure is constructed as follows:
for as the number of collected observations. Note that and are typically not consecutive time instances. The total number of observations is assumed to satisfy .
5.2 Initial Learning Stage
We propose an adaptive method to iteratively compute the local transformation matrix from data observations. To this end, consider the following quadratic cost function for the th unit:
for as a regression-like matrix defined as
and a vector of adaptive parameters constructed as:
where the scalar denotes the th row th column element of the matrix .
The scalar represents a Gaussian neighbourhood function centred at the th unit and computed as:
(representing the standard deviation) is used to control the width of the neighbourhood. By using, the observations’ contribution to the cost (9) proportionally decreases with the distance to . In practise, it is common to approximate the Gaussian neighbourhood with a simple “square” region, which presents the highest approximation error around its corners (see e.g. Figure 2 where the sampling point is within its boundary).
To compute an accurate sensorimotor model, the data points in (8) should be as distinctive as possible (i.e. the motor observations should not be collinear). This requirement can be fairly achieved by covering the uncertain configuration with curved/random motions.
The following gradient descent rule is used for approximating the transformation matrix at the th unit:
for as a learning gain. For ease of implementation, the update rule (13) can be equivalently expressed in scalar form as:
where and denote the th and th components of the vectors and , respectively.
5.3 Lyapunov Stability
In this section, we analyse the stability properties of the proposed update rule by using discrete-time Lyapunov theory (Preprint:Bof2018). To this end, let us first assume that the transformation matrix satisfies:
for any configuration around the neighbourhood defined by (this situation implies that is constant around the vicinity of ). Therefore, locally around , we can express the sensor changes as:
where denotes the vector of constant parameters, for as the th row th column of the unknown matrix . To simplify notation, we shall denote .
Consider the following quadratic (energy-like) function:
Computing the forward difference of yields:
for a symmetric matrix defined as follows:
with as a positive-definite diagonal matrix,
as an identity matrix andconstructed with matrices as follows:
To prove the asymptotic stability of (13), we must first prove the positive-definiteness of the dissipation-like matrix (Book:van_der_Schaft). To this end, note that since is exactly known and is full-rank, we can always find a gain to guarantee that the symmetric matrix
is also positive-definite, and therefore, full-rank. Next, let us re-arrange linearly independent row vectors from as follows:
which shows that has a full column rank, hence, the matrix is positive-definite. This condition implies that for any . Asymptotic stability of the parameter’s estimation error directly follows by invoking Lyapunov’s direct method (Preprint:Bof2018). ∎
There are two conditions that need to be satisfied to ensure the algorithm’s stability. The first condition is related to the magnitude of the learning gain . Large gain values may lead to numerical instabilities, which is a common situation in discrete-time adaptive systems. The second condition is related to the linear independence (i.e. the non-collinearity) of the motor actions . Such independent vectors are needed for providing a sufficient number of constraints to the estimation algorithm (this condition can be easily satisfied by performing random babbling-like motions).
5.4 Localised Adaptation
Once the cost function (9) has been minimised, the computed transformation matrix can be used to model the robot’s sensorimotor properties around the th unit; The associated local training data (8) must be released from memory to allow for new relations to be learnt—if needed. However, for the case where changes in the sensorimotor conditions occur, the model may contain inaccuracies in some or all computing units, and thus, its transformation matrices cannot be used for controlling the robot’s motion. To cope with this issue, we need to first quantitatively assess such errors. For that, the following weighted distortion metric is introduced:
where denotes a positive-definite diagonal weight matrix to homogenise different scales in the approximation error . The scalar index is found by solving the search problem:
To enable adaptation of problematic units, we evaluate the magnitude of the metric , and if found to be larger than an arbitrary threshold , new motion and sensor data must be collected around the th computing unit to construct the revised structure by using a push approach:
that updates the topmost observation and discards the oldest (bottom) data, so as to keep a constant number of data points. The transformation matrices are then computed with the new data.
5.5 Motion Controller
The update rule (13) computes an adaptive transformation matrix for each of the units in the system.
To provide a smooth transition between different units, let us introduce the matrix which is updated as follows111For simplicity, we initialise with a zero matrix.
with a zero matrix.:
where is a tuning gain. The above matrix represents a filtered version of , where denotes the index of the active unit, as defined in (24
). With this approach, the transformation matrix smoothly changes between adjacent neighbourhoods, while providing stable values in the vicinity of the active unit; It can be seen as a continuous interpolation between adjacent neighbourhoods.
The motor command with adaptive model is implemented as follows:
The stability of this control method can be analysed using a small displacement approach, where we introduce the increment vector and define the local reference position . Let us assume that the units have minimised the cost functions (9) such that is locally satisfied around the active neighbourhood.
For (i.e. more/equal motor actions than feedback features), the control input (27) provides the local feedback error with asymptotic stability.
6 Case of Study
In this section, we validate the performance of the proposed method with numerical simulations and experiments. A vision-based manipulation task with a deformable cable is used as our case of study (Journals:Bretl2014): It consists in the robot actively deforming the object into a desired shape by using visual feedback of the cable’s contour (see e.g. (Proceedings:Zhu2018)). Soft object manipulation tasks are challenging—and relevant to the fundamental problem addressed here—since the sensorimotor models of deformable objects are typically unknown or subject to large uncertainties (Journals:Sanchez2018). Therefore, the transformation matrix relating the shape feature functional and the robot motions is difficult to compute. The proposed algorithm will be used to adaptively approximate the unknown model. Figure 3 conceptually depicts the setup of this sensorimotor control problem.
6.1 Simulation Setup
For this study, we consider a planar robot arm that rigidly grasps one end of an elastic cable, whose other end is static; We assume that the total motion of this composed cable-robot system remains on the plane. A monocular vision sensor observes the manipulated cable and measures its 2D contour in real-time. The dynamic behaviour of the elastic cable is simulated as in (Journals:Wakamatsu2004) by using the minimum energy principle (Book:Hamill2014), whose solution is computed using the CasADi framework (Journals:Andersson2018). The cable is assumed to have negligible plastic behaviour. All numerical simulation algorithms are implemented in MATLAB.
Let the long vector represents the 2D profile of the cable, which is simulated using a resolution of data points. To perform the task, we must compute a vector of feedback features that characterises the object’s configuration. For that, we use the approach described in (Journals:Digumarti2019; dna2018_tro) that approximates with truncated Fourier series (in our case, we used 4 harmonics), and then constructs with the respective Fourier coefficients (Proceedings:Collewet2000). The use of these coefficients as feedback signals enable us to obtain a compact representation of the object’s configuration, however, it complicates the analytical derivation of the matrix .
6.2 Approximation of the Matrix
To construct the data structure (8), we collect data observations at random locations around the manipulation workspace. Next, we define local neighbourhoods centred at the configuration points , , and . These neighbourhoods are defined with a standard deviation of . With the collected observations, matrices are computed using the update rule (14).
Figure 4 depicts the measured shape (black solid line) of the cable at the four points and the shape that is approximated (red dashed line) with the feedback feature vector (i.e the Fourier coefficients). It shows that 4 harmonics provide sufficient accuracy for representing the object’s configuration. To evaluate the accuracy of the computed discrete configuration space and its associated matrices , we conduct the following test: The robot is commanded to move the cable along a circular trajectory that passes through the four points . The following energy function is computed throughout this trajectory:
Figure 5 depicts the profile of the function along the trajectory. We can see that this error function increases as the robot approaches the neighbourhood’s boundary. The “switch” label indicates the time instant when switches to different (more accurate) matrix, an action that decreases the magnitude of . This result confirms that the proposed adaptive algorithm provides local directional information on how the motor actions transform into sensor changes.
6.3 Sensor-Guided Motion
In this section, we make use of the approximated sensorimotor model to guide the motion of a robotic system based on feedback features. To this end, various cable shapes are defined as target configurations (to provide physically feasible targets, these shapes are collected from previous sensor observations). The target configurations are then given to the motion controller (27) to automatically perform the ask. The controller implemented with saturation bounds of and a feedback gain .
Figure 7 depicts the progression of the cable shapes obtained during these numerical simulations. The initial and the intermediate configurations are represented with solid black curves, whereas the final shape is represented with red dashed curves. To assess the accuracy of the controller, the following cost function is computed throughout the shaping motions:
For these four shaping actions, Figure 7 depicts the time evolution of the function . This figure clearly shows that the feedback error is asymptotically minimised.
Now, consider the setup depicted in Figure 8, which has two 3-DOF robots jointly manipulating the deformable cable. For this more complex scenario, the total configuration vector must be constructed with the 3-DOF pose (position and orientation) vectors of both robot manipulators as . Training of the sensorimotor model is done similarly as with the single-robot case described above; The same feedback gains and controller parameters are also used.
Figure 9 depicts the initial shape and intermediate configurations (black solid curves), as well as the respective final shape (red dashed curve) of the cable. Note that as more input DOF can be controlled by the robotic system, the object can be actively deformed into more complex configurations (cf. the achieved S-shape curve with the profiles in Figure 6). Similarly as with the previous case, the function is evaluated throughout the trajectory. Figure 10 shows that is asymptotically minimised, which implies that the approximated sensorimotor model provides sufficient directional information to the controller to properly “steer” the feature vector towards the target .
To validate the proposed theory, we developed an experimental platform composed of a three degrees-of-freedom serial robotic manipulator (DOBOT Magician), a Linux-based motion control system (Ubuntu 16.04), and a USB Webcam (Logitech C270); Image processing is perfomed by using the OpenCV libraries(Journals:Bradski2000). In this setup, the robot rigidly grasps an elastic piece of pneumatic air tubing, whose other end is attached to the ground. The 3-DOF mechanism has a double parallelogram structure that enables to control the gripper’s x-y-z position while keeping a constant orientation. For this experimental study, we only control 2-DOF of the robot such it manipulates the tubing with plane motions. Figure 11 depicts the setup.
We conduct similar vision-guided experiments with the platform as the ones described in the precious section. For these tasks, the elastic tubing must be automatically positioned into a desired contour. The configuration dependant feedback for this task is computed with the observed contour of the object by using 2 harmonic terms (dna2018_tro). The sensorimotor model is similarly approximated around 4 configuration points (as in Figure 4), by performing random motions and collecting sensor data.
Figure 12 depicts snapshots of the conducted experiments, where we can see the initial and final configurations of the system. The red curves represent the (static) target configuration . For these two targets, Figure 13 depicts the respective time evolution profiles of the energy function , where we can clearly see that the feedback error is asymptotically minimised. This results demonstrate that the approximated model can be used to locally guide motions of the robot with sensor feedback.
In this paper, we describe a method to estimate sensorimotor relations of robotic systems. For that, we present a novel adaptive rule that computes local sensorimotor relations in real-time; The stability of this algorithm is rigorously analysed and its convergence conditions are derived. A motion controller to coordinate sensor measurements and robot motions is proposed. Simulation and experimental results with a cable manipulation case of study are reported to validate the theory.
The main idea behind the proposed method is to divide the robot’s configuration workspace into discrete nodes, and then, locally approximate at each node the mappings between robot motions and sensor changes. This approach resembles the estimation of piecewise linear systems, except that in our case, the computed model represents a differential Jacobian-like relation. The key guarantee the stability of the algorithm lies in collecting sufficient linear independent motor actions (such condition can be achieved by performing random babbling motions).
The main limitation of the proposed algorithm is the local nature of its model, which can be improved by increasing the density of the distributed computing units. Another issue is related to the scalability of its discretised configuration space. Note that for 3D spaces, the method can fairly well approximate the sensorimotor model, yet for multiple DOF (e.g. more than 6) the data is difficult to manage and visualise.
As future work, we would like to implement our adaptive method with other sensing modalities and mechanical configurations, e.g. with an eye-in-hand visual servoing (where the camera orientation is arbitrary) and with variable morphology manipulators (where the link’s length and joint’s configuration are not known).
This research work is supported in part by the Research Grants Council (RGC) of Hong Kong under grant number 14203917, in part by PROCORE-France/Hong Kong Joint Research Scheme sponsored by the RGC and the Consulate General of France in Hong Kong under grant F-PolyU503/18, and in part by The Hong Kong Polytechnic University under grant G-YBYT.
DNA conceived the algorithm and drafted the manuscript. JQ and JZ performed the numerical simulation results. AC analysed the theory and revised the paper.