{"id":2549,"date":"2022-06-01T13:50:35","date_gmt":"2022-06-01T12:50:35","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/?p=2549"},"modified":"2022-06-08T08:59:49","modified_gmt":"2022-06-08T07:59:49","slug":"tri-de-pieces-avec-le-robot-dobot-magicien-et-une-camera-embarquee","status":"publish","type":"post","link":"https:\/\/blog.univ-angers.fr\/polytech_2A\/2022\/06\/01\/tri-de-pieces-avec-le-robot-dobot-magicien-et-une-camera-embarquee\/","title":{"rendered":"Tri de pi\u00e8ces avec le robot dobot magicien et une cam\u00e9ra embarqu\u00e9e"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Salut les polypotes !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous sommes Matis LEMOINE, Simon BODIN, Schawal BACAR et Corentin PICCIN, \u00e9tudiants en deuxi\u00e8me ann\u00e9e de cycle pr\u00e9paratoire int\u00e9gr\u00e9 \u00e0 Polytech Angers. Pour notre quatri\u00e8me semestre, nous sommes amen\u00e9s \u00e0 mettre en \u0153uvre un projet, de A \u00e0 Z encadr\u00e9 par un professeur de robotique industrielle : Jean-Louis Boimond. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Polytech Angers a acquis r\u00e9cemment en plusieurs exemplaires du robot DOBOT Magician, con\u00e7us par des fabricants de robots industriels, permettant l\u2019apprentissage de la robotique industrielle. Le projet a pour objectif de fixer une cam\u00e9ra sur le bras du robot pour permettre la localisation des pi\u00e8ces en vue de les trier selon leurs couleurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Nous avons choisi ce projet car il n\u00e9cessite des comp\u00e9tences en programmation, Solidworks, domaines qui nous attirent et dans lesquels nous sommes compl\u00e9mentaires.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aujourd&#8217;hui l\u2019accroissement de la complexit\u00e9 des t\u00e2ches \u00e0 accomplir par les robots industriels est tel que\u00a0les applications de la robotique en entreprise et dans les autres secteurs r\u00e9clament que l\u2019organe terminal des robots (ventouse, pince, laser, \u2026) ait un niveau \u00e9lev\u00e9 de pr\u00e9cision. Dans notre cas nous nous sommes occup\u00e9s de la localisation, la manipulation puis le tri des pi\u00e8ces par le robot. Deux options sont classiquement adopt\u00e9es, soit la cam\u00e9ra est dispos\u00e9e \u00e0 un endroit fixe par rapport au robot soit elle est fix\u00e9e directement sur le bras du robot. Pour notre part nous avons choisi de fabriquer un support pour fixer la cam\u00e9ra au robot.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour mener \u00e0 bien notre projet, nous avons d\u00fb passer par plusieurs \u00e9tapes de travail, allant de la r\u00e9flexion et l\u2019apprentissage jusqu\u2019\u00e0 la mise au point d\u2019un programme fonctionnel :<br>\u2013 prise en main du robot Dobot et son logiciel;<br>\u2013 cr\u00e9ation par impression 3D d&#8217;une interface permettant de fixer la cam\u00e9ra sur le bras du         robot;<br>\u2013 le traitement des images issues de la cam\u00e9ra;<br>\u2013 programmer le robot pour permettre le d\u00e9placement et le tri des pi\u00e8ces;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-1024x886.png\" alt=\"\" class=\"wp-image-2592\" width=\"611\" height=\"528\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-1024x886.png 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-300x260.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-768x665.png 768w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-1536x1330.png 1536w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-2048x1773.png 2048w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/H0b28eae4c4ec4972862416c03a014f3dh-347x300.png 347w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/a><figcaption>Robot Dobot Magician<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1) Prise en main du robot Dobot et de son logiciel<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le robot Dobot Magician est le robot \u00e9ducatif parfait car il poss\u00e8de de nombreuses fonctionnalit\u00e9s accessibles via son logiciel \u00ab DobotStudio \u00bb tr\u00e8s intuitif. Le robot est muni d&#8217;un bras robotis\u00e9 modulaire de grande pr\u00e9cision programmable via une liaison USB. Dans un premier temps nous nous sommes familiaris\u00e9s avec le robot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/06\/images-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/06\/images-1.jpg\" alt=\"\" class=\"wp-image-2675\" width=\"579\" height=\"243\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/06\/images-1.jpg 348w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/06\/images-1-300x125.jpg 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/a><figcaption><a>&nbsp;<\/a>Caract\u00e9ristiques du bras de robot Dobot<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour comprendre le concept du robot, notre professeur nous a fait travailler sur des travaux pratiques d&#8217;\u00e9l\u00e8ves de troisi\u00e8me ann\u00e9e en Syst\u00e8mes automatis\u00e9s et g\u00e9nie informatique. Ceci nous a permis de d\u00e9couvrir le fonctionnement de la cam\u00e9ra. \u00c0 c\u00f4t\u00e9 du robot, nous avons dessin\u00e9 sur une feuille 2 cercles noirs. Nous avons fait en sorte que le rep\u00e8re du robot et de la feuille soient colin\u00e9aires. Ainsi il suffira simplement d\u2019ajouter la distance entre les deux rep\u00e8res pour avoir les coordonn\u00e9es dans le rep\u00e8re du robot. Puis gr\u00e2ce \u00e0 une programmation PYTHON la pointe du stylo situ\u00e9e \u00e0 l\u2019extr\u00e9mit\u00e9 du bras du robot se place aux coordonn\u00e9es du centre des cercles qui ont \u00e9t\u00e9 obtenues par la cam\u00e9ra fix\u00e9e sur un tr\u00e9pied.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/files.u-angers.fr\/data\/f-9980ece84a3119b5.mp4\"><\/video><figcaption>D\u00e9tection des cercles gr\u00e2ce \u00e0 la cam\u00e9ra et contre des cercles point\u00e9s par le rayon<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2) Cr\u00e9ation par impression 3D d&#8217;une interface permettant de fixer la cam\u00e9ra sur le bras du robot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons ensuite remplac\u00e9 le crayon par une pince car le but \u00e9tait de saisir des cubes. Il a fallu pour cela concevoir par impression 3D un support permettant de fixer la cam\u00e9ra au bras du robot.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons fabriqu\u00e9 un 1er prototype sur Solidworks mais la cam\u00e9ra n\u2019\u00e9tait pas dans l\u2019axe de la pince ce qui rendait l\u2019action du robot tr\u00e8s impr\u00e9cise.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/unknown.png\"><img loading=\"lazy\" decoding=\"async\" width=\"528\" height=\"623\" data-id=\"2666\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/unknown.png\" alt=\"\" class=\"wp-image-2666\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/unknown.png 528w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/unknown-254x300.png 254w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"414\" height=\"482\" data-id=\"2667\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture-1.png\" alt=\"\" class=\"wp-image-2667\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture-1.png 414w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture-1-258x300.png 258w\" sizes=\"auto, (max-width: 414px) 100vw, 414px\" \/><\/a><\/figure>\n<figcaption class=\"blocks-gallery-caption\">Premier prototype<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons alors cr\u00e9\u00e9 une deuxi\u00e8me pi\u00e8ce afin d&#8217;avoir l\u2019axe de la cam\u00e9ra dans l&#8217;axe du robot et plus haute pour obtenir un espace d\u2019action plus large. Malheureusement, le rayon d\u2019action du bras \u00e9tait inf\u00e9rieur \u00e0 l\u2019espace per\u00e7u par la cam\u00e9ra. Cela n\u2019avait pas d\u2019int\u00e9r\u00eat.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/06\/Capture.png\"><img loading=\"lazy\" decoding=\"async\" width=\"414\" height=\"606\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/06\/Capture.png\" alt=\"\" class=\"wp-image-2721\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/06\/Capture.png 414w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/06\/Capture-205x300.png 205w\" sizes=\"auto, (max-width: 414px) 100vw, 414px\" \/><\/a><figcaption>Deuxi\u00e8me prototype<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il a donc fallu fabriquer une 3<sup>\u00e8me<\/sup> pi\u00e8ce qui cette fois a fonctionn\u00e9.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture3.png\" alt=\"\" class=\"wp-image-2661\" width=\"476\" height=\"537\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture3.png 473w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture3-266x300.png 266w\" sizes=\"auto, (max-width: 476px) 100vw, 476px\" \/><\/a><figcaption>Troisi\u00e8me prototype<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3) Le traitement des images issues de la cam\u00e9ra<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la d\u00e9tection des cubes et de leur couleur, nous nous sommes concentr\u00e9s d\u2019abord sur la couleur bleue. Pour obtenir les coordonn\u00e9es des cubes \u00e0 partir de l\u2019image prise par la cam\u00e9ra, il va falloir effectuer plusieurs \u00e9tapes de traitement de l\u2019image. Nous allons effectuer toutes ces \u00e9tapes dans notre programme en python. Cela nous a permis de r\u00e9cup\u00e9rer les coordonn\u00e9es du cube pour que la pince puisse ensuite le saisir. Nous avons fait la m\u00eame chose pour les cubes vertes et rouges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous nous sommes rendus compte que la d\u00e9tection n\u00e9cessite une bonne luminosit\u00e9. Nous avons compris que l\u2019\u00e9clairage doit \u00eatre uniforme dans toute la zone pour \u00e9viter les zones d\u2019ombre et ainsi bien rep\u00e9rer tous les cubes. Nous nous sommes donc procur\u00e9s une lampe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4) Programmer le robot pour permettre le d\u00e9placement et le tri des pi\u00e8ces<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, notre objectif \u00e9tait que le robot range les cubes dans les zones de leur couleur correspondante. Pour cela, il ne devait pas confondre les coordonn\u00e9es des cubes et celles de leur zone de rangement. Il a donc \u00e9t\u00e9 n\u00e9cessaire de r\u00e9aliser des zones de rangement plus grandes que les cubes pour que la pince puisse bien rep\u00e9rer les cubes et les positionner au bon endroit. Une fois les coordonn\u00e9s des cubes et des zones de rangements r\u00e9cup\u00e9r\u00e9s, nous avons programm\u00e9 le robot afin par exemple qu&#8217;il saisisse une pi\u00e8ce bleu et qu&#8217;il la d\u00e9pose dans la zone de rangement bleue.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" data-id=\"2725\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture6-1024x622.png\" alt=\"\" class=\"wp-image-2725\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture6-1024x622.png 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture6-300x182.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture6-768x467.png 768w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture6-494x300.png 494w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture6.png 1453w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"624\" data-id=\"2727\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2022\/05\/Capture7-1024x624.png\" alt=\"\" class=\"wp-image-2727\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture7-1024x624.png 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture7-300x183.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture7-768x468.png 768w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture7-493x300.png 493w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2022\/05\/Capture7.png 1450w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<figcaption class=\"blocks-gallery-caption\">D\u00e9tection des cubes et des zones de trie par le programme<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/files.u-angers.fr\/data\/f-295914de04f15b8e.mp4\"><\/video><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Bilan<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Gr\u00e2ce \u00e0 l\u2019importance de la communication et du travail d\u2019\u00e9quipe au sein de notre groupe, nous avons r\u00e9ussi \u00e0 atteindre notre objectif. Notre robot effectue les t\u00e2ches qui nous avaient \u00e9t\u00e9 confi\u00e9es en d\u00e9but de projet. Ce projet nous a d\u2019autre part permis de d\u00e9velopper nos comp\u00e9tences en CAO, en programmation et surtout nous a offert des connaissances en robotique. Nous tenons \u00e0 remercier encore une fois toutes les personnes ayant contribu\u00e9 et encadr\u00e9 ce projet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Merci pour votre lecture !<br>Corentin, Matis, Simon et Schawal<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Salut les polypotes ! Nous sommes Matis LEMOINE, Simon BODIN, Schawal BACAR et Corentin PICCIN, \u00e9tudiants en deuxi\u00e8me ann\u00e9e de cycle pr\u00e9paratoire int\u00e9gr\u00e9 \u00e0 Polytech Angers. Pour notre quatri\u00e8me semestre, nous sommes amen\u00e9s \u00e0 mettre en \u0153uvre un projet, de &hellip; <a href=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/2022\/06\/01\/tri-de-pieces-avec-le-robot-dobot-magicien-et-une-camera-embarquee\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":86403,"featured_media":2584,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[522],"tags":[193,267,444,39,243,215,104,454],"class_list":["post-2549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-522","tag-angers","tag-camera","tag-dobot","tag-impression-3d","tag-polytech-angers","tag-programmation","tag-projet-ei2","tag-traitement-dimage"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/2549","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\/86403"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/comments?post=2549"}],"version-history":[{"count":22,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/2549\/revisions"}],"predecessor-version":[{"id":3620,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/2549\/revisions\/3620"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media\/2584"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media?parent=2549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/categories?post=2549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/tags?post=2549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}