FR 3106432 A1 20210723 FR 2000560 A 20200121 L’invention propose un système (1) de détermination d’au moins un angle de tangage d’une remorque par rapport à un tracteur (21), le système comprenant une caméra (12) montée sur le tracteur (21) et adaptée pour acquérir des images de la remorque sur lesquelles des lignes de la remorque parallèles à l’axe de la remorque (20) sont visibles, et un calculateur (10) configuré pour mettre en œuvre les étapes suivantes : - mettre en œuvre un algorithme de détection de lignes sur au moins une image de la remorque acquise par la caméra (12), - détecter dans l’image les lignes de la remorque parallèles à l’axe de la remorque, correspondant à des lignes de fuite, et déduire des lignes de fuite une position du point de fuite, et - à partir des coordonnées du point de fuite, déterminer au moins un angle de tangage de la remorque par rapport au tracteur. Figure de l’abrégé : Fig. 1 Système de détermination de la position angulaire d’une remorque La présente demande concerne un système de détermination d’au moins un angle de tangage d’une remorque par rapport à un véhicule tracteur, et un procédé associé. De nombreuses technologies sont actuellement développées pour aider les conducteurs à la conduite de véhicules, en leur fournissant par exemple des informations supplémentaires sur la configuration du véhicule et sa position par rapport à son environnement. Ces technologies sont également nécessaires dans une perspective de véhicules complètement autonomes. C’est le cas pour les véhicules individuels, mais aussi pour des véhicules de transports, comprenant typiquement un véhicule tracteur et une remorque. Pour l’assistance à la conduite de tels véhicules, et notamment pour des manœuvres visant à garer le véhicule, il est important de connaître avec précision la position angulaire de la remorque par rapport au véhicule tracteur, et notamment le lacet, le tangage, voire le roulis, en fonction de l’inclinaison de la route. Il existe déjà des solutions de détermination de l’angle de lacet d’une remorque par rapport à un véhicule, reposant sur l’analyse d’une image acquise par une caméra située devant la remorque. On connaît par exemple la thèse de doctorat de Christopher Charles de Saxe « Visio-based trailer pose estimation for articulated vehicles », https://doi.org/10.17863/CAM.14370, 2017. La solution qui y est proposée se base sur la détection et l’analyse de la position de la face avant de la remorque, considérée comme un plan perpendiculaire à l’axe optique de la caméra. Cependant cette hypothèse est restrictive et ne s’applique pas à un grand nombre de remorques, comme des remorques transportant des citernes ou du bois, ou encore certains vans pour chevaux, par exemple. De plus, cette méthode nécessite une phase de calibration au cours de laquelle le véhicule doit rouler en marche avant en ligne droite sur une certaine distance, pour déterminer une position de référence de la face avant de la remorque, à partir de laquelle des valeurs relatives d’angle de lacet de la remorque vont être déterminées. De ce fait, les conditions d’implémentation de la méthode sont restreintes ; par exemple elle ne peut pas être mise en œuvre au démarrage du véhicule. Résumé L’invention vient améliorer la situation, en proposant un système de détermination d’au moins un angle de tangage, et, dans un mode de réalisation, d’un angle de tangage et un angle de lacet d’une remorque par rapport à un tracteur. En particulier, un système de détermination d’au moins un angle de tangage d’une remorque par rapport à un véhicule tracteur auquel la remorque est attachée est proposé, le système comprenant une caméra montée sur le véhicule tracteur et adaptée pour acquérir des images de la remorque sur lesquelles des lignes de la remorque parallèles à l’axe de la remorque sont visibles, et un calculateur, dans lequel le calculateur est configuré pour mettre en œuvre les étapes suivantes : - mettre en œuvre un algorithme de détection de lignes sur au moins une image de la remorque acquise par la caméra, - détecter dans l’image les lignes de la remorque parallèles à l’axe de la remorque, correspondant à des lignes de fuite, et déduire des lignes de fuite une position du point de fuite à la convergence des lignes de fuite, et - à partir de la position du point de fuite, déterminer au moins un angle de tangage de la remorque par rapport au tracteur. Avantageusement, mais facultativement, le système selon l’invention comprend en outre au moins l’une des caractéristiques suivantes. Dans un mode de réalisation : - un premier repère est associé à la remorque, centré sur le point d’ancrage de la remorque sur le tracteur, le repère comprenant deux premiers axes perpendiculaires à la direction de la remorque et un troisième axe parallèle à la direction de la remorque et s’étendant vers celle-ci, - un deuxième repère est associé au tracteur, centré sur la caméra, - un troisième repère est un repère bidimensionnel de l’image acquise par la caméra, centré sur le centre optique de la caméra, et - les coordonnées du point de fuite V de la remorque dans le repère associé à la remorque sont (0, 0, , et dans le troisième repère sont (vi, vj), et le calculateur est configuré pour déterminer l’angle de tangage β de la remorque par rapport au tracteur à partir de la coordonnée verticale vj du point de fuite de la remorque dans le repère de l’image par : Dans un mode de réalisation, le calculateur est en outre configuré pour déterminer l’angle de lacet α de la remorque par rapport au tracteur à partir d’une coordonnée horizontale vi du point de fuite de la remorque dans le repère de l’image par : Dans un mode de réalisation, la caméra est en outre adaptée pour acquérir des images de la remorque sur lesquelles des lignes verticales de la remorque sont visibles, et dans lequel le calculateur est en outre configuré pour déterminer un axe de roulis de la remorque par rapport au tracteur à partir : - des angles de lacet et de tangage de la remorque, et - de la position dans le repère d’une image prise par la caméra d’un point de fuite W où convergent les lignes de fuite correspondant aux lignes verticales de la remorque. Dans un mode de réalisation, les coordonnées du point de fuite W de la remorque dans le repère associé à la remorque sont (X et dans le repère d’une image prise par la caméra sont (wi, wj), et le calculateur est configuré pour calculer l’angle θ de roulis à partir de la coordonnée horizontale wi du point de fuite W par : La présente a également pour objet un procédé de détermination d’au moins un angle de tangage d’une remorque par rapport à un véhicule tracteur auquel la remorque est attachée, le procédé étant mis en œuvre par un système comprenant une caméra et un calculateur et comprenant : - l’acquisition par la caméra d’une image de la remorque sur laquelle des lignes de la remorque parallèles à l’axe principal de la remorque sont visibles, - la mise en œuvre d’un algorithme de détection de lignes pour détecter les lignes de la remorque parallèles à l’axe de la remorque, correspondant à des lignes de fuite de l’image, - la déduction d’une position du point de fuite de la remorque à la convergence des lignes de fuite, et - à partir des coordonnées du point de fuite, la détermination d’au moins un angle de tangage de la remorque par rapport au tracteur. Dans un mode de réalisation, le procédé comprend en outre la détermination, à partir de l’angle de tangage et des coordonnées du point de fuite, d’un angle de lacet de la remorque par rapport au tracteur. La présente a également pour objet un produit programme d’ordinateur, comprenant des instructions de code pour la mise en œuvre du procédé comprenant les étapes de : - mise en œuvre sur une image d’une remorque sur laquelle des lignes de la remorque parallèles l’axe principal de la remorque sont visibles d’un algorithme de détection de lignes, - sélection des lignes de fuite de l’image et déduction d’une position du point de fuite de la remorque à partir des lignes de fuite, et - à partir des coordonnées du point de fuite, détermination d’au moins un angle de tangage de la remorque par rapport au tracteur, quand il est exécuté par un calculateur. L’invention a également pour objet un procédé de détermination d’au moins un angle de lacet d’une remorque. L’invention proposée permet de déterminer l’angle de tangage, mais aussi l’angle de lacet et de roulis d’une remorque par rapport à un tracteur avec moins de contraintes sur la géométrie de la remorque que l’art antérieur, puisqu’il suffit que des lignes parallèles à l’axe de la remorque soient visibles sur une image acquise de la caméra montée sur le véhicule tracteur. De telles lignes sont typiquement les arêtes d’un châssis de la remorque. De plus l’invention ne nécessite pas de calibration impliquant de faire circuler le tracteur et sa remorque en ligne droite, l’angle de tangage et de lacet de la remorque peut être déterminé dès le démarrage. D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : La figure 1 représente un système selon un mode de réalisation de l’invention et illustre les repères rattachés respectivement à la remorque et au tracteur. La figure 2 représente un exemple d’image acquise par une caméra sur laquelle figurent des lignes parallèles d’une remorque. La figure 3 représente un exemple d’implantation d’une caméra sur un tracteur pour mettre en œuvre le procédé de détermination d’au moins un angle d’une remorque attachée au tracteur. La figure 4 représente schématiquement les principales étapes du procédé selon un mode de réalisation de l’invention. Il est maintenant fait référence à la figure 1, qui représente schématiquement un système 1 de détermination d’au moins un angle de tangage d’une remorque 20 par rapport à un véhicule tracteur 21 auquel la remorque est attachée. Le système 1 comprend un calculateur 10 et une mémoire 11 comprenant des instructions de code pour l’exécution du procédé décrit ci-après, quand elles sont exécutées par le calculateur 10. Le calculateur 10 peut être un processeur, microprocesseur, contrôleur, microcontrôleur, FPGA, ou autre. Le système 1 comprend en outre une caméra 12 montée sur le véhicule tracteur, et adaptée pour acquérir des images de la remorque sur lesquelles des lignes parallèles à l’axe D de la remorque sont visibles. A cet égard, la caméra 12 est avantageusement positionnée à l’arrière du véhicule tracteur, en étant dirigée vers l’arrière du véhicule tracteur avec un axe optique sensiblement parallèle à l’axe du tracteur, comme illustré par exemple dans la figure 3. Quand le véhicule composé du tracteur et de la remorque circule en ligne droite, l’axe de la caméra est aussi parallèle à la direction de circulation du véhicule et la direction de la remorque. En variante, l’axe optique peut former un angle avec l’axe du tracteur, et dans ce cas la caméra peut faire l’objet d’une calibration pour tenir compte de cet angle constant. Dans un mode de réalisation, les lignes parallèles à l’axe de la remorque qui doivent apparaître sur une image prise par la caméra sont des lignes du châssis de la remorque, ces lignes étant visibles sur l’exemple représenté sur la figure 2. Pour ce faire, la caméra peut être positionnée à une hauteur par rapport au sol qui est inférieure à la hauteur du châssis de la remorque. En fonction des géométries des remorques, on pourra adapter la position de la caméra ainsi que son optique pour assurer que des images acquises par la caméra fassent apparaître des lignes parallèles à l’axe de la remorque. En référence à la figure 4, on va maintenant décrire le procédé de détermination d’au moins un angle de tangage de la remorque par rapport au véhicule tracteur, mis en œuvre par le système 1. Le procédé comprend une étape 100 d’acquisition, par la caméra 12, d’une image de la remorque sur laquelle figurent des lignes de la remorque parallèles à la direction de la remorque. L’image est ensuite transmise au contrôleur qui met en œuvre la suite des étapes. Avantageusement, mais facultativement, le contrôleur met en œuvre une étape 150 de correction de la distorsion de l’image liée à l’objectif de la caméra, et qui permet de redresser des lignes droites pouvant paraître incurvées dans certaines portions de l’image. Lors d’une étape 200, le contrôleur met en œuvre sur l’image un algorithme de détection de lignes afin de détecter les bords saillants de la remorque sur l’image. Cette étape peut être mise en œuvre en utilisant par exemple un algorithme décrit par J. Canny et al. dans « A computational approach to edge detection », IEEE Trans. Pattern Anal. Mach. Intell ., vol. PAMI-8, bi. 6, pp679-698, bov. 1986. Lors d’une étape 210 le contrôleur sélectionne les lignes de fuite de l’image, c’est-à-dire des lignes convergeant vers un point de fuite V pour déterminer la position sur l’image du point de fuite V à l’intersection des lignes de fuite. Compte-tenu de l’emplacement de la caméra, les lignes de fuite correspondent aux lignes de la remorque qui sont parallèles à l’axe de la remorque. Dans la figure 2, les lignes qui, parmi toutes les lignes détectées à l’étape 200, sont des lignes de fuite correspondant à des lignes parallèles à l’axe de la remorque, sont identifiées par la lettre F. Cette étape peut être mise en œuvre de façon connue de l’Homme du Métier. On pourra par exemple se référer à la publication de F. Tsai et al., « Detection of Vanishing Points Using Hough Transform for Single View 3D Reconstruction », dans 34th Asian Conference on Remote Sensing 2013 ; ACRS 2013. Les coordonnées dans le repère de l’image du point de fuite V sont notées (v i , v j ), où v i est la coordonnée horizontale et v j est la coordonnée verticale. De retour à la figure 1, on va maintenant décrire les conventions mathématiques adoptées dans la suite. La figure 1 est une représentation en vue de dessus d’un véhicule comprenant un tracteur 21 et une remorque 20. On définit un premier repère (C) rattaché au véhicule tracteur et centré sur le point C qui correspond à la position de la caméra. L’axe Cz de ce repère est parallèle à l’axe optique de la caméra, les axes Cx et Cy lui sont perpendiculaires, Cx étant inclus dans le plan de la représentation de la figure 1, et correspondant à un axe sensiblement horizontal, et Cy étant perpendiculaire à Cx, et correspondant à un axe sensiblement vertical quand le tracteur s’étend sur une route horizontale. Un deuxième repère (H) est rattaché à la remorque et centré sur le point H qui correspond au point d’ancrage de la remorque au tracteur. L’axe Hz de ce repère est parallèle à la direction D de la remorque, les axes Hx et Hy lui sont perpendiculaires. Hx est inclus dans le plan de la figure 1 et Hy correspond également à un axe vertical. On désigne par α l’angle de lacet de la remorque par rapport au tracteur, qui correspond à un angle de rotation autour de l’axe y. On désigne également par β l’angle de tangage autour de l’axe x et par θ l’angle de roulis autour de l’axe z. Les coordonnées, dans le repère rattaché à la remorque, du point de fuite V des lignes de fuite de l’image de la remorque sont (0, 0, Z ). Lors d’une étape 220, le contrôleur est ensuite configuré pour déterminer l’angle de tangage à partir des coordonnées (v i , v j ) du point de fuite V, dans un repère bidimensionnel (non représenté) de l’image prise par la caméra, où la première coordonnée est horizontale, la deuxième coordonnée est verticale, et l’origine du repère se situe au niveau du centre optique de la caméra. On note R et T respectivement les matrices de rotation et de translation pour exprimer les coordonnées d’un point P du repère (H) rattaché à la remorque dans le repère (C) rattaché au tracteur, comme suit : Où x c , y c , z c sont les coordonnées de P dans le repère (C) et x H ,y H ,z H sont les coordonnées de P dans le repère (H). La matrice de rotation R se décompose en trois matrices de rotation Rx, Ry et Rz correspondant aux matrices des rotations des angles β, α, et θ respectivement. R z = R y = R x = Avec R = R x * R y * R z . Les coordonnées (v i , v j ) du point de fuite V dans le repère de l’image prise par la caméra correspondent à des coordonnées (x c,v , y c,v , z c,v ) de ce point dans le repère (C) de la caméra, où v i = x c,v / z c,v , v j = y c,v / z c,v . Par conséquent la relation suivante est applicable : La translation T peut être négligée par rapport aux termes de la matrice quand tend vers l’infini, ce qui est le cas du point de fuite. On obtient alors la relation : Lors de l’étape 220, le calculateur détermine donc le tangage β de la remorque à partir de la position du point de fuite sur l’image prise par la caméra, par : Avantageusement, mais facultativement, le calculateur peut aussi déterminer lors d’une étape 230 le lacet α de la remorque à partir du tangage et de la position du point de fuite dans le repère de l’image prise par la caméra, par : Dans un mode de réalisation, le système 1 est également configuré pour pouvoir déterminer aussi un angle de roulis de la remorque par rapport au véhicule tracteur. Pour cela, la caméra 12 doit être positionnée relativement à la remorque de sorte que, sur une image acquise par la caméra, soient également visibles des lignes perpendiculaires à l’axe de la remorque et correspondant, quand la remorque est sur un plan horizontal, à des lignes verticales. Ceci peut être obtenu par exemple grâce à des arêtes verticales situées en face avant de la remorque, avec une caméra présentant un angle d’ouverture important. Dans ce cas, le contrôleur peut réitérer l’étape 210 pour sélectionner les lignes de fuite de l’image correspondant à des lignes verticales de la remorque, et en déduire la position dans le repère de l’image du point de fuite W correspondant à l’intersection de ces lignes de fuite. Il n’est pas nécessaire que le point de fuite W soit dans l’image, c’est-à-dire dans les limites de l’image, ses coordonnées dans le repère de l’image peuvent être déterminées à partir des lignes de fuite même si ces coordonnées dépassent les coordonnées des bords de l’image Ceci est applicable également, bien que moins fréquent, au point de fuite V. En variante la mise en œuvre de l’étape 210 pour déterminer la position du point de fuite W peut être faite lors de la même étape 210 où le contrôleur détermine la position dans le repère de l’image du point de fuite V. Le contrôleur peut ensuite déterminer lors d’une étape 240 le roulis θ de la remorque à partir de la position (w i , w j ), dans le repère de l’image acquise par la caméra, du point de fuite W. En effet, en reprenant les mêmes notations que précédemment, on peut considérer que le point de fuite W présente, dans le repère de la remorque, des coordonnées (X , 0, 0), les positions en Y et en Z de ce point sont quelconques et peuvent être ramenées à 0. On obtient alors la relation suivante : Où x c , w , y c , w et z c , w sont les coordonnées, dans le repère (C) du tracteur, du point de fuite W, avec w i = x c , w /z c , w et w j =y c , w /z c , w . Comme précédemment, la translation T peut être négligée, et on obtient la relation : où R xyij désigne le terme de la i ème ligne et j ème colonne de la matrice R xy = R x *R y . Ces termes sont connus une fois l’angle de tangage β et de lacet α déterminés. L’angle de roulis θ est donc obtenu par : Grâce aux relations qui précèdent, on peut noter que les différents angles peuvent être déterminés uniquement à partir d’une image de la remorque acquise par la caméra, sans nécessiter aucun calibrage ni aucune circulation de la remorque pour définir une position de référence. Système (1) de détermination d’au moins un angle de tangage d’une remorque par rapport à un véhicule tracteur (21) auquel la remorque est attachée, le système (1) comprenant une caméra (12) montée sur le véhicule tracteur (21) et adaptée pour acquérir des images de la remorque sur lesquelles des lignes de la remorque parallèles à l’axe de la remorque (20) sont visibles, et un calculateur (10), dans lequel le calculateur est configuré pour mettre en œuvre les étapes suivantes : - mettre en œuvre (200) un algorithme de détection de lignes sur au moins une image de la remorque acquise par la caméra (12), - détecter (210) dans l’image les lignes de la remorque parallèles à l’axe de la remorque, correspondant à des lignes de fuite, et déduire des lignes de fuite une position du point de fuite à la convergence des lignes de fuite, et - à partir de la position du point de fuite, déterminer (220) au moins un angle de tangage de la remorque par rapport au tracteur. Système (1) selon la revendication précédente, dans lequel, - un premier repère est associé à la remorque, centré sur le point d’ancrage de la remorque sur le tracteur, le repère comprenant deux premiers axes perpendiculaires à la direction de la remorque et un troisième axe parallèle à la direction de la remorque et s’étendant vers celle-ci, - un deuxième repère est associé au tracteur, centré sur la caméra, - un troisième repère est un repère bidimensionnel de l’image acquise par la caméra, centré sur le centre optique de la caméra, et - les coordonnées du point de fuite V de la remorque dans le repère associé à la remorque sont (0, 0, , et dans le troisième repère sont (v i , v j ), et le calculateur est configuré pour déterminer (220) l’angle de tangage β de la remorque par rapport au tracteur à partir de la coordonnée verticale v j du point de fuite de la remorque dans le repère de l’image par : Système (1) selon la revendication 2, dans lequel le calculateur est en outre configuré pour déterminer (230) l’angle de lacet α de la remorque par rapport au tracteur à partir d’une coordonnée horizontale v i du point de fuite de la remorque dans le repère de l’image par : Système (1) selon la revendication 3, dans lequel la caméra (12) est en outre adaptée pour acquérir des images de la remorque sur lesquelles des lignes verticales de la remorque sont visibles, et dans lequel le calculateur est en outre configuré (240) pour déterminer un axe de roulis de la remorque (20) par rapport au tracteur (21) à partir: - des angles de lacet et de tangage de la remorque, et - de la position dans le repère d’une image prise par la caméra d’un point de fuite W où convergent les lignes de fuite correspondant aux lignes verticales de la remorque. Système (1) selon la revendication 4, dans lequel les coordonnées du point de fuite W de la remorque (20) dans le repère associé à la remorque sont (X et dans le repère d’une image prise par la caméra sont (w i , w j ), et le calculateur (10) est configuré pour calculer (240) l’angle θ de roulis à partir de la coordonnée horizontale w i du point de fuite W par : Procédé de détermination d’au moins un angle de tangage d’une remorque (20) par rapport à un véhicule tracteur (21) auquel la remorque est attachée, le procédé étant mis en œuvre par un système (1) comprenant une caméra (12) et un calculateur (10) et comprenant : - l’acquisition (100) par la caméra d’une image de la remorque sur laquelle des lignes de la remorque parallèles à l’axe principal de la remorque sont visibles, - la mise en œuvre (200) d’un algorithme de détection de lignes pour détecter les lignes de la remorque parallèles à l’axe de la remorque, correspondant à des lignes de fuite de l’image, - la déduction (210) d’une position du point de fuite de la remorque à la convergence des lignes de fuite, et - à partir des coordonnées du point de fuite, la détermination (220) d’au moins un angle de tangage de la remorque par rapport au tracteur. Procédé selon la revendication précédente, comprenant en outre la détermination, à partir de l’angle de tangage et des coordonnées du point de fuite, d’un angle de lacet de la remorque par rapport au tracteur. Produit programme d’ordinateur, comprenant des instructions de code pour la mise en œuvre du procédé comprenant les étapes de : - mise en œuvre (200) sur une image d’une remorque sur laquelle des lignes de la remorque parallèles l’axe principal de la remorque sont visibles d’un algorithme de détection de lignes, - sélection (210) des lignes de fuite de l’image et déduction d’une position du point de fuite de la remorque à partir des lignes de fuite, et - à partir des coordonnées du point de fuite, détermination (220) d’au moins un angle de tangage de la remorque par rapport au tracteur, quand il est exécuté par un calculateur (10).