[0001] La présente invention concerne un dispositif de comptage de produits peu épais et
empilés côte-à-côte.
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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é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.
[0016] 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ésentatif du déroulement de l'opération
de comptage ;
- la figure 4 représente l'organigramme représentatif du traitement d'une ligne ;
- la figure 5 représente l'organigramme représentatif du processus de localisation des
bords de la boîte contenant les produits ;
- la figure 6 représente l'organigramme représentatif du processus d'analyse et de comptabilisation
des produits ;
- la figure 7 représente l'organigramme représentatif 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.
[0017] 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é.
[0018] 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) qui 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.
[0019] 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 sinusoïdal 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 ys0 correspond en fait à un bord de détection de
la barquette alors que le premier sommet ys1 correspond au premièr produit à comptabiliser.
[0020] 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.
[0021] 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).
[0022] 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é.
[0023] 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é.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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 Ys0 puis, comme
on le verra plus tard, lors du traitement de la vallée, s'apercevant que la distance
d1 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
YS1 comme étant le bord effectif de la barquette.
[0028] 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
type 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 - ys1)x100/ys1 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é ys0 et qu'ensuite en détectant ys1 il constate que la variation pour ys1 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 ys1 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 75 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.
[0029] 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.
[0030] Après cette séquence d'analyse et comptabilisation 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.
[0031] 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.
[0032] 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 poulies 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.
[0033] D'autres modifications à la portée de l'homme de métier font également partie de
l'esprit de l'invention.
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 ;
- 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 ;
- 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 5, 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 5, 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 5, 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.