Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jetson AGX Xavierで産業用ロボットを制御してみた

Jetson AGX Xavierで産業用ロボットを制御してみた

第5回 Jetson Japan User Groupオンラインイベントにて発表させて頂いた内容です。物体認識やゲームコントローラーで産業用ロボットを動かしたお話になります。
発表時の動画URL
https://www.youtube.com/watch?v=fzaxb_Qx9co&t=3187s

This is the content announced at the 5th Jetson Japan User Group online event.
This is a story about moving an industrial robot with object recognition and a game controller.

8c31565cfdde47e726fef0585fa5f5b9?s=128

norihide mikami

May 15, 2021
Tweet

More Decks by norihide mikami

Other Decks in Technology

Transcript

  1.  ୈճ+FUTPO+BQBO6TFS(SPVQΦϯϥΠϯΠϕϯτ 9BWJFSͰ࢈ۀ༻ϩϘοτΛ੍ޚͯ͠Έͨ ೥݄೔

  2.  ͝ѫࡰ ̐̌ࡀΛ໨લʹɺਓੜ௕͘ͳ͍ͱࢥ͍೥ʹ'"ۀքͷձࣾΛࣙΊͯಠཱɻ ݱࡏɺݸਓࣄۀओͰ̑೥໨ɻେࡕͰੜ࢈ઃඋͷ*P5ԽΛओͳࣄۀͱ͓ͯ͠Γ·͢ɻ ࡾ্యल Έ͔ΈɹͷΓͻͰ εϦʔΞοϓɾςΫϊϩδʔ୅ද ̛̖ΤϯδχΞ +FUTPOྺɿ̎೥̎ϲ݄ +FUTPOߪೖ୆਺ɿ̔୆

  3.  ϩϘοτେ޷͖ਓؒͰ͢ɾɾɾ ̍̓̕̕ ̎̌̌̌ ̎̌̍̎ ̎̌̌̎ ̎̌̌̓ ۙـϩϘίϯ༏উ ϩϘ૬๾શࠃେձ ೋ଍าߦϩϘοτ։ൃ

    େֶٕज़ߨࢣ ̞̩̾૷ஔ։ൃ
  4.  "*ºϩϘοτͰىۀ͠Α͏ͱࢥͬͨ ೥(PPHMFϑΥτ ʹͯΠνΰ͕ݕࡧग़དྷΔ Α͏ʹͳΓিܸΛड͚Δ ೥ձࣾΛࣙΊͯ࢈ۀ༻ ϩϘοτͱ"*Λਅ݋ʹߟ͑Δ ͔͠͠ɺ೥ͷஈ֊Ͱ͸෺ମݕग़ʢ0CKFDU%JUFDUJPOʣ͸ະ੒ख़Ͱͨ͠ɻ

  5.  ຊ೔ͷΞδΣϯμ ̍ɽ9BWJFSͰ࢈ۀ༻ϩϘοτΛ੍ޚͯ͠Έͨ ̎ɽ"*ݱ৔ӡ༻ʹ͍ͭͯ

  6. 9BWJFSͰ࢈ۀ༻ϩϘοτΛ੍ޚͯ͠Έͨ

  7.  ͸͡Ίʹɾɾɾ ࠓճ͓࿩ͤͯ͞௖͘಺༰͸ʮ304ʯͰ͸͋Γ·ͤΜɻ 304Ͱ੍ޚͱظ଴͞Ε͍ͯͨํɺ͢Έ·ͤΜɻ ػց෦඼૊ΈཱͯͷࣗಈԽΛ໨తͱ͍ͯ͠·͢ͷͰɺϩϘοτ ͷಈ࡞͸ϝʔΧʔඪ४ͷʮ#"4*$ݴޠʯͰ͢ɻ .&-'"#"4*$7* ͔͠͠࠷ۙɺ࢈ۀ༻ϩϘοτʴ304΋ؾʹͳͬͯ·͢ɻ ৄ͍͠ํɺͥͻڭ͑ͯԼ͍͞ɻ IUUQTZPVUVCFK:KL0KU;$H

    IUUQTZPVUVCFM4NM*4[33@2 IUUQTZPVUVCFPJ9QEWV6EX ؾʹͳΔಈըͭ
  8.  ຊ೔͓࿩ͤͯ͞௖͘ͷ͸ҎԼ̎఺Ͱ͢ ̍ɽ෺ମೝࣝ ̎ɽ%VBM4IPDL 9BWJFS͔Βࢦྩ

  9.  ࢈ۀ༻ϩϘοτͳΜͰॴ༗ͯ͠Δͷʁ ܦࡁ࢈ۀলͱ/&%0͕ओ࠵͢ΔࠃࡍϩϘοτڝٕձʮ834ʯ ʹग़৔͢ΔͨΊɺϩϘοτϝʔΧʔ͔Β̎୆͓आΓ͍ͯ͠·͢ɻ ̎̌̍̔೥݄̒̎̌೔ʹ΍ͬͯདྷ·ͨ͠ɻ ΋ͷͮ͘ΓΧςΰϦʔʹνϟϨϯδ͍ͯ͠·͢ɻ

  10.  ϩϘοτڝٕձ834ͱ͸ʁ Θ͔Γ΍͘͢ݴ͏ͱɺ౦ژΦϦϯϐοΫʹ߹Θͤͨɺ 
 ϩϘοτ൛ΦϦϯϐοΫΈ͍ͨͳ΋ͷͰ͢ʢࡶͳදݱʣ 
 ΦϦϯϐοΫԆظʹ߹Θͤͯɺ̎̌̎̍೥౓ʹ։࠵༧ఆɻ IUUQTXPSMESPCPUTVNNJUPSH

  11.  ͚ͬ͜͏ΨνͳେձͰ͢ ɾ̎̌̍̔೥͸ւ֎̔νʔϜɺ೔ຊ̔νʔϜ ɾɺͱ౦ژϏοάαΠτͰ։࠵ ɾຊେձ͸ࠓ೥౓຤ʹ༧ఆ

  12.  ϩϘοτͰԿΛ͢Δͷʁ ɾύʔπτϨΠʹϥϯμϜʹ഑ஔ͞Εͨ̍̐छྨͷύʔπ ΛϩϘοτ͕ࣗಈͰ૊Έཱͯ·͢ɻ ׬੒ʂ

  13.  ΨνͰ೉͍͠Ϡπ΍Μʂʂ ૊Έཱͯޙ͕͜Εɾɾɾ

  14.  ඞཁͳγεςϜߏ੒Λݕ౼ ɾෳࡶͳ૊ཱ࡞ۀɺϩϘοτͰग़དྷΔ͔࣮ূ࣮ݧ͕ඞཁ ɹ㱺ɹήʔϜίϯτϩʔϥʔͰࣗ༝ʹಈ͔ͯ͠ࢼ͍ͨ͠ ɾόϥόϥʹ഑ஔ͞Εͨ̍̐छྨͷύʔπΛऔΓग़͞ͳ͚Ε͹ͳΒͳ͍ ɹ㱺ɹߴՁͳϚγϯϏδϣϯγεςϜ͕ඞཁɻ ɹɹʢΩʔΤϯεɺ$BOPOɺ֤ࣾϩϘοτϝʔΧʔͳͲʣ ϩϘοτϏδϣϯγεςϜɺ̍̌̌ʙ̏̌̌ສԁ͠·͢ɻ 
 ̏%ରԠ͸΋ͬͱߴֹʂʂ

    ݸਓࢀՃͳͷͰɺແཧʂʂʂ "*ͰͳΜͱ͔ͳΒͳ͍͔ʁ ଞνʔϜ͸༗໊େֶ͔اۀͰ͢ɻ
  15.  ը૾ೝࣝͰ࢖༻ͨ͠ϥΠϒϥϦ w 5FOTPS'MPX 
 5FOTPS'MPXͱ͸ɺ(PPHMF͕։ൃ͠ΦʔϓϯιʔεͰެ։ͯ͠ ͍Δɺػցֶशʹ༻͍ΔͨΊͷιϑτ΢ΣΞϥΠϒϥϦͰ͋ Δɻ w ,FSBT3FUJOBOFU

    
 ೥݄೔ఏग़͞Εͨ࿦จʮ'PDBM-PTTGPS%FOTF 0CKFDU%FUFDUJPOʯΛɺ೥"NB[POϐοΩϯάνϟϨϯ δʹͯ༏উͨ͠ϝϯόʔ͕ઃཱͨ͠Φϥϯμͷ'*;:3͕ϓϩά ϥϜ࣮૷ͨ͠෺ମݕग़ιϑτ΢ΣΞɻ 
 IUUQTHJUIVCDPN fi [ZSLFSBTSFUJOBOFU ࢀߟʹͨ͠هࣄ https://medium.freecodecamp.org/object-detection-in-colab-with-fizyr-retinanet-efed36ac4af3
  16.  +&540/಺෦͸1ZUIPOͰߏங ݕग़݁Ռ͸+40/ʹͯ͠6%1ιέοτͰ/PEF3&%΁

  17.  ̎̌̍̕೥"*෺ମೝࣝͷಈը IUUQTZPVUVCF,Y'HG7'S.

  18.  ̎̌̍̕೥ը૾ೝࣝγεςϜߏ੒ਤ

  19.  ̎̌̍̕೥ͷ੍ޚ൫͸͜Μͳײ͡ɾɾɾ ਪ࿦ίϯϐϡʔλ +&540/ ҆શճ࿏༻1-$

  20.  ̎̌̍̕೥ͷը૾ೝࣝੑೳ w Χϝϥɹɾɾɾɹ64#ɹ̎%Χϝϥ w ೝࣝର৅෺ɹɾɾɾɹΧϝϥʹࣸΔ΋ͷͰ͋Ε͹ɺೝࣝՄೳ 
 ͨͩ͠ɺQJYҎ্͕ඞཁʢQJYҎ্ਪ঑ʣ w ݕग़಺༰ɹɾɾɾɹ෺ମͷ9:࠲ඪʢճస֯͸ݱঢ়೉͍͠ʣ

    w ਪ࿦࣌ؒɹɾɾɾɹºQJYʹͯ໿ඵ w ֶश࣌ؒɹɾɾɾɹ໿̏࣌ؒఔ౓ʢ(PPHMF$PMBCPSBUPSZແྉ؀ڥʣ w ֶशຕ਺ɹɾɾɾɹࣸਅຕఔ౓ʢϑΝΠϯνϡʔχϯάʣ ར༻؀ڥ +VQZUFSOPUFCPPL (PPHMF$PMBCPSBUPSZ
  21.  ֶशΛେձձ৔Ͱߴ଎ʹճ͢ʂ ࡱӨɺڭࢣσʔλ࡞੒ Ϋϥ΢υֶश ݱ৔ਪ࿦ ਪ࿦݁Ռ +1(9.- σʔλඍमਖ਼ ʮݱ৔Ͱࡱ૾ʯʮϗςϧͰֶशʯ ཌ೔ʹ͸ΊͬͪΌೝࣝͤ͞Δ࡞ઓʂ

    (PPHMF$PMBCPSBUPSZ -BCFM*NH
  22.  Ξϊςʔγϣϯιϑτʢ-BCFM*NHʣ IUUQTHJUIVCDPNU[VUBMJOMBCFM*NH "OOPUBUJPOTBSFTBWFE BT9.- fi MFTJO 1"4$"-70$GPSNBU

  23.  Ϋϥ΢υֶश؀ڥͷઆ໌ʢ(PPHMF$PMBCPSBUPSZʣ ࢀߟࢿྉʲඵ଎Ͱແྉ(16Λ࢖͏ʳਂ૚ֶश࣮ફ5JQTPO$PMBCPSBUPSZ IUUQTRJJUBDPNUPNP@NBLFTJUFNTCDCGCBB $PMBCPSBUPSZ͸ɺແྉͰ࢖͏͜ͱ͕Ͱ͖ɺ΄ͱΜͲͷओཁϒϥ΢βͰಈ࡞͢Δɺ ઃఆෆཁͷ+VQZUFSϊʔτϒοΫ؀ڥͰ͢ɻ(PPHMF͕ɺػցֶशͷڭҭɺݚڀ༻ ʹ࢖ΘΕΔ͜ͱΛ໨తʹɺແঈఏڙ͍ͯ͠·͢ɻ

  24.  େձ΁ࢀՃ͢ΔҝʹτϥοΫνϟʔλʔศʢࣗඅʣ ԟ෮ӡૹඅສԁɾɾɾ

  25.  ձ৔޿͍

  26.  ిؾ޻ࣄେมɾɾɾ

  27.  ҆શ৹ࠪݫ͍͠

  28.  େձͷ༷ࢠ

  29.  834૊Έཱͯಈը IUUQTZPVUVCF2"V1MC"

  30.  834ʹ޲͚ͯվྑΛݕ౼ɾɾɾ ɾ΋ͬͱೝࣝਫ਼౓্͍͛ͨɻʢഎܠʹӨڹ͞ΕΔʣ ɾ9BWJFSͷ1ZUIPO؀ڥߏஙΊΜͲ͍͘͞ɻʢ͍͍ͩͨ̎೔͔͚ͯͨʣ ɾֶश࣌ؒૣ͘ͳΒͳ͍ͷʁʢ̎ʙ̏࣌ؒʣ ͷਓؾ͕ߴ͘ͳ͖͍ͬͯͯΔͷͰؾʹͳΔɾɾɾ

  31.  ݟ͚ͭͨʂɹ%FUFDUSPO͕ੌ͍ʂʂ ͖͔͚ͬ͸:PV5VCFͰϥζύΠͱ&41Λೝࣝ ͍ͤͯ͞ΔಈըͰ஌Δɻ IUUQTZPVUVCF&M"7-:B78HL ɾ'BDFCPPL"*3FTFBSDI͕։ൃ ϥΠηϯεɿ"QBDIF-JDFOTF ϝΠϯ։ൃऀ͸:VYJO8Vɹਗ਼՚େֶ㱺ΧʔωΪʔ ϝϩϯେֶम࢜㱺'BDFCPPL"*3FTFBSDI ೥݄ʹެ։

    IUUQTHJUIVCDPNGBDFCPPLSFTFBSDIEFUFDUSPO ͜Εɺ+FUTPO"(99BWJFSʹࡌΒͳ͍͔ͳɾɾɾ ɾηάϝϯςʔγϣϯ ɾֶश଎౓̏ഒ
  32.  9BWJFSʹ%FUFDUSPO࣮૷Ͱ͖ͨʂ ̍ɽ࠷৽ͷ+FUQBDLΛೖΕΔʢݱࡏ7FSʣ ̎ɽΞοϓσʔτͱΞοϓάϨʔυ $ sudo apt-get update $ sudo

    apt-get upgrade ̏ɽ1Z5PSDIͱ5PSDI7JTJPOΠϯετʔϧ ɾԼه࠷৽৘ใΛݩʹ͢ΜͳΓΠϯετʔϧʢ/7*%*"͞ΜؤுͬͯΔʂʣ ɹɹࠓͳΒόʔδϣϯ͸1Z5PSDIWUPSDIWJTJPOW IUUQTGPSVNTEFWFMPQFSOWJEJBDPNUQZUPSDIGPSKFUTPOWFSTJPOOPXBWBJMBCMF ̐ɽEFUFDUSPOΠϯετʔϧ $ git clone https://github.com/facebookresearch/detectron2.git $ python3 -m pip install -e detectron2 ͜ΕͰɺ؀ڥߏங׬ྃͰ͢ʂʂ 3".ͷফඅྔͰ͕͢ɺϞσϧಡΈࠐΈ࣌ʹ̓(#ఔ࢖༻͠·͢ɻ ϝϞϦ(#ͷ59̎͸ಈ͖·͕ͨ͠ɺOBOP͸ಈ͖·ͤΜͰͨ͠ɻ
  33.  Ξϊςʔγϣϯπʔϧ MBCFMNF IUUQTHJUIVCDPNXLFOUBSPMBCFMNF

  34.  834γεςϜߏ੒

  35.  ੍ޚ൫ʹ9BWJFS౥ࡌ

  36.  %FUFDUSPOͰύʔπΛೝࣝͯ͠औΓग़͢ಈը IUUQTZPVUVCFP*24/F2;YH

  37.  ੍ޚܥ͸/PEF3&%࢖ͬͯ·͢ +&540/"(99BWJFS /PEF3&% 8&#4PDLFU #MVFUPPUI 64# 5$1 6%1 ࡾඛϩϘοτ

  38.  ϒϥ΢β্ͷ(6*Ͱ։ൃͰ͖Δ ビジ ϡ Ξϧ プ ϩ グ ϥϛϯ グ

    πʔϧɻ ௨৴ؔ܎ͷϊʔυ͕ॆ࣮͓ͯ͠Γɺ *P5։ൃʹద͍ͯ͠Δɻ ࠃ಺Ͱ͸ɺ೔ཱɺ/&$ɺ෋࢜௨͕࠾༻ Φʔϓϯιʔεɾιϑτ΢ΣΞ ϥΠηϯεɿ"QBDIF-JDFOTF 
 ݴޠɿ+BWBTDSJQU /PEF3&%ͱ͸ IUUQTHJUIVCDPNOPEFSFEOPEFSFE
  39.  +FUTPO΁ͷ/PEF3&%Πϯετʔϧ curlΠϯετʔϧ TVEPBQUJOTUBMMDVSM /PEF3&%ΠϯετʔϧεΫϦϓτ CBTI DVSMT-IUUQTSBXHJUIVCVTFSDPOUFOUDPNOPEFSFEMJOVY JOTUBMMFSTNBTUFSEFCVQEBUFOPEFKTBOEOPEFSFE &33΍8"3/͕ग़·͕͢ɺ໰୊͋Γ·ͤΜɻ /PEF3&%ࣗಈىಈ

    IUUQTOPEFSFEPSHEPDTHFUUJOHTUBSUFESBTQCFSSZQJ TVEPTZTUFNDUMFOBCMFOPEFSFETFSWJDF TVEPSFCPPU /PEF3&%ͷ࢝Ίํ MPDBMIPTU ΤσΟλىಈ͠·͢
  40.  ϓϨεςίϯτϩʔϥʔͰࣗ༝ʹಈ͔͍ͨ͠ʂ ϩϘοτϝʔΧʔͷίϯτϩʔϥʔ ̍࣠ͮͭϘλϯԡ͢λΠϓ ΞφϩάεςΟοΫͰ શ࣠άϦάϦಈ͔͍ͨ͠

  41.  +FUTPO%VBM4IPDL઀ଓํ๏ δϣΠεςΟοΫGUI֬ೝπʔϧΠϯετʔϧ TVEPBQUJOTUBMMKTUFTUHUL %VBM4IPDLΛ઀ଓϞʔυʢϑϥογϡ఺໓ʣʹͯ͠ʮ8JSFMFTT$POUSPMMFSʯ Λొ࿥͢Δɻ઀ଓϞʔυɿ4)"3&Ϙλϯʴ14Ϙλϯ௕ԡ̑͠ඵఔ౓ +FUTPOͷ#MVFUPPUI0/ ʴԡ͢

  42.  +FUTPOʹ1ZHBNFΠϯετʔϧ ҎԼιϑτ΢ΣΞແ͍ͱɺΠϯετʔϧ࣌ʹΤϥʔൃੜ TVEPBQUHFUJOTUBMMQZUIPOEFWMJCTEMJNBHFEFWMJCTEMNJYFS EFWMJCTEMUUGEFWMJCTEMEFWMJCTNQFHEFWQZUIPOOVNQZ TVCWFSTJPOMJCQPSUNJEJEFW ff NQFHMJCTXTDBMFEFWMJCBWGPSNBUEFW MJCBWDPEFDEFWMJCGSFFUZQFEFW 1ZHBNFΠϯετʔϧ

    QJQJOTUBMMQZHBNF ˞όʔδϣϯΛΠϯετʔϧग़དྷͣɺϋϚΓ·ͨ͠ɻ Ҏ্Ͱ1ZUIPOϓϩάϥϜ͔Β%VBM4IPDLͷૢ࡞৘ใΛऔಘग़དྷ·͢ɻ
  43.  9BWJFSʹ઀ଓͨ͠%VBM4IPDLͰάϦάϦಈ͔ͯ͠Έͨ IUUQTZPVUVCF7%H[6)Y2'5L

  44. "*ݱ৔ӡ༻ʹ͍ͭͯ

  45.  ͳͥ+FUTPOʹͩ͜ΘΔͷ͔ʁ (16෇͍ͨύιίϯͰ΋ྑ͍ͷͰ͸ʁͱࢥΘΕΔ͔΋͠Ε·ͤΜɻ ͔͠͠ɺ࠷େͷϝϦοτ͸ൃ೤ྔ͕গͳ͍ࣄͰ͢ɻʢ9BWJFSͰ8ʣ ੍ޚ൫ʹ૊ΈࠐΜͰ΋Թ౓্ঢΛ཈͑Δ͜ͱ͕ग़དྷ·͢ɻ ࢲ͸ࠓ·ͰʹϥζύΠΛ̎̌୆Ҏ্ݱ৔ʹઃஔ͖ͯ͠·ͨ͠ɻ 9BWJFSΛݱ৔࣮૷͍ͨ͠ɾɾɾ

  46.  "*੍ޚ൫࡞ͬͪΌ͍·ͨ͠ "*Λ੡଄ۀʹݱ৔ઃஔ͢Δʹ͸ɺ࢈ۀάϨʔυʹରԠ͢Δඞཁ͕͍͟͝·͢ɻ ɹ؀ڥੑೳɿ଱Թ౓ੑɺ଱ৼಈੑɺ଱คਖੑɾ଱༉ੑɾ଱ϊΠζੑɾ௨৴؀ڥͳͲ ͜ΕΒ؀ڥੑೳΛͰ͖Δ͚ͩߟྀͨ͠ϋʔυ΢ΣΞΛ੡࡞͓ͯ͠Γ·͢ɻ "*ίϯϐϡʔλΛΩϟϏωοτ൫ʹ૊ΈࠐΜͰ͝ఏڙՄೳͰ͢ɻ ࢈ۀ༻ΧϝϥɾϨϯζྫ

  47.  ޻৔༻్ʹελϯυ΋੡࡞͍ͯ͠·͢ ޻ۀ༻੩ి༰ྔࣜλονύωϧ σΟεϓϨΠ࠾༻ʂ YΠϯν ઃඋ࿈ܞ༻1-$಺ଂ 1-$ͱ1ZUIPO࿈ܞՄ

  48.  ੜ࢈ઃඋͱͷ࿈ܞ΋ରԠ͠·͢ "*ͷਪ࿦݁ՌΛઃඋͱ࿈ܞ͢Δʹ͸ɺ࢈ۀ༻ͷ৴߸Λૹड৴͢Δඞཁ͕͍͟͝·͢ɻ ࢈ۀ༻Χϝϥ +&540/"(99BWJFS ઃඋ࿈ܞ༻1-$౳ 7৴߸౳ &UIFSOFU ηϯα "*ιϑτ΢ΣΞىಈ৴߸ɺΤϥʔ৴߸ɺϫʔΫͷࣗಈࡱӨɺਪ࿦݁Ռͷ

    ϑΟʔυόοΫͳͲɺઃඋͱͷ࿈ܞʹ͸࢈ۀ༻ͷ৴߸͕ඞཁʹͳΓ·͢ɻ '"ۀքͷܦݧ͕͍͟͝·͢ͷͰɺͲΜͳઃඋͰ΋࿈ܞ͕ՄೳͰ͢ɻ ੜ࢈ઃඋ౳
  49.  ݱ৔ઃஔͷ͝঺հ ϕςϥϯిؾ޻ࣄձࣾͱڠྗͯ͠ɺ"*ɾ*P5૷ஔͷࢪ޻͕ՄೳͰ͢ɻ վ଄Λ൐ͬͨ*P5ػثͷઃஔ͕ܦݧ๛෋Ͱ͢ɻ ઃඋʹ*P5ػثΛվ଄ઃஔͨ͠ྫ ઃඋʹৄ͍͠ਓһͰ͝ରԠՄೳͰ͢ɻ

  50. AI・IoT を使った技術で⽇本の現場に貢献する         ͝ґཔɾ͓໰͍߹Θͤ 8&#αΠτʹΞΫηε http://3up-tec.jp εϦʔΞοϓɾςΫϊϩδʔ ݕࡧ ຊ೔͸وॏͳ͓࣌ؒΛ௖͖ɺ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ