{"id":1969,"date":"2021-06-17T17:13:24","date_gmt":"2021-06-17T16:13:24","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/?p=1969"},"modified":"2021-06-17T17:58:44","modified_gmt":"2021-06-17T16:58:44","slug":"camera-pour-robot-kuka-krc3","status":"publish","type":"post","link":"https:\/\/blog.univ-angers.fr\/polytech_2A\/2021\/06\/17\/camera-pour-robot-kuka-krc3\/","title":{"rendered":"Cam\u00e9ra pour robot KUKA KRC3"},"content":{"rendered":"<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image110.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image110-1024x768.jpg\" alt=\"image1\" width=\"584\" height=\"438\" class=\"aligncenter size-large wp-image-2078\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/image110-1024x768.jpg 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/image110-300x225.jpg 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/image110-400x300.jpg 400w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<h2>Fixer une cam\u00e9ra \u00e0 un bras robot. Qu&#8217;est-ce que pourrait mal se passer?<\/h2>\n<p>\n    Nous sommes Th\u00e9otime Aubin et Antoine Grimault, notre objectif a \u00e9t\u00e9 de fixer une webcam au bras robot KUKA et de lui faire d\u00e9tecter des objets sur un plan (fixe) d\u00e9fini au pr\u00e9alable.<br \/>\n    La premi\u00e8re \u00e9tape a \u00e9t\u00e9 de choisir <b>l&#8217;emplacement de la webcam.<\/b>\n<\/p>\n<p>    <a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image21.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image21-300x180.png\" alt=\"image2\" width=\"300\" height=\"180\" class=\"alignnone size-medium wp-image-2079\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/image21-300x180.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/image21-497x300.png 497w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/image21.png 514w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<li>\n        On aurait pu choisir de fixer la cam\u00e9ra dans l&#8217;espace de travail du robot.\n    <\/li>\n<p>    <a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image3.png\" alt=\"image3\" width=\"174\" height=\"242\" class=\"alignnone size-full wp-image-2080\" \/><\/a><\/p>\n<li>\n        Il \u00e9tait aussi possible de la fixer sur le c\u00f4t\u00e9 du robot, et d&#8217;avoir une position de prise de vue diff\u00e9rente de la position d&#8217;action.\n    <\/li>\n<p>    <a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/image4.png\" alt=\"image4\" width=\"215\" height=\"244\" class=\"alignnone size-full wp-image-2081\" \/><\/a><\/p>\n<li>\n        Enfin, on pouvait fixer la cam\u00e9ra directement sur la flasque du bras, avant l&#8217;outil.\n    <\/li>\n<\/ul>\n<p>\n    Nous avons choisi la derni\u00e8re option car ce syst\u00e8me limite faiblement les mouvements du bras,<br \/>\n    et le rep\u00e8re de la cam\u00e9ra est &#8220;simple&#8221; \u00e0 d\u00e9finir par rapport au rep\u00e8re de la flasque. C&#8217;est aussi plus facile de la fixer solidement ici.<br \/>\n    Il est possible que l&#8217;outil soit visible sur l&#8217;image, cela pourrait poser probl\u00e8me pour la d\u00e9tection des objets, mais d&#8217;apr\u00e8s nos mesures cela a peu de chances d&#8217;arriver.\n<\/p>\n<p>\n    Une fois ce choix fait, nous avons d\u00e9mont\u00e9 la webcam pour n&#8217;en garder que l&#8217;\u00e9lectronique (PCB), puis mod\u00e9lis\u00e9 un boitier sur SolidWorks que nous avons ensuite imprim\u00e9 en 3D.\n<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture5.png\" alt=\"Capture5\" width=\"167\" height=\"156\" class=\"alignleft size-full wp-image-2100\" \/><\/a><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture2.png\" alt=\"Capture2\" width=\"212\" height=\"166\" class=\"alignright size-full wp-image-2098\" \/><\/a><br \/>\n<\/br><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture11.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture11.png\" alt=\"Capture1\" width=\"207\" height=\"149\" class=\"alignleft size-full wp-image-2102\" \/><\/a><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture4.png\" alt=\"Capture4\" width=\"270\" height=\"275\" class=\"alignright size-full wp-image-2099\" \/><\/a><br \/>\n<\/br><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture.png\" alt=\"Capture\" width=\"272\" height=\"132\" class=\"aligncenter size-full wp-image-2101\" \/><\/a><\/p>\n<li>\n        Vient ensuite la phase deux\u2026 le traitement d\u2019image :\n<\/li>\n<p><\/br><\/p>\n<p>\nPour ceci nous avons d\u00e9cid\u00e9 d\u2019utiliser Python avec le module OpenCV sur un ordinateur s\u00e9par\u00e9 du robot. On a cod\u00e9 une application qui permet \u00e0 l\u2019utilisateur du robot d\u2019avoir un retour vid\u00e9o pour calibrer la \u2018\u2018vis\u00e9e\u2019\u2019, fait une d\u00e9tection de contour et donne les coordonn\u00e9es d\u2019un objet situ\u00e9 sur l\u2019espace de travail d\u00e9fini au pr\u00e9alable, en convertissant au passage des pixels en millim\u00e8tres.\n<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/nnwn.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/nnwn-1024x549.png\" alt=\"nnwn\" width=\"584\" height=\"313\" class=\"aligncenter size-large wp-image-2126\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/nnwn-1024x549.png 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/nnwn-300x160.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/nnwn-500x268.png 500w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/nnwn.png 1920w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture61.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture61.png\" alt=\"Capture6\" width=\"450\" height=\"341\" class=\"aligncenter size-full wp-image-2291\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture61.png 450w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture61-300x227.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture61-395x300.png 395w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<li>\n      Vient ensuite la phase trois\u2026 la programmation du robot :\n<\/li>\n<p><\/br><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture10.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture10-227x300.png\" alt=\"Capture10\" width=\"227\" height=\"300\" class=\"aligncenter size-medium wp-image-2141\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture10-227x300.png 227w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture10.png 394w\" sizes=\"auto, (max-width: 227px) 100vw, 227px\" \/><\/a><\/p>\n<p>\nLe but est simple. Le robot est capable de connaitre en temps r\u00e9el la position de la flasque. Notre travail dans ce programme est de donner au robot les translations et rotations de rep\u00e8re afin de disposer des coordonner de la cam\u00e9ra en temps r\u00e9el.\n<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture7.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture7-300x200.png\" alt=\"Capture7\" width=\"300\" height=\"200\" class=\"aligncenter size-medium wp-image-2130\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture7-300x200.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture7-449x300.png 449w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture7.png 533w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/20210604_184736-300x225.jpg\" alt=\"20210604_184736\" width=\"300\" height=\"225\" class=\"aligncenter size-medium wp-image-2133\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/20210604_184736-300x225.jpg 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/20210604_184736-1024x768.jpg 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/20210604_184736-400x300.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\nApr\u00e8s s\u2019\u00eatre bien creus\u00e9 les m\u00e9ninges on finit par comprendre et \u00e7a donne un beau petit programme :\n<\/p>\n<p><\/br><br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture8.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture8-300x270.png\" alt=\"Capture8\" width=\"300\" height=\"270\" class=\"aligncenter size-medium wp-image-2134\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture8-300x270.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture8-332x300.png 332w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture8.png 534w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<li>\n      Conclusion :\n<\/li>\n<p>\nQuand on fait tout fonctionner ensemble le robot est capable de localiser une pi\u00e8ce, en d\u00e9duire ses coordonn\u00e9es et la pointer. il aurait \u00e9t\u00e9 possible d&#8217;aller un peu plus loin en communiquant directement les coordonn\u00e9es au robot via une carte d&#8217;entr\u00e9e sortie utilisant le protocole TCP\/IP, mais celle ci a mis trop de temps a arriver.\n<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture9.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2021\/06\/Capture9-227x300.png\" alt=\"Capture9\" width=\"227\" height=\"300\" class=\"aligncenter size-medium wp-image-2140\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture9-227x300.png 227w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2021\/06\/Capture9.png 326w\" sizes=\"auto, (max-width: 227px) 100vw, 227px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fixer une cam\u00e9ra \u00e0 un bras robot. Qu&#8217;est-ce que pourrait mal se passer? Nous sommes Th\u00e9otime Aubin et Antoine Grimault, notre objectif a \u00e9t\u00e9 de fixer une webcam au bras robot KUKA et de lui faire d\u00e9tecter des objets sur &hellip; <a href=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/2021\/06\/17\/camera-pour-robot-kuka-krc3\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":76733,"featured_media":2078,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[344],"tags":[193,453,456,215,153,324,115,454],"class_list":["post-1969","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-344","tag-angers","tag-kuka","tag-opencv","tag-programmation","tag-python","tag-robotique","tag-solidworks","tag-traitement-dimage"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/1969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/users\/76733"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/comments?post=1969"}],"version-history":[{"count":1,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/1969\/revisions"}],"predecessor-version":[{"id":2273,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/1969\/revisions\/2273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media\/2078"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media?parent=1969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/categories?post=1969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/tags?post=1969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}