{"id":1026,"date":"2019-06-25T11:35:49","date_gmt":"2019-06-25T10:35:49","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/?p=1026"},"modified":"2019-06-25T10:58:20","modified_gmt":"2019-06-25T09:58:20","slug":"bras-robot","status":"publish","type":"post","link":"https:\/\/blog.univ-angers.fr\/polytech_2A\/2019\/06\/25\/bras-robot\/","title":{"rendered":"Bras Robot"},"content":{"rendered":"<p>Salut les Polypotes !<\/p>\n<p>       Actuellement en deuxi\u00e8me ann\u00e9e de cycle pr\u00e9paratoire ing\u00e9nieur, nous avons choisi de nous int\u00e9resser \u00e0 la robotique dans le cadre de notre projet de conception. Notre groupe se compose de Victor, Emma et Stanislas. Nous sommes trois \u00e9tudiants souhaitant rejoindre la fili\u00e8re SAGI, la robotique nous int\u00e9resse donc tout particuli\u00e8rement. Le projet du bras robot nous a permis d\u2019avoir une premi\u00e8re approche de ce domaine, de d\u00e9couvrir le fonctionnement des actionneurs et du microcontr\u00f4leur (carte Arduino Uno). De plus, nous avons eu l&#8217;occasion de nous essayer \u00e0 la cin\u00e9matique afin de mod\u00e9liser notre bras sur Matlab ou Python. Notre professeur r\u00e9f\u00e9rent, M.Chatti nous a guid\u00e9 \u00e9tape par \u00e9tape tout du long de notre projet.<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_3467.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_3467-300x259.png\" alt=\"IMG_3467\" width=\"300\" height=\"259\" class=\"alignnone size-medium wp-image-1033\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_3467-300x259.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_3467-347x300.png 347w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_3467.png 750w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>       Au commencement de notre projet, nous avons re\u00e7u le bras tel qu\u2019il est sur la photo ci &#8211; dessus. Il venait d\u2019\u00eatre fabriqu\u00e9 \u00e0 l\u2019aide de l\u2019imprimante 3D \u00e0 Polytech Angers et \u00e9tait compos\u00e9s de 6 servomoteurs qui effectuent des rotations lui permettant de se d\u00e9placer dans toutes les direction de l\u2019espace. A premi\u00e8re vue, nous avons d\u00e9cel\u00e9 quelques d\u00e9fauts, par exemple, certains servomoteurs n\u2019avaient pas un assez grand couple pour soulever le bras et porter un objet, de plus d&#8217;autres ne fonctionnaient m\u00eame pas.<\/p>\n<p>       Pour commencer nous avons d\u00e9cid\u00e9 de nous int\u00e9resser aux actionneurs; les servomoteurs. Il fallait les tester afin d&#8217;\u00eatre s\u00fbr de leur bon fonctionnement. Pour ce faire nous avons utilis\u00e9 des potentiom\u00e8tres ainsi qu&#8217;une carte Arduino. Les potentiom\u00e8tres avaient pour objectif de donner une consigne au microcontr\u00f4leur qui avait lui m\u00eame pour but d&#8217;envoyer un signal aux actionneurs, les servomoteurs. Nous avons simul\u00e9 notre programme et nos branchements sur le logiciel TinKerCad.<\/p>\n<p><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/tinkercad.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/tinkercad-300x150.png\" alt=\"tinkercad\" width=\"300\" height=\"150\" class=\"alignnone size-medium wp-image-1034\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/tinkercad-300x150.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/tinkercad-500x250.png 500w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/tinkercad.png 568w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>       Apr\u00e8s avoir test\u00e9 et chang\u00e9 les servomoteurs qui ne fonctionnaient pas bien nous nous sommes occup\u00e9s de connecter la carte Arduino au smartphone. Pour ceci on a utilis\u00e9 un module Bluetooth \u00e0 brancher sur la carte, et une application Android que nous avons cr\u00e9\u00e9 \u00e0 l&#8217;aide d&#8217;une application d\u00e9velopp\u00e9e par Google et le MIT; MIT app inventor, qui permet de cr\u00e9er des applications installables sur tous les smartphones Android.<br \/>\n<div id=\"attachment_1241\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/MIT-IMAGE.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1241\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/MIT-IMAGE-300x168.png\" alt=\"Interface de MIT app inventor avec notre code en block\" width=\"300\" height=\"168\" class=\"size-medium wp-image-1241\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/MIT-IMAGE-300x168.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/MIT-IMAGE-1024x576.png 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/MIT-IMAGE-500x281.png 500w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/MIT-IMAGE.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1241\" class=\"wp-caption-text\">Interface de MIT app inventor<\/p><\/div><br \/>\n       Nous avons configur\u00e9 l&#8217;interface de l&#8217;application pour y installer six curseurs (un pour chaque moteur) et ainsi contr\u00f4ler toutes les articulations du bras.<br \/>\n<a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/Screenshot_2019-06-24-19-02-17-529_appinventor.ai_emmalhe99.projet_peip2_unepage.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/Screenshot_2019-06-24-19-02-17-529_appinventor.ai_emmalhe99.projet_peip2_unepage-144x300.png\" alt=\"\" width=\"144\" height=\"300\" class=\"alignnone size-medium wp-image-1244\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/Screenshot_2019-06-24-19-02-17-529_appinventor.ai_emmalhe99.projet_peip2_unepage-144x300.png 144w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/Screenshot_2019-06-24-19-02-17-529_appinventor.ai_emmalhe99.projet_peip2_unepage-492x1024.png 492w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/Screenshot_2019-06-24-19-02-17-529_appinventor.ai_emmalhe99.projet_peip2_unepage.png 1080w\" sizes=\"auto, (max-width: 144px) 100vw, 144px\" \/><\/a><br \/>\n       L&#8217;application, une fois connect\u00e9e au module Bluetooth de la carte, envoie un signal Bluetooth \u00e0 chaque d\u00e9placement d&#8217;un curseur, qui indique le moteur concern\u00e9 ainsi que la position d\u00e9sir\u00e9e par l&#8217;utilisateur. La carte re\u00e7oit ce signal et pilote les servomoteurs en fonction de la position donn\u00e9e.<br \/>\nSur l&#8217;image ci-dessus on peut voir deux boutons clap num\u00e9rot\u00e9s 1 et 2. Ce sont les boutons sc\u00e9nario. Sur Arduino, nous avons programm\u00e9 un encha\u00eenement de positions pour chaque servomoteur qui va cr\u00e9er un mouvement en r\u00e9p\u00e9tition, ce qui permet de r\u00e9p\u00e9ter une action comme on peut voir dans la vid\u00e9o ci-dessous, o\u00f9 le bras vide une bo\u00eete de chewing-gum puis la replace \u00e0 un autre endroit.<br \/>\n<div style=\"width: 584px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1026-1\" width=\"584\" height=\"329\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/efectum3701888492624873290.mp4?_=1\" \/><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/efectum3701888492624873290.mp4\">https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/efectum3701888492624873290.mp4<\/a><\/video><\/div><br \/>\n       Nous avons aussi ajout\u00e9 \u00e0 notre programme un moyen d&#8217;enregistrer les positions de servomoteurs envoy\u00e9es depuis l&#8217;application pour ensuite r\u00e9p\u00e9ter automatiquement la s\u00e9rie mouvement demand\u00e9 pr\u00e9c\u00e9demment par l&#8217;utilisateur, pour que chacun puisse cr\u00e9er son propre sc\u00e9nario directement depuis l&#8217;application.<\/p>\n<p><strong>Cin\u00e9matique directe\/inverse:<\/strong><br \/>\n       Par la suite, nous nous sommes renseign\u00e9s sur:<br \/>\n&#8211; La <em>cin\u00e9matique directe<\/em>(calculer la position finale de la pince \u00e0 partir des positions de toutes les articulations.)<br \/>\n&#8211; La <em>cin\u00e9matique inverse<\/em>(calculer les positions n\u00e9cessaires aux articulations pour obtenir une position finale du bras, \u00e0 partir de la position de la pince.)<br \/>\nCependant, par manque de temps, nous n&#8217;avons pas pu approfondir la cin\u00e9matique inverse. Avec une \u00e9tude de cin\u00e9matique inverse nous pourrions donner une position en X,Y,Z d&#8217;un objet et le bras ferait les mouvements n\u00e9cessaires pour que la pince atteigne cette position le plus rapidement possible. <\/p>\n<p>Pour la cin\u00e9matique directe, il est possible de calculer la position finale de la pince avec plusieurs approches diff\u00e9rentes, par exemple \u00e0 l&#8217;aide des relations trigonom\u00e9triques existantes dans un triangle rectangle ou \u00e0 l&#8217;aide d&#8217;\u00e9quations de cercles. Nous avons donc fait des programmes sur Python et Matlab pour effectuer ces calculs, ce qui nous \u00e0 permis de mod\u00e9liser le bras en fonction des positions qu&#8217;on lui \u00e0 donn\u00e9.<div id=\"attachment_1261\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/pas-bien1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1261\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/pas-bien1-300x271.png\" alt=\"Interface final  de la cinematique du bras, sur matlab\" width=\"300\" height=\"271\" class=\"size-medium wp-image-1261\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/pas-bien1-300x271.png 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/pas-bien1-331x300.png 331w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/pas-bien1.png 562w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1261\" class=\"wp-caption-text\">Interface finale  de la cin\u00e9matique du bras, sur Matlab<\/p><\/div><\/p>\n<p><strong>Probl\u00e8mes:<\/strong><br \/>\n       Quelques probl\u00e8mes sont apparus, li\u00e9s aux branchements et \u00e0 la puissance des servomoteurs, nous avons donc eu besoin de changer deux des 6 servomoteurs car il avaient besoin d&#8217;un plus grand couple. Nous avons donc achet\u00e9 deux servomoteurs d&#8217;un couple sup\u00e9rieur \u00e0 20kg.cm pour soulever le bras. Nos anciens servomoteurs ne d\u00e9passaient pas 13kg.cm. Les nouveaux moteurs n&#8217;\u00e9tant pas de la m\u00eame taille, nous avons imprim\u00e9 une nouvelle pi\u00e8ce adapt\u00e9e aux nouvelles dimensions(en blanc ci-dessous).   <\/p>\n<p>       <a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190605_182438-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190605_182438-1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" class=\"alignnone size-medium wp-image-1254\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190605_182438-1-300x225.jpg 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190605_182438-1-1024x768.jpg 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190605_182438-1-400x300.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n       Malgr\u00e9 l&#8217;acquisition de moteurs plus puissants, nous avions toujours des probl\u00e8mes pour contr\u00f4ler le bras. Ces probl\u00e8mes \u00e9taient en fait d\u00fb au manque d&#8217;alimentation, la carte Arduino avait du mal \u00e0 alimenter les 6 servomoteurs. Nous avons donc branch\u00e9 la moiti\u00e9 des moteurs sur un g\u00e9n\u00e9rateur pour leurs fournir 6V et ainsi leur donner une plus grande puissance, ce qui a fonctionn\u00e9, puisque nous avons fini par faire fonctionner parfaitement le bras avec une charge dans la pince.<\/p>\n<p>       Pour finir, nous avons trouv\u00e9 ce projet tr\u00e8s int\u00e9ressant car il nous \u00e0 permis d&#8217;approfondir nos connaissances en robotique et de d\u00e9couvrir de nouvelles choses telles que la cin\u00e9matique qui nous sera probablement tr\u00e8s utiles pour la suite de nos \u00e9tudes.<\/p>\n<p>Merci de nous avoir lu jusqu&#8217;au bout! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Salut les Polypotes ! Actuellement en deuxi\u00e8me ann\u00e9e de cycle pr\u00e9paratoire ing\u00e9nieur, nous avons choisi de nous int\u00e9resser \u00e0 la robotique dans le cadre de notre projet de conception. Notre groupe se compose de Victor, Emma et Stanislas. Nous sommes &hellip; <a href=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/2019\/06\/25\/bras-robot\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":56350,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[187],"tags":[327,43,252,326,116,325,329,153,324,328],"class_list":["post-1026","post","type-post","status-publish","format-standard","hentry","category-187","tag-application","tag-arduino","tag-bluetooth","tag-bras","tag-cinematique","tag-matlab","tag-potentiometres","tag-python","tag-robotique","tag-servomoteurs"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/1026","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\/56350"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/comments?post=1026"}],"version-history":[{"count":0,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/1026\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media?parent=1026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/categories?post=1026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/tags?post=1026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}