FR 2460000 A1 19810116 FR 7916637 A 19790627 La présente invention concerne un dispositif de commande de mouvement d'un système à plusieurs degrés de liberté. Le domaine d'application de l'invention est essentiellement celui de la robotique,en particulier le tracé automatique de courbe sur table traçante ou tables à dessin, et la commande automatique de machines-outils. Dans ce qui suit, on considérera, d'une façon générale, la commande de mouvements d'un ou plusieurs organes mobiles suivant p axes, p étant le nombre de degrés de liberté du système commandé. Avec des dispositifs de commande connus, des points de consigne successifs sont calculés pour chaque axe en fonction de conditions prédéterminées et sont fournis à des moyens d'entratnement des organes mobiles. La précision des mouvement est, pour des mimes vitesses des organes commandés, d'autant plus grande que le nombre de points de consigne calculés est plus grand. Un tel dispositif connu est décrit dans la demande de brevet franQals publiée sous le nO 2 329.107. Le calcul des points de consigne successifs pour un axe est effectué au moyen d'un générateur numérique de fonction polynomiale, les points de consignes successifs étant considérés comme les valeurs que prend un polynôme d'ordre n pour des valeurs successives du paramètre. te générateur numérique est constitué par des intégrateurs numériques montés en cascade.Chaque intégrateur numérique d'ordre k reçoit de l'intégrateur précédent, d'ordre k + l des accroissements élémentaires de la dérivée d'ordre k du polynôme à engendrer et élabore des signaux de sortie successifs représentatifs des accrotssements élémentaires de la dérivée d'ordre k - 1 de ce polynôme pour des valeurs successives du paramètre. La sommation des valeurs de sortie successives de l'intégrateur d'ordre l détermine les points de consigne, cette sommation étant effectuée dans un étage appelé étage de sortie. Le dispositif connu permet effectivement de réaliser la commande du déplacement d'organe mobile avec une grar.de précision et dans des cond9aticans optimales de vitesse ot d'accélération. Toutefois, l'exploitation de ce dispositif est limitée, essentiellement du fait de sa réalisation en logique câblée. En effet, la rigidité du système fait que, d'une part, la longueur des mots numériques utilisée pour le calcul est figée quelle que soit la précision souhaitée et, d'autre part, les intégrateurs sont, pour chaque axe, connectés en série de façon figée, sans. possibilité de modifier leur interconnexion. En outre, le nombre de composants nécessaires rend ce dispositif relativement coûteux. L'algorithme d'intégration choisi, outre qu'il doit être le même pour les différents axes, doit donc de préférence être celui nécessitant un minimum de circuits.Dans cette optique, un des algorithmes les plus simples est celui de l'intégration par la méthode des rectangles ; mais cet algorithme peut, dans certains cas, être insuffisamment précis. La présente invention a pour but de fournir un dispositif ne présentant pas ces inconvénients, c'est à dire un dispositif pouvant, avec sensiblement les mêmes performan- ces en tens de calcul, s'adapter à de très nombreux cas particuliers d'utilisation, dispositif qui soit, en outre,nettement moins onéreux que celui évoqué ci-dessus. Le but est atteint par un dispositif qui comporte, conformément à l'invention - plusieurs groupes d'unités de calcul arithmétiques; chaque groupe comprenant plusieurs unites de calcul dont les entrées et sorties communiquent avec un bus, unique particulier à ce groupe, et chaque unité de calcul comportant au moins une mémoire de plusieurs mots et constituant au moins un opérateur élémentaire, - au moins une unité de commande comportant une mémoire de microprogramme et fournissant en sortie des signaux de commande pour les unités de calcul, et un compteur de transferts pour compter le nombre de transfer de résultats de calcul effectués entre opérateurs correspondants a un même axe et faisant partie d'un groupe d'unités de calcul associé à l'unité de commande, - une unité de contrôle centrale reliée aux unités de calcul et de commande pour l'entrée de données initiales caractérisant le mouvement à commander sur chaque axe, et - un réseau d'interconnexions comportant plusieurs bus distincts affectés chacun à au moins un axe. L'architecture d'un dispositif conforme à l'invention permet de l'adapter à diverses configurations. Ainsi, la longueur des mots utilisés pour les calculs peut être librement choisie dans la limite du format maximum permis par les unités de calcul. Par ailleurs, l'algorithme utilisable n'est pas figé, plusieurs algorithmes pouvant être disposibles dans la mémoire de microprogramme de l'unité de commande. De plus, on peut associer un bus distinct particulier à chaque axe, les unités de calcul affectees aux bus étant commandées soit en parallèle par une même unité de commande, soit par des unités de commande individuelles à chaque bus. Dans ce dernier cas, il est possible de travailler sur les différents axes avec des longueurs de mots, algorithmes et/ou ordres de fonctions polynomiales différents. Enfin, il peut être prévu d'associer deux axes, ou plus, à un même bus relié à un certain nombre d'unités de traitement, ce bus pouvant être ou non obtenu par raccordement de plusieurs bus existants. Ceci permet de répartir sur plusieurs axes les opérateurs des unités de traitement reliées à ce bus, selon les ordres des fonctions polynOmiales à engendrer sur ces axes. D'autres particularites et avantages du dispositif conforme à l'invention ressortiront à la lecture de la description faite ci-apres, à titre indicatif mais non limitatif, en référence aux dessins annexés sur lesquels - la figure 1, est une vue générale très schématique d'un mode de réalisation d'un dispositif conforme à l'invention; - les figures 2 à 4 sont des vues schématiques partielles plus détaillées illustrant respectivement une unité de commande, une partie du réseau d'interconnexions et une unité de calcul du dispositif illustré par la figure 1 ;; -les aigres 5 et 6 sont des organigrammes illustrant des opérations réalisées par l'unité de contrôle centrale et une unité de commande du dispositif conforme à l'invention dans le cas de génération de points de consigne par interpolation polynômiale réalisée par intégrations en cascade suivant la méthode des trapèzes, et - la figure 7 illustre une courbe pouvant être tracée par un dispositif conforme à l'invention à partir d'une prédétermination par vecteurs. Le principe de la commande de mouvement sur des trajectoires déterminées par interpolations polynômiales est connu et décrit notamment dans la demande de brevet fran çais n 2 329.107 précitée. Un mode simple et précis de définition d'une trajectoire est la représentation paramètrique polynômiale. Sur chaque axe, les coordonnées de l'organe mobile sont les valeurs que prend une fonction polynmiale d'un même paramètre pour des valeurs successives de ce paramètre variant dans un intervalle déterminé. Une fonction polynomiale X d'un paramètre r peut être représentée par X (r) = b + blr + b2 r2 + ... + bnrn , ou n étant l'ordre au polynme. Les différents coefficients bj (b0, b1, b2, ... bn) sont prédéterminés en fonction de la trajectoire à réaliser. A titre d'exemple, dans le cas d'un mouvement sur deux axes, ces coefficients peuvent être calculés à partir des coordonnées de vecteurs vl, v2, ... utilises pour définir une trajectoire T comme illustré sur la figure 7. a Le calcul de la fonction X (r) peut être réalisé par n intégrateurs. L'intégrateur d'ordre j reçoit de l1in- tégrateur d'ordre j + 1 des incréments représentatifs des accroissements élémentaires de la dérivée d'ordre j du poly nbme X (r) et élabore ceux de la dérivée d'ordre j - 1 pour des valeurs successives du paramètre variant par incréments constants dans son intervalle de variation. Plusieurs algorithmes peuvent être utilisés pour effectuer les intégrations élémentaires. Dans la demande de brevet n9 2 329 107 précitée, on a envisagé le cas de l'intégration par la méthode des rectangles. Plus loin, on décrit, à titre d'exemple, le cas de l'intégration par la méthode des trapèzes. Quel que soit l'algorithme utilisé, le calcul est effectué par itérations successives réalises simultanément dans les différents intégrateurs, le nombre d'ensembles d'i térations simultanées étant déterminé par le nombre de valeurs différentes que prend le paramètre et déterminant le nombre de points de consigne. Après chaque ensemble d'itérations, on effectue le transfert des incréments calculés de chaque intégrateur à celui d'ordre immédiatement le moins élevé. Les incréments calculés dans l'intégrateur d'ordre 1 sont cumulés,pour chaque axe, dans un étage de sortie qui délivre donc les valeurs successives du polynôme associé à cet axe. On va maintenant décrire en référence à la figure l un mode de réalisation d'un dispositif de commande de mouvement conforme à l'invention mettant en oeuvre le principe de l'interpolation polynômiale rappelé ci-avant. Le dispositif comporte plusieurs ensembles d'unités de calcul UC. Chaque ensemble est associé à un bus respectif BI, B2, ..., Bp, toutes les unités de calcul d'un même ensemble ayant leurs entrées et sorties reliées au bus correspondant. Dans l'exemple illustré, les bus BI, B2 ...., Bp sont indépendants.A titre de variante, certains de ces bus pourront être interconnectés afin de mettre un plus grand nombre d'unités de calcul à la disposition d'un ou plusieurs axes. Comme les transferts pour les différents axes ne peuvent être faits que séquentiellement lorsque ces axes sont associés à un même bus, plusieurs bus parmi les bus disponibles, sont indépendants et fonctionnent en parallèle pour sauvegarder la rapidité en calcul, et, éventuellement, certains peuvent être interconnectés. En outre, chaque ensemble d'unités de calculs reliées à un même bus peut être affecté à un ou plusieurs axes. On décrira plus loin le détail d'un réseau d'interconnexion qui permet de travailler avec un ou deux axes sur un m6sae bus. Dans chaque ensemble d'unités de calcul, on sélectionne un ou plusieurs groupes d'unités de calcul, chaque groupe étant affecté à un même axe. Le nombre d'unité de calcul pour un axe déterminé dépend, d'une part, de l'ordre du polynôme déterminant les valeurs de consigne pour cet axe, et, d'autre part, du nombre d'opérateurs d'integration par unité de calcul. En effet, comme on le verra par la suite, lorsque l'on utilise des composants du type t'microprocesseur" pour réaliser les unités de calcul, un ou plusieurs opérateurs d'intégration peuvent eire implantes dans chaque unite de calcul.A titre d'exemple, on a représenté sur la figure 1 un groupe d'unités de calcul UCl, UC2, ..., UCn, reliés au bus Bl et affectées à un axe auquel correspond un polynôme d'ordre n ou 2n selon que chacune des n unités1, UC2, ...UCn constitue un ou deux opérateurs d'intégration. L'unité de sortie UCS reçoit du biis Bl les incréments successifs de l'opérateur d'intégration d'ordre 1. Elle comporte un reqistre dans lequel ces incréments sont accumulés. La structure et le fonctionnement d'une unité de calcul seront décrits plus en détail par la suite. Au niveau de chaque axe, les opérateurs des unités de calcul exécutent un même algorithme sous le contrôle d'une unité de commande. Dans le cas présent, quel que soit l'algorithme d'intégration retenu, il est caractérisé, pour chaque opérateur d'intégration par l'exécution d'une succession d'itérations élémentaires chacune suivie d'un transfert d'in crément à l'opérateur d'ordre suivant. Pour les opérateurs d'un même axe, les itérations sont effectuées en parallèle (à la réserve près que lorsque l'on a plusieurs opérateurs par unité de calcul, les itérations sont effectuées les unes après les autres dans chaque unité) et les transferts sont effectués séquentiellement par le bus unique affecté aux unités de calcul. Lorsque pour les différents axes, le même algorithme est retenu et les unités de calcul travaillent avec des formats de mots identiques, on peut associer aux différents bus une unité de commande unique, Le nombre de transferts entre opérateurs d'un même axe est alors le même pour tous les axes. Dans le cas où les polynômes ont des ordres différents selon les axes, les transferts relatifs aux opérateurs non utilisés pour un axe donné ne sont pas pris en compte du fait mime du réseau d'interconnexion qui interdit l'activation de ces opérateurs en entrée. Une souplesse de fonctionnement accrue est offerte en associant, comme illustré sur la figure 1, différentes unités de commande Col, CO2, ....COp aux bus B1, B2, ...Bp chaque unité de commande correspondant à un bus particulier. En variante, on pourrait associer plusieurs axes à un même bus. ils seraient nécessairement alors traités par une même unité de commande. L'ensemble du dispositif est placé sous le contrôle d'une unité centrale CC. Comme décrit en détail plus loin, cette unité centrale permet, pour chaque axe, de déterminer les conditions initiales et de choisir l'algorithme, la longueur des mots, et l'ordre du polynôme. Au cours du fonctionnement, l'unité centrale CC prend en charge la coordination entre les mouvements des différents axes. La ou chaque unité de commande reçoit des signaux d'une horloge particuliere dont la fréquence détermine la fréquence d'élaboration des points de consigne sur le ou les axes associés à cette unité de commande. Cette fréquence est ajustable de manière à maintenir la vitesse et l'accélération de l'organe mobile commandé à des valeurs inférieures à des maxima prédéterminés. A cet effet, un circuit de modulation Wl, W2, ..., Wp est associé à chaque unité de commande CO1, C02, ..., COp pour, le cas échéant, modifier la fréquen- ce des signaux de l'horloge associée Hl, H2, ..., Hp. Chaque circuit de modulation reçoit, d'une part,de l'unité centrale, les informations représentant lesmaxima de vitesse et d'accélération et, d'autre part, les valeurs de vitesse et d'accélération instantanées fournies par les intégrateurs d'ordre l et 2 correspondants. Un mode de réalisation d'un circuit de modulation est décrit très en détail dans la demande de brevet n 2329107 précitée à laquelle on pourra se reporter. Essentiellement, les incréments de sortie des intégrateurs d'ordre 1 et 2 sont utilisés pour élaborer des signaux représentatifs de la valeur moyenne de la vitesse et de la valeur moyenne de l'accélération réelle prédéterminés de l'organe mobile commandé. Les signaux sont comparés aux maxima/pour contrôler un oscillateur commandé en tension dont la fréquence de sortie détermine celle des signaux d'horloge. Un compteur dlitérations Cil, CI2, ..., CIp associé à chaque unité de commande est initialisé par l'unité centrale à une valeur telle que le bit de plus fort poids passe à 1 lorsque toutes les itérations nécessaires pour commander le mouvement sur l'axe correspondant ont été effectuées. Le compteur est incrémenté à chaque itération. Ce même compteur est relié au circuit de modulation pour commander le ralentissement de l'organe mobile en fin de mouvement. Comme décrit dans la demande de brevet nO 2329107 précitée, plusieurs seuils de ralentissement peuvent être prévus lorsque le contenu du compteur atteint des valeurs prédéterminées, chaque franchissement de seuil provoquant par exemple, une diminution des valeurs enregistrées des maxima de vitesse et d'accélération. Chaque unité de commande, par exemple COl, comporte (figure 2) une mémoire morte de microprogramme ROM et un séquenceur SQ contrôlant l'exécution du microprogramme. Un registre tampon RT est placé en sortie de la mémoire ROM. Le registre RT comporte une première partie RT1 dans lequel est placée la micro-instruction commandant l'opé- ration à effectuer par les unités de calcul reliées à cette partie de registre RT1. Dans une seconde partie RT2 du registre RT figure l'adresse de branchement et les conditions de branchement de la micro-instruction suivante qui est lue par un circuit DS de décodage des commandes du séquenceur SQ. La partie du registre RT2 affectée aux conditionse branchement est reliée à un multiplexeur MX1 dont la sortie active le circuit DS selon les informations qu'il reçoit. Certaines de ces informations (Ic) caractérisent des conditions de fonctionnement choisies (par exemple un ou deux opérateurs par unité de calcul). D'autres proviennent du compteur Cil et d'un compteur de transferts décrit ci-après. La partie du registre RT2 affectée aux adresses de branchement est reliée au séquenceur S. Dans une troisième partie RT3 du registre RT figurent les signaux logiques de contrôle des interconnexions à réaliser, signaux envoyés vers le réseau d'interconnexion. L'algorithme déterminé initialement par adressage de la mémoire ROM au moyen de l'unité de contrôle centrale CC, est exécuté en parallèle dans les opérateurs associés. Après chaque itération, les transferts sont effectués séquentiellement entre les opérateurs. Un compteur de transferts CT1 est prépositionné au début de l'exécution de chaque algorithme à une valeur -NT1, NT1 étant le nombre de transferts à effectuer entre les opérateurs commandés par l'unité COl. Le nombre -NTl est calculé initialement par l'unité centrale CC et mémorisé dans un registre RNT1. Lorsqu a la fin @ @@@@@transferts,. le compteur CTI passe à zéro.le.multiplexeur MX1 aes NT1/active le circuit DS pour commander par ie sequencenr SQ la réinitialisation du microprogramme à l'adresse du début. Le multiplexeur MXl reçoit encore le contenu de Cil pour commander la fin des calculs lorsque toutes les itérations ont été effectuées. Comme déjà indiqué, le dispositif de commande conforme à l'invention doit pouvoir s'adapter à diverses configurations, en particulier les suivantes - les différents axes sont associés à des bus distincts sous le contrôle d'une même unité de commande, - les différents axes sont associés à des bus distincts sous le contrôle d'unités de commande distinctes, - deux ou plusieurs parmi les axes sont associés à un mme bus (les opérateurs fonctionnent en parallèle mais les transferts relatifs aux différents axes ne se font plus en parallèle sur les différents bus; pour les axes connectés à un même bus, on effectue en effet, successivement les transferts relatifs aux différents axes). - les modules formant les unités de calcul peuvent être utilisés pour un ou plusieurs opérateurs ; le temps de calcul de chaque point de consigne (temps d'itération) étant alors multiplié par le nombre d'opérateurs par module. La figure 3 illustre un réseau d'interconnexions à deux bus d'entrees/sorties qui peut satisfaire les configurations énorcées ci-dessus. Bien entendu, ce réseau peut être étendu à un nombre de bus plus élevé, ce nombre tétant ici limité à deux que pour la clarté de l'exposé et du dessin. Ce réseau comporte des bus BUS 1 et BUS 2 activés par une matrice de connexions à diodes MD. Un connecteur (non représenté) permet de connecter les bus BUS 1 et BUS 2 pour former un bus unique. La non connexion ou la connection des bus est traduite par un signal binaire SBUS-. On suppose que le nombre d'unités de calcul reliées au bus BUS 1 est égal à m, de même que le nombre d'unités de calcul reliées au bus BUS 2. On suppose encore que l'on peut implanter un ou deux opérateurs par unité de calcul. Les sorties des unités de calcul reliées au bus BUS l sont activées par des signaux logiques OCl à OCm présents sur les sorties sl à slm d'un démultiplexeur DX1. Les sorties des unités de calcul reliées au bus BUS 2 sont activées par des signaux logiques OCml à OCm+m présents en sortie de portes "oU" OR à OR dont les entrées sont reliées, d'une part, aux sorties slm+l à slm+m du démultiplexeur DX1 et, d'autre part, aux sorties s21 2 à s2m d'un démultiplexeur DX2. Les démultiplexeurs DXI et DX2 sont commandés par un signal d'instruction de transfert OCG fourni par l'unité de commande correspondante. Le démultiplexeur DX2 est branché à la sortie d'un multiplexeur MX2 qui est commandé par le signal SBUS et un signal SMC unis par une porte "OU" OR2. Le signal SMC présente un état 1 ou un état O selon que, lorsque les bus BUS 1 et BUS 2 sont distincts, le dispositif fonctionne avec une seule ou deux unités de commande. Le signal SBUS est aussi appliqué au démultiplexeur DX2 pour l'inhiber lorsque les bus BUS l et BUS 2 sont réunis en un bus unique. Lorsqu'une seule unité de commande est utilisée, les adresses des unités de calcul dont les sorties sont à valider sont fournies par des signaux SCP 1 fournis par le compteur de transferts de l'unité de commande correspondante appliqués aux entrées de DX1 et MX2. Si les bus BUS 1 et BUS 2 sont réunis en un bus unique, les signaux SCP1 sont uniquement pris en compte par le démultiplexeur DXI qui délivre les signaux OC1 à OCm+m sur ses sorties sll à slm+m. Si les bus BUS 1 et BUS 2 sont distincts, les signaux SCPl sont pris en compte par le démultiplexeur DX1 qui fournit les signaux OC1 à OCm sur ses sorties sll à slm et par le démultiplexeur DX2 qui fournit les signaux OCm+1 à OCm+m sur ses sorties s2l à s2m . Dans ce dernier cas, les signaux OC1 à OCm sont dirigés vers la moitié MDl de la matrice MD relative au bus BUS l tandis que les signaux OCm+l à OCm+m sont dirigés vers l'autre moitié MD2 relative au bus BUS 2. Lorsque les deux unités de commande sont utilisées pour les deux bus BUS 1, BUS 2 distincts, le multiplexeur MX2 sélectionne des signaux SCP2 (sortie du compteur de transferts de l'unité de commande affectée au bus BUS 2). Les signaux SCP2 sont pris en compte par le démultiplexeur DX2 pour adresser les unités de calcul relatives au bus BUS 2. Chaque moitié MDl ou MD2 de la matrice MD comporte 2m entrées correspondant aux 2m opérateurs qui peuvent être associés à chaque bus (cas possible de deux opérateurs par unités de calcul). La sélection, pour chaque unite de calcul, de l'opérateur dont la sortie est à activer est effectuée au moyen d'un signal binaire NIS. Ainsi, un signal OC. est appliqué à l'entrée eil ou à l'entrée e i2 selon que la porte "ET" ANDil ou ANDi2 est ouverte ou non par le signal NIS ou par 1a inverse de ce signal en sortie de l'inverseur INVi (voir figure 3). 1 Lorsque le dispositif fonctionne avec deux opérateurs par unité de calcul, la valeur du signal NIS est déterminée par l'unité de commande correspondante.Lorsque le dispositif fonctionne avec un opérateur par unité de calcul, la valeur du signal NIS est choisie pour inhiber chaque deuxième opérateur inutilisé, lequel alors n'est pas connecté sur le bus. Les entrées des unités de calcul reliées au bus BUS l et BUS 2 sont activées par des signaux logiques IC1 à ICm+m en sortie de portes "NON et NAND1 à NANDm+m. Chacune de ces portes, par exemple NANDi , a une entrée reliée à la sortie d'une porte "ET" ANDi qui reçoit les signaux des sorties sil et si2 de la matrice de connection MD correspondant aux opérateurs de unité de de calcul dont l'entrée est activée par le signal ICi . Dans le cas de deux opérateurs par unité de calcul, la sélection de I'opérateur est effectuée par les signaux sil et si2 La porte ANDi reçoit aussi le signal d'instruction de chargement ICG fourni par l'unité de commande correspondante. Les portes NAND1 à NANDmm reçoivent encore des signaux de sortie ICI1 à ICIm+m d'un démultiplexeur DXI pour charger des données initiales dans des opérateurs dont les adresses sont déterminées non pas par la matrice de connexion, mais par l'unité de contrôle centrale CC. Le démultiplexeur DXI est, lui aussi, commandé par le signal d'instruction de chargement ICG Le réseau de connexion décrit ci-dessus permet donc, d'une part,d'amener sur un bus- une donnée à transférer issue d'un opérateur sélectionné connecté à ce bus et, d'autre part, de charger dans un opérateur sélectionné une donnée présente sur le bus connecté à cet opérateur et provenant soit d'un autre opérateur soit de l'unité de contrôle centrale. Un mode de réalisation d'une unité de calcul UC est illustré par la figure 4. Il s'agit par exemple d'un composant du type microprocesseur bipolaire comportant des moyens de calcul et plusieurs registres groupés dans une mémoire à accès aléatoire RAM. Ces registres sont par exemple au nombre de 16 et sont adressés au moyen d'un mblti- plexeur MXA qui, selon la valeur de signaux qui lui sont ---------------- adressés par l'unité de commande, prend en compte les 4 bits d'adresse fournie par le microprogramme ou ou, pourdeux de ces bits, prend en compte d'autres informa- tions, par exemple des signaux d' état des moyens de calcul ALU de l'unité UC, ou des signaux transmis par le réseau d'intetconnexion. Ainsi,Le multiplexeur MXA peut être positionné dans une première position(pour une première valeur d'un bit BADR), position pour laquelle les 4 bits de l'adresse pris en compte sont tous fournis par le microprogramme (en provenant de l'unité de commande correspondante CO), ou dans une deuxième position (pour une seconde valeur du bit BADR), position pour laquelle deux des bits de l'adresse (bits de poids extrêmes) sont déterminés par les états de sortie OVF (débordement) ou Cn+4 (signe) de l'unité arithmétique logique ALU de l'unité UC, ou dans une troisième position (pour une valeur particulière d'un bit SNO), position pour laquelle un des bits de l'adresse (bit de poids fort) est deter- miné par un signal NO en provenance du réseau d'interconnexion.Les fonctions des signaux BADR ét NO seront expli quées plus en détail par la suite. Les états logiques des signaux OVF et Cn+4 son t disponibles dans un registre RES. L'instruction de chargement comprend deux autres bits, l'un pour absence de chargement (BACG), l'autre pour exécution de chargement (BECG) qui sont appliqués à un multiplexeur d'entrée MXE commandé par un signal IC du réseau de connexion. Lorsqu'une donnee présente sur le bus est chargée dans l'unité de calcul UC à l'adresse déterminée par le multiplexeur MXA, le multiplexeur MXE est placé sur BECG par le signal IC tandis que les multiplexeurs d'entrée des autres unités de calcul reliées au même bus sont placés sur BACG. Le transfert sur le bus BUS d'un mot de la mémoire RAM à l'adresse fournie par le multiplexeur MXA est commandé par un signal OC du réseau d'interconnexion. Une mémoire RTS est connectée en sortie de la mé- moire RAM pour conserver les données extraites de cette dernière. La mémoire RTS est formée de bascules. L'unité de calcul décrite ci-dessus est plus particulièrement adaptée à la réalisation d'un algorithme d'intégration par la méthode des trapèzes, algorithme que l'on va maintenant décrire. On désigne par z (r) la fonction du paramètre r définie par : r z (r) = z (ro) +pur y (r) dr y (r) étant la fonction à intégrer et r variant entre les valeurs rO et rl .L'intervalle de variation de r étant partagé en k intervalles élémentaires égaux à # r, l'accroissement élémentaire # Zi de z (r) lorsque r passe de la valeur ri - # r à la valeur ri est donné par #Zi = Yi # r + 1/2 #Yi # r, y étant le valqur de la f@@stion Y (@) pour Yi etant la valeur de la fonction Y (r) pour r = ri et # l'accroissement élémentaire de la fonction Y (r) lorsque r passe de la valeur ri - # r à ri : Yi = Yi-1 + #Yi. On désigne par 1 la longueur de mot utilisée dans un registre Y pour la représentation binaire de Yi, et par Ri la valeur cumulée des # Zi dans un registre R de lon - (1 - 1) gueur 1 et on choisit # r= 2 Il y aura alors production d'un increment 4 Z. en cas de saturation positive ou négative du registre R. L'algorithme d'émission d'incréments retenu est l'algorithme "poids fort" qui émet des incréments ternaires # Zi = 2 # Zi ( Zi étant égal à + 1,0 ou - 1 selon que le registre est saturé positivement, non saturé, ou saturé négativement). Cet algorithme d'émission d'incrément permet de ne pas avoir à modifier le contenu du registre R après l'émission d'un incrément lorsque, comme c'est ici le cas, le mode de représentation binaire retenu est celui en complément à deux. Pour prendre en compte les débordements des registres intermédiaires dans chaque intégrateur, on utilise une structure à deux registres YA, YB et RA, RB pour Y et pour R, les contenus YAi , YBi, RAi et RBi de ces registres étant tels que Yi = YAi + 2 (1 - 1) YBi (1 - 1) Ri = RAi + 2 q - 1) RB. i i i L'aire élémentaire par la méthode des trapèzes est donnée par : # r (Y@ + # # Y@) soit 2 YAi 2 La partie entière de l'intégrale est le résultat de l'accumulation des YBi dans RB, plus les incréments 2 # Zli et 2 # Z2i produits par l'accumulation des YAi et des 1/2#Yi dans RA.En outre, l'autre équation de l'algorithme (Yi = Yi -1 + # Yi) produit YAi = YAi-1 + # Yi - 1 et YBi = YBi - 1 + 2 # Z3i , # Z3i étant l'incrément produit par le débordement éventuel résultant de l'ad dition YAi = YAi-1 + # Yi L'algorithme correspondant à la méthode d'intégra- tion par les trapèzes s'écrit donc RBi @ 2 # Zli RBi = RBi + 2 # Z2i RBi = RBi + YBi-1 YBi = YBi-1 + 2 # Z3i Dans le cas ici présent de la réalisation d'une interpolation polynomiale par intégrations en cascade, on réalise cet algorithme dans chaque intégrateur, et la valeur RBi représente l'accroissement élémentaire à transmettre à l'intégrateur suivant. Si l'on considère maintenant à nou-veau l'unité de calcul illustrée par la figure 4, on note que les 16 registres de la mémoire sont repartis en 6 registres YA1, YB1, RA1,RB1 4 Y1 et 1 # Y1 pour un premier opérateur, 6 registres YA2, YB2, RA2,2 RB2, # Y2 et # Y2 pour un second opérateur et quatre registres RO , R'O, R + 2 et R - 2 communs aux opérateurs et où sont stockées en permanence les valeurs possibles des incréments. Si l'on désigne par L la longueur maximale des mots utilisables, on pourra choisir une longueur de mot 1 telle que 1 -- L moyennant un cadrage à gauche des conditions initiales et des incréments lorsque 1 A L (les bits de poids le plus faible non significatifs sont nuls). Dans ce dernier cas, les contenus de R + 2 et de R - 2 sont égaux respectivement à +2L-1+1 et -2 L-1 +1 . Dans ce qui suit, on envisage le cas où 1 = L, ce qui correspond au maximum de précision au détriment du temps de calcul global de la trajectoire.A titre d'exemple, on peut choisir L = 20 l'unité de calcul étant formée par assemblage de 5 modules de 4 bits. Très avantageusement, on choisit pour les registres RO, R'O, R + 2 et R - 2 des adresses telles qu'ils puissent être adressés directement en fonction des états des sorties OVF (débordement) et Cn+4 (signe). Par exemple, l'adresse des registres étant représentée par quatre bits, les états des sorties Cn+4 et OVF représentent les bits de poids le plus faible et le plus fort de l'adresse lorsque le multiplexeur MXA est positionné par le bit BADR sur la sortie du registre RES. Les bits de poids intermédiaire de l'adresse sont déterminés par le microprogramme. A titre d'exemple, les adresses des registres RO, R'Q, R+2 et R-2 sont respectivementO 110, 0 111, 1 110 et 1 111. On note que les bits intermédiaires sont toujours à 1. Lorsque le bit BADR est à 1 (adressage d'un registre d'incrément), le registre RO ou R'O est appelé lorsque OVF = O (pas de débordement, incrément nul), le registre R+2 est appelé lorsque OVF = 1 et Cn+4 = O (débordement avec signe positif, incrément +2) et le registre R-2 est appelé lorsque OVF = i et Cn+4 = 1 (débordement avec signe négatif, incrément - 2!. Lorsque le bit BADR est à O (adressage d'un registre autre qu'un registre d'incrément), les registres de la mémoire RAM sont adressés uniquement par le microprogramme. On choisit en outre avantageusement pour les registres # Y1 et LY2 des adresses dont les poids forts sont différents (par exemple O et 1). Le signal SNO sélectionne le multiplexeur MXA dans sa troisième position lorsque l'unité de calcul fonctionne avec deux opérateurs. Quand un incrément est présent sur le bus et doit être rangé, le registre A Yl ou a Y2 à charger est alors sélectionné par le signal NO élaboré par le réseau d'interconnexion. On a décrit ci-avant les unités de calcul dont les opérateurs fonctionnent en intégrateurs. A chaque axe est associe un étage de sortie UCS dans un registre duquel sont cumulés les incréments transmis par l'opérateur d'intégrationd'ordre 1. Ce registre de l'étage UCS est le registre de valeurs de consigne. Sa longueur est choisie égale à celle des mots utilisés pour le calcul. Pour cet étage de sortie, on peut utiliser un circuit analogue à celui décrit dans la demande de brevet nO 2 329 107 précitée. L'étage de sortie alimente en valeurs de consigne un dispositif d'asservissement d'un organe mobile, dispositif d'asservissement qui peut être de tout type connu et qui ne forme pas partie de l'invention. On décrira maintenant, en référence aux figures 5 et 6 des organigrammes illustrant, respectivement, les opérations de l'unité centrale de contrôle CC, et les opérations d'une unité de commande. L'unité CC est utilisée essentiellement pur prédéterminer les conditions du système. Comme on peut le voir sur la figure 5, les opérations suivantes sont réalisées - choix de l'algorithme et entrée des données sur chaque axe : ordre d'interpolation, numéros des opérateurs utilisés longueur 1 du mot utilisé, composantes des vecteurs (dans le cas de la predétermination par vecteurs comme illustré par la figure 7), et valeurs maximale de vitesse (v max) et d'accélération (% max) de l'organe mobile commandé ; ces données sont entrées par l'opérateur; - calcul des conditions initiales à charger dans les registres correspondants des opérateurs (la condition initiale est, pour un opérateur d'ordre i,proportionnelle à la valeur de la dérivée d'ordre i du polpldme lorsque le paramètre à sa valeur initiale, par exemple pour r = O); les conditions initiales sont calculées à partir des composantes des vecteurs lorsque ceux-ci sont utilisés pour la définition paramétrique de la trajectoire - initialisation sur chaque axe du compteur général d'itérations CI à une valeur par exemple telle que le bit de poids le plus fort du compteur passe à 1 lorsque les NI itérations nécessaires sont effectuées (NI = 2(1-1) lorsque A r =2-(1-1) et r varie de O à 1); - initialisation des compteurs de transferts CT1, CT2, ..., CTp aux valeurs calculées; - initialisation des étages de sortie aux valeurs initiales des polynômes (points origines des trajectoires du ou des organes mobiles commandés); - initialisations successives des opérateurs de chaque axe par envoi des conditions initiales calculées et des adresses des unités de calcul correspondantes ;; - initialisation des valeurs v max et % max dans les circuits W1, W2, ..., Wp. - adressage du microprogramme correspondant à l'algorithme choisi pour cet axe, - lancement des calculs suivant les axes, et - test des fins de calcul fournis par les unités de commande sur chaque axe. Le calcul dans chaque unité de calcul UC 'est effectué, sous le contrôle de l'unité de commande correspondante, comme suit dans le cas de l'algorithme d'intégration par la méthode des trapèzes décrit plus haut - calcul de la moitié du contenu [ t Y1] du registre A Y1 et rangement dans le registre. 1/2 a Y1 - calcul de [RA1] + lYAQ et rangement du résultat dans RA1 - rangement de 2 # Z1 (déterminé en fonction du débordement de l'addition précédente) dans RB1 ; - calcul de [RA1] + [1/2 # Y1 et rangement dans RAi ; - calcul de [RBl1 + 2v Z2 (débordement de l'addition précédente) et rangement dans RB1 ;; - calcul de [RB1] + [YB1] et rangement dans RB1 ; YA1; ; - calcul de [YBl1 + 2 # Z3 (débordement de l'addition précédente) et rangement dans YB1 - mise à zéro du registre # Y1 ; - si un seul opérateur est utilisé par unité de calcul, on charge dans le compteur CT le contenu du registre de nombres de transferts RNT correspondant, et on réalise la boucle de transferts suivante : On sort le contenu du registre RBl (débordement du cumul des accroissements élémentaires de la dérivée dont l'ordre est celui de l'opéra- teur), on le range dans la mémoire RTS.On effectue alors, les uns après les autres, les transferts consistant chacun à extraire d'un opérateur le RBl disponible pour le transmettre à l'opérateur suivant d'ordre immédiatement inférieur, en commençant par l'opérateur d'ordre le moins élevé. La valeur (RB1) transférée est additionnée au contenu du registre a Yl de l'opérateur suivant, registre préalablement remis à zéro. Après chaque transfert, le contenu du compteur de transferts CT correspondant est incrémenté puis est examiné t on réitère l'instruction de transfert jusqu'à ce que le contenu de CT soit nul.Lorsque ce contenu.est nul, on examine le bit de poids le plus fort du compteur d'itérations CI ; si ce bit est à un, l'arrêt des calculs est commandé; et une information "fin de calcul" est emise, sinon, on repositionne le compteur CT à la valeur -NT disponible dans le registre RNT correspondant et on revient au début du microprogramme - si deux opérateurs sont utilisés par unité de calcul, après la mise à zéro du registre a Y1, on effectue les calculs analogues à ceux détaillés ci-dessus sur les contenus des registres YA2, YB2 , RA2 t RB2, #Y2, 1/2 /2 # 2 on met le registre # Y2 à zéro et on réalise la boucle de transferts en prépositionnant le compteur CT et en effectuant les additions des [RB1] et des [RB2] dans les registres # Y2 ou h Y1 des opérateurs suivants en fonction du réseau d'interconnexion ; le test sur le contenu du compteur de transfert CT détermine la fin des transferts et le test sur le contenu du compteur itérations détermine la fin des calculs. Bien entendu, diverses modifications et adjonctions peuvent être apportées au mode de réalisation décrit ci-dessus d'un dispositif de commande de mouvements conforme à l'invention sans pour cela sortir du cadre de protection défini par les revendications annexées. Ainsi, du fait que le transfert d'un incrément d'un opérateur à un autre se fait par addition dans le registre ( 4 Y1 ou A Y2) de cet autre opérateur, il est possible d'additionner plusieurs incréments dans un même opérateur avant chaque itération. En particulier, on peut reboucler à l'entrée d'un opérateur la sortie de ce même ou celle d'un autre opérateurs ce qui permet de réaliser la génération de fonctions mathématiques diverses par des combinaisons variées des opérateurs. Ce rebouclage est réalisé simplement en additionnant dans le registre A Y d'un opérateur l'incrément élaboré par un opérateur de rang i à l'incrénent élaboré par un opérateur de rang j REVENDICATIONS 1. Dispositif de commande de mouvement d'un système à plusieurs degrés de liberté suivant plusieurs axes, dispositif comportant, pour chaque axe, des moyens de calcul pour élaborer des valeurs de consignes successives correspondant aux valeurs que prend une fonction polynômiale d'un paramètre pour des valeurs successives de ce paramètre, les moyens de calcul comprenant des opérateurs réalisant en parallèle des itérations successives à partir de valeurs qui leur sont transmises, à chacun, après chaque itération, par un opérateur de rang immédiatement supérieur, dispositif caractérisé en ce qu'il comporte - plusieurs groupes d'unités de calcul arithmétiques, chaque groupe comprenant plusieurs unités de calcul dont les entrées et sorties communiquent avec un bus unique particulier à ce groupe, et chaque unité de calcul comportant au moins une mémoire de plusieurs mots et constituant au moins un opérateur élémentaire, - au moins une unité de commande comportant une mémoire de microprogramme fournissant en sortie des signaux de commande pour les unités de calcul, et un compteur de transferts pour compter le nombre de transferts de résultats de calcul effectués entre opérateurs correspondant à un même axe et faisant partie d'un groupe d'unités de calcul associé à l'unité de commande, , - une unité de contrôle centrale reliée aux unités de calcul et de commande pour l'entrée de données initiales caractérisant le mouvement à commander sur chaque axe, et - un réseau d'interconnexions comportant plusieurs bus distincts affectés chacun à au moins un axe. 2. Dispositif selon la revendication 1, caractérisé en ce qu'il comporte plusieurs unités de commande correspondant chacune à un axe de système. 3. Dispositif selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comporte des moyens pour connecter sur un même bus plusieurs ensembles d'opérateurs, chaque ensemble étant affecté à un axe particulier du système. 4. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque unité de calcul constitue plusieurs opérateurs. & 5. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte au moins un compteur d'itérations pouvant être prépositionné. 6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque unité de calcul comporte un circuit multiplexeur commandé par l'unité de commande correspondante pour adresser les mots de la mémoire de l'unité de calcul, en fonction uniquement d'adresses transmises par l'unité de commande, et/ou en fonction de signaux d'état de cette unité de calcul, et/ou en fonction de signaux transmis par le réseau d'interconnexion. 7. Dispositif selon l'une quelconque dés revendications précédentes, caractérisé en ce que, pour chaque axe, des moyens sont prévus pour commander le début de chaque itération lorsque le nombre de transferts effectues comptés par le compteur de transfert correspondant à cet axe a atteint une valeur prédéterminée. 8. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la longueur des mots utilisés pour le calcul peut être ajustée à une valeur quelconque inférieure ou égale à un maximum prédéterminé. 9. Dispositif selon l'une quelconque des reven,dications précédentes, caractérisé en ce que chaque opérateur comporte un registre pour le rangement des valeurs reçues après chaque itération, rangement effectué par addition de chaque valeur reçue au contenu de ce registre. 10. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte des moyens pour relier plusieurs sorties d'opérateurs à l'entrée d'un opérateur détermine,