Brevet FR2718550A1 — publié le 19951013

DISPOSITIF DE COMPTAGE DE PRODUITS La présente invention concerne un dispositif de comptage de produits peu épais et empilés côte-à-côte. Il est connu des dispositifs de comptage de produits par caméra matricielle nécessitant la mise en place d'une procédure d'étalonnage, aboutissant ainsi à un appareil complexe et onéreux. Le but de l'invention est donc de proposer un dispositif de comptage qui soit simple et peu onéreux et permette la lecture des produits rangés en lots sous un film rétractable translucide. Ce but est atteint par le fait que le dispositif de comptage de produits peu épais empilés côte-à-côte et rangés sur champ en barquettes emballées sous film rétractable translucide est caractérisé en ce qu'il comporte: des moyens d'éclairer la barquette; - des moyens de détecter la mise en place d'une barquette sur une navette mobile animée d'un mouvement de déplacement; - des moyens d'effectuer une pluralité de balayages de la barquette par un faisceau linéaire de lecture d'une caméra linéaire pendant le mouvement de déplacement de direction perpendiculaire au faisceau linéaire; - des moyens de mémorisation des informations lumineuses contenues dans le faisceau linéaire et - des moyens de comptage pour chaque balayage du nombre de produits. Selon une autre particularité, le mouvement de déplacement de la navette est un mouvement de va et vient obtenu par un moteur électrique dont l'arbre d'entraînement est relié par un mécanisme de transformation du mouvement rotatif en mouvement linéaire transmis à la navette rendue solidaire de colonnes de guidage linéaire. Selon une autre particularité, le mouvement de la barquette est obtenu par une courroie à taquets supportant une pluralité de barquettes entraînées d'un mouvement continu de direction transversale au faisceau linéaire de lecture. Selon une autre particularité, un bouton poussoir actionnable par l'utilisateur déclenche un déplacement et au cours de ce déplacement la pluralité de balayages. Selon une autre particularité, les moyens de mémorisation sont constitués par autant d'octets mémoire que d'éléments photosensibles de la barrette de lecture de la caméra.15 Selon une autre particularité, le nombre d'éléments photosensibles est au moins supérieur au double du nombre maximum d'objets que le dispositif peut compter. Selon une autre particularité, le nombre d'éléments photosensibles est de préférence égal à dix fois le nombre maximum d'objets que le dispositif peut compter. Selon une autre particularité, le faisceau linéaire est renvoyé par une pluralité de miroirs pour assurer avec un dispositif compact le balayage d'une barquette de grande dimension. Selon une autre particularité, chaque élément photosensible permet la détection de 256 niveaux de luminosité traduits en mots d'un octet constituant la représentation d'un pixel. Selon une autre particularité, les moyens de comptage permettent la détection alternativement des sommets et des vallées en commençant par une détection de sommet et le comptage des sommets et des vallées constitutives du signal sinusoïdal mémorisé représentatif du faisceau linéaire. Selon une autre particularité, la détection des sommets assure la détection du premier bord et la détermination des sommets par mesure de la distance entre le sommet précédent et le pixel en cours de traitement et par comparaison de la distance avec une valeur minimale qui correspond à l'épaisseur d'un produit et comporte également une étape de calcul de pourcentage de variation du sommet qui permet, en cas de dépassement du pourcentage par rapport à une valeur consigne, de déterminer la présence d'un bord. Selon une autre particularité, la détection des vallées est effectuée par rapport au sommet précédent mémorisé en mesurant la distance entre le sommet et le pixel traité et par rapport à la vallée précédente15 mémorisée en mesurant la distance entre la vallée et le pixel traité et en retenant le pixel comme formant une vallée si les deux distances sont correctes par rapport à des valeurs de référence et, dans le cas contraire, en traitant le pixel suivant. D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après d'un mode de réalisation donné à titre d'exemple et faite en référence aux dessins annexés dans lesquels: - la figure 1 représente une vue en perspective du principe mécanique et optique de la machine de comptage; - la figure 2 représente une vue schématique de côté du principe mécanique de la machine; - la figure 3 représente l'organigramme représen- tatif du déroulement de l'opération de comptage; - la figure 4 représente l'organigramme représen- tatif du traitement d'une ligne; - la figure 5 représente l'organigramme représen- tatif du processus de localisation des bords de la boîte contenant les produits; - la figure 6 représente l'organigramme représen- tatif du processus d'analyse et de comptabilisation des produits; - la figure 7 représente l'organigramme représen- tatif du processus d'analyse et de traitement des résultats; - la figure 8 représente une vue schématique de côté d'une autre variante de principe mécanique de la machine; - la figure 9 représente la forme du signal en sortie des éléments photosensibles et mémorisé sous forme d'octets dans la mémoire de la caméra. L'invention sera maintenant décrite en liaison avec les figures 1 à 9 et en particulier avec les figures 1 et 2 qui représentent la partie mécanique constituée d'un support (81, figure 2) sur lequel on peut placer des barquettes (2) contenant un empilage (1) de produits tels que des cartes magnétiques ou à puce, badges d'accès, tickets, liasses de papier, enveloppes, etc..., le lot de produit étant emballé dans un film translucide rétractable non représenté. La barquette (2) est éclairée par un tube fluorescent (7) et le faisceau lumineux réfléchi sur la tranche des objets (1) à compter et envoyé vers un dispositif de réflexion comprenant un premier miroir (5) et un deuxième miroir (6) pour faire converger le faisceau sur une barrette linéaire (41) d'éléments photosensibles appartenant à une caméra (4). Les faisceaux (32, 31, 30) représentent le faisceau lumineux qui converge vers la barrette d'éléments photosensibles (41). Cette barrette (41) comporte, à titre d'exemple, 5000 éléments pour permettre la lecture d'une barquette contenant, par exemple, au maximum 500 produits. Chaque élément photosensible de la barrette permet de détecter un signal lumineux et d'exprimer ce signal sous forme d'un signal électrique représentatif de 256 niveaux de luminosité. Ce signal est traduit en mots, par exemple, de 8 bits et chaque mot est enregistré dans un élément mémoire du dispositif. Ainsi, la mémoire du dispositif est constituée, pour l'exemple donnée, d'une mémoire vive de 5000 mots d'un octet. Le faisceau lumineux plan (30) représente un balayage et le dispositif permet à la caméra d'effectuer une pluralité de balayages transversalement au déplacement de la barquette (2) représentée par les flèches A et B et assuré par un mécanisme représenté, par exemple, à la figure 2. Ce mécanisme est constitué d'un support (81) rendu solidaire de deux colonnes (84) montées coulissantes chacune dans deux paliers montés sur des pieds (82, 83). Au moins une des colonnes (84) comporte une pièce de renvoi (85) qui15 permet d'assurer la transformation d'un mouvement de rotation imprimé par un moteur électrique (86) en un mouvement linéaire communiqué aux colonnes (84). Ce dispositif a pour but d'assurer un mouvement de va et vient qui permet à chaque déclenchement de cycle provoqué par l'enfoncement d'un bouton poussoir non représenté et disposé sur le capot de la machine, de faire effectuer à la barquette (2) un déplacement aller et retour, comme représenté à la figure 1. Un interrupteur (91) permet de détecter la présence d'une barquette (2) et de valider les séquences de lecture effectuées au cours de la pluralité de balayages ainsi que les comptages des produits. Comme on le verra par la suite, la caméra (4) effectue pendant un déplacement aller une cinquantaine de balayages, effectués alternativement de gauche à droite et de droite à gauche et pendant le déplacement retour une autre cinquantaine de balayages alternés. Comme représenté à la figure 9, à chaque balayage, le signal lumineux enregistré par les éléments photosensibles est constitué par un signal sinusoidal dont les sommets représentent approximativement les milieux des produits, les vallées, les bords et la distance séparant deux vallées correspond à l'épaisseur d'un produit à compter. Le premier sommet de coordonnées ysO correspond en fait à un bord de détection de la barquette alors que le premier sommet ysl correspond au premier produit à comptabiliser. Entre le balayage N 1 et le balayage N 2, un dispositif microprocesseur commandé par un programme mettant en oeuvre les algorithmes décrits ci-après permet d'effectuer le traitement des informations mémorisées au cours du premier balayage avant de valider la mémorisation d'un deuxième balayage, représenté à la figure 9. Le programme de lecture des balayages mémorisés et de comptabilisation des produits correspond à la mise en oeuvre des algorithmes représentés aux figures 3 à 7. Sur la figure 3, après le départ de cycle détecté par l'enfoncement du bouton poussoir par l'utilisateur, représenté à l'étape (30), le programme effectue le traitement d'une ligne représentée à l'étape (31) et après ce traitement de ligne effectue à l'étape (32) un test pour déterminer si un nombre déterminé de lignes, par exemple, ont été balayées, représenté. Dans la négative, le résultat est stocké à l'étape (33) et dans l'affirmative, le programme saute à l'étape (34) qui est un test pour déterminer s'il s'agit d'une fin de cycle. Si le test est négatif, le programme se reboucle avant l'étape (31). Dans le cas o le test est positif, c'est- à-dire si le compteur de balayage indique que le nombre déterminé de balayages linéaires a été effectué, le programme se poursuit par l'étape (35) qui est une étape de traitement des résultats. L'étape (36) suivante est constituée par l'affichage du compte-rendu. Un test, représenté à l'étape (37), permet de savoir s'il y a lieu d'effectuer un cycle suivant. Dans la négative le programme se reboucle sur lui-même entre les étapes (36) et (37) et dans l'affirmative le programme se reboucle au départ de cycle. Ce test "cycle suivant" est constitué par la détection de l'enfoncement du bouton poussoir. L'étape de traitement de ligne (31) correspond à la succession des étapes représentées à la figure 4 et cette séquence commence par une étape d'inversion du sens de balayage (312) et se poursuit par une étape (313) de test sur la détermination du sens. Dans le cas d'un balayage de gauche à droite, le remplissage de la mémoire ligne est effectuée à l'étape (314) et dans l'autre cas de balayage droite à gauche, le remplissage de la mémoire ligne est également effectué par une étape (316). A chacune de ces étape de remplissage mémoire succède une étape (317) de recherche des bords de la barquette et à cette étape succède une étape (318) d'analyse et de comptabilisation des produits entre les bords. Le programme se termine par le traitement des résultats représenté à l'étape (319) pour chacune des lignes. La séquence de recherche de bords représentée par l'étape (317) et dont les étapes sont représentées à la figure 5. Cette séquence commence par une étape 51 d'incrémentation d'un pointeur point image "pixel" permettant de déterminer si l'on est au début ou à la fin des informations mémorisées correspondant à chacune des cellules photosensibles de la ligne. Lorsque le traitement de 5000 mots mémoire est terminé, le traitement d'une mémoire ligne est effectué. A cette étape succède une étape 52 de chargement de la valeur de référence qui est égale à la valeur du pixel dont le traitement est en cours. Cette information est constituée par un mot de 8 bits représentatif d'un des 256 niveaux de luminosité reçus par l'élément photosensible correspondant au mot mémoire traité. A cette étape succède une étape 53 de recherche locale de sommets qui se poursuit par une étape 54 de calcul de la différence entre le niveau local et la valeur de référence mémorisée à l'étape 52. A cette étape 54 succède une étape 55 de test sur la valeur de la différence pour déterminer si cette différence est supérieure à une valeur de consigne. Dans l'affirmative le programme sait à l'étape 59 qu'un bord a été trouvé. Dans la négative, le programme se poursuit par l'étape 56 de mémorisation comme pixel de référence du pixel en cours de traitement. A cette étape succède une étape de test 57 déterminant s'il s'agit de la fin ou du début d'une ligne par comparaison du compteur du pointeur pixel pour déterminer si celui-ci a atteint la valeur définie fixée à 5000 pour l'exemple, ou non. Dans l'affirmative le programme affiche "bord non détecté" à l'étape 58 en positionnant un sémaphore exploité à l'étape 75 de la figure 7, et dans la négative le programme se reboucle avant l'étape 53 de recherche de sommet local. La consigne de l'étape 55 correspond en général à la distance qui sépare en moyenne un sommet d'une vallée et, comme on peut le voir sur le diagramme de la figure 9, le programme de la figure 5 permet de détecter comme un bord le sommet YsO puis, comme on le verra plus tard, lors du traitement de la vallée, s'apercevant que la distance dl entre le sommet et la vallée suivante étant inférieure à une autre consigne et le pourcentage de variation des sommets étant supérieur à une valeur déterminée, il considère qu'il ne s'agit pas du bord de la barquette et détecte le sommet suivant YSl comme étant le bord effectif de la barquette. La séquence 318 d'analyse et de comptabilisation des produits entre les bords correspond aux étapes représentées à la figure 6 qui commencent par une étape (61) de lecture d'un pixel pour se poursuivre par une étape 62 de test sur le type de séquence. Ce test s'effectue en déterminant si la différence entre le pixel en cours de traitement et le pixel précédent est positive ou négative et dans le cas o elle est positive enclenche la séquence de traitement sommet local et dans le cas o elle est négative enclenche la séquence de traitement vallée local. La séquence de traitement sommet local débute par une étape 63 de mesure de la distance (dss) entre sommets et se poursuit par une étape 64 de test pour déterminer si cette distance (dss) est supérieure à une valeur minimum. Dans le cas négatif, le programme se poursuit par l'étape 641 de traitement du pixel suivant et se reboucle entre les étapes 61 et 62 de test du type10 de séquence. Dans le cas affirmatif, si la distance (64) est supérieure à la distance minimum, la distance entre sommets étant représentée sur le graphique 9 par la valeur dss, le programme se poursuit par une étape 65 de calcul du pourcentage de variation des sommets qui détermine l'information (ys2 - ysl) ysl et s'assure à l'étape suivante 66 que cette variation est supérieure ou non à une consigne. Dans le cas affirmatif, le programme se poursuit par une étape 691 de test pour déterminer si la variation est négative. si elle est négative, le programme se reboucle avant l'étape 61 de lecture d'un pixel. Si la variation est positive, le programme se poursuit par une étape 692 de test consistant à lire le contenu du compteur du nombre de produits et à déterminer si le contenu de ce compteur est inférieur à 3. Si la réponse est négative, le programme se reboucle avant l'étape 61 de lecture d'un pixel. Si la réponse est affirmative, le programme se poursuit par une étape (693) de recalage du bord en considérant que le sommet traité est en fait le véritable bord de la barquette. Ceci correspond exactement à la situation o dans un premier temps le programme a détecté ysO et qu'ensuite en détectant ysl il constate que la variation pour ysl est supérieure à la consigne de l'étape 66 et ensuite, vérifiant que le nombre de produits est inférieur à 3, il considère que ysl est le véritable bord de l'ensemble de produits à compter. Cette étape 693 permet en même temps de positionner un sémaphore qui sera utilisé dans l'étape de la séquence de la figure 7. Si la variation est inférieure à la consigne, le programme à l'étape 67 valide le sommet en incrémentant un compteur qui comptabilise les sommets. Cette étape 67 est suivie d'un saut au séquenceur de vallée locale en renvoyant donc le programme avant l'étape 62 pour traiter une vallée locale selon la séquence ci-après. Ce traitement commence toujours par le test (62) sur le type de séquence et se poursuit ensuite par une étape de mesure de la distance sommet-vallée (dsv) et de la distance vallée-vallée (dvv). A cette étape 621 succède une étape de test 622 permettant de déterminer si les deux distances sont correctes par rapport à des valeurs de référence. Dans la négative le programme se poursuit par le traitement du pixel suivant représenté à l'étape 625 et se reboucle avant l'étape 62. Dans l'affirmative, si les distances sont correctes le programme se poursuit par une étape 623 de validation de la vallée qui consiste à incrémenter un compteur de vallée. Cette étape est suivie d'une étape 623 de traitement d'un sommet local en rebouclant le programme entre les étapes 61 et 62. Après cette séquence d'analyse et comptabili- sation des produits pour chaque balayage o le nombre de produits comptés est mémorisé à l'étape 319 pour chaque balayage, le programme exécute une séquence (35) de traitement des résultats. Lorsque le programme a déterminé qu'il s'agissait d'une étape de fin de cycle à l'étape 34 de la figure 3, il effectue la séquence 35 de traitement des résultats qui correspond à la séquence d'étapes de la figure 7. Lors de ce traitement, le programme commence par effectuer une étape 71 de tri des résultats par ordre croissant puis construit, à l'étape 72, un histogramme des résultats et recherche à l'étape 73 la plus grande occurrence entre les résultats. Ainsi, sur la centaine de balayages, il va pouvoir déterminer par exemple, que le chiffre 450 revient le plus souvent par rapport au chiffre 439, 440, 445, et retenant ce chiffre 450, il va examiner à l'étape 74 le taux de réussite par rapport à une valeur de taux de référence. Dans le traitement un taux de réussite assez important a été choisi mais cette consigne peut éventuellement être modifiée. Si par exemple la valeur 450 revient plus de 7 fois sur 8 comptages, le programme considère que la valeur de taux de référence a été atteinte et le programme se poursuivra par une étape de test (75) pour savoir s'il y a eu une bonne détection des extrémités. Cette étape 75 consiste à lire le sémaphore qui aura été positionné au cours de l'étape 693 indiquant que les bords ont effectivement bien été détectés. Dans le cas négatif, l'étape 751 signale une mauvaise détection des bords correspondant à l'étape 50 et se termine par l'affichage (792) "pas de carte trouvée". Dans l'affirmative, la séquence se poursuit par une étape 76 de test sur la détection de la saturation des capteurs photosensibles. Dans l'affirmative, l'étape 771 indique qu'il y a trop de luminosité et se termine par un affichage "trop de lumière", et dans la négative la séquence se poursuit par une étape 77 de traitement constituant un test pour déterminer si l'information lue avait une bonne netteté. Dans la négative, le dispositif affiche un défaut de contraste et la séquence se termine par un affichage "pas de carte trouvée", dans l'affirmative, le programme se termine par une étape 78 de test sur le nombre de produits pour déterminer si ce nombre est supérieur à zéro. Dans l'affirmative, le programme se termine par l'étape 791 d'affichage du nombre de produits et du taux de réussite. La figure 8 représente une autre variante du dispositif de déplacement mécanique des barquettes sous le faisceau de lecture de façon à pouvoir effectuer une pluralité de balayages transversaux par rapport au sens de déplacement des barquettes (2). Comme on peut le voir, ces barquettes (2) sont montées sur une courroie à taquets (21) elle-même tendue entre deux poulies5 d'entraînement (22, 23) dont au moins l'une est entraînée en rotation par un moteur électrique alimenté de façon séquentielle après le traitement des 100 lignes de balayage ou du nombre de lignes de balayage souhaité pour atteindre un taux de réussite suffisant. D'autres modifications à la portée de l'homme de métier font également partie de l'esprit de l'invention. REVENDICATIONS 1. Dispositif de comptage de produits (1) peu épais empilés côte-à-côte et rangés sur champ en barquettes (2) emballées sous film rétractable translucide, caractérisé en ce qu'il comporte: - des moyens (7) d'éclairer la barquette; - des moyens (91) de détecter la mise en place d'une barquette sur une navette (81, 21) mobile animée d'un mouvement de déplacement;10 - des moyens (4, 5, 6) d'effectuer une pluralité de balayages de la barquette par un faisceau linéaire de lecture d'une caméra linéaire pendant le mouvement de déplacement de direction perpendiculaire au faisceau linéaire;15 - des moyens de mémorisation des informations lumineuses contenues dans le faisceau linéaire et - des moyens de comptage pour chaque balayage du nombre de produits. 2. Dispositif de comptage selon la revendication 1, caractérisé en ce que le mouvement de déplacement de la navette est un mouvement de va et vient obtenu par un moteur électrique dont l'arbre d'entraînement (80) est relié par un mécanisme (85) de transformation du mouvement rotatif en mouvement linéaire transmis à la navette (81) rendue solidaire de colonnes (84) de guidage linéaire. 3. Dispositif de comptage selon la revendication 1, caractérisé en ce que le mouvement de la barquette (2) est obtenu par une courroie (21) à taquets supportant une pluralité de barquettes entraînées d'un mouvement continu de direction transversale au faisceau linéaire de lecture. 4. Dispositif de comptage selon une des revendications 1 à 3, caractérisé en ce qu'un bouton poussoir actionnable par l'utilisateur déclenche un déplacement et au cours de ce déplacement la pluralité de balayages. 5. Dispositif de comptage selon une des revendications 1 à 4, caractérisé en ce que les moyens de mémorisation sont constitués par autant d'octets mémoire que d'éléments photosensibles d'une barrette (41) de lecture de la caméra. 6. Dispositif de comptage selon la revendication , caractérisé en ce que le nombre d'éléments photosensibles est au moins supérieur au double du nombre maximum d'objets que le dispositif peut compter. 7. Dispositif de comptage selon la revendication , caractérisé en ce que le nombre d'éléments photosensibles est de préférence égal à dix fois le nombre maximum d'objets que le dispositif peut compter. 8. Dispositif de comptage selon la revendication , caractérisé en ce que chaque élément photosensible permet la détection de 256 niveaux de luminosité traduits en mots d'un octet constituant la représentation d'un pixel. 9. Dispositif de comptage selon une des revendications 1 à 8, caractérisé en ce que le faisceau linéaire est renvoyé par une pluralité de miroirs (5, 6) pour assurer avec un dispositif compact le balayage d'une barquette de grande dimension. 10. Dispositif de comptage selon une des revendications précédentes, caractérisé en ce que les moyens de comptage permettent la détection alternativement des sommets et des vallées en commençant par une détection de sommet et le comptage des sommets et des vallées constitutives du signal sinusoïdal mémorisé et représentatif du faisceau linéaire d'un balayage. 11. Dispositif de comptage selon une des revendications précédentes, caractérisé en ce que la détection des sommets assure la détection du premier bord et la détermination des sommets par mesure de la distance entre le sommet précédent et le pixel en cours de traitement, comparaison de la distance avec une valeur minimale qui correspond à l'épaisseur d'un produit et un calcul de pourcentage de variation du sommet qui permet, en cas de dépassement par rapport à une valeur consigne, de déterminer la présence d'un bord. 12. Dispositif de comptage selon une des revendications précédentes, caractérisé en ce que la détection des vallées est effectuée par rapport à un sommet précédent mémorisé en mesurant la distance entre sommet et pixel traité et par rapport à la vallée précédente mémorisée en mesurant la distance entre la vallée et le pixel traité et en retenant le pixel comme formant une vallée si les deux distances sont correctes par rapport à des valeurs de référence et, dans le cas contraire, en traitant le pixel suivant.