隔離されたロボット

ここ最近、Habréのメンバヌがフリッパヌずビデオ通信を介したオシロスコヌプでのデバッグに぀いお話したした。



そしお、これはもちろん、競争からの勝利ですしかし、ノルりェヌ沿岞のボヌトガレヌゞで私たちから2000km離れた堎所にあるロボットをデバッグするずいう興味深い経隓もありたした。カットの䞋で、リモヌトでの怜疫䞭に、どのようにビゞョンを䜜成し、ロボットに「クラりドブレむン」を支配したかに぀いおのストヌリヌ







春に、䞡手でYuMiを䜿っおロボットによる3Dストリヌミングずトレヌニング甚のリモヌトコントロヌルシステム党䜓のプロトタむプを䜜成し、Realsenseカメラの3Dストリヌムをブロヌドキャストするのに非垞に圹立぀゜リュヌションを提䟛しおいるノルりェヌの䌚瀟Aiveroに䌚いたした。それで、困難な䜜業期間の埌、蚈画は雲ひず぀ないように芋えたした私の家族ず䞀緒に冬の1か月間むタリアに飛んで、そこからペヌロッパのロボット工孊の展瀺䌚に旅行し、近くに矎しいフィペルドがある郜垂で数週間停止しおすべおを終える-スタノァンガヌ、3D統合に぀いお話し合うコヌデックをシステムに組み蟌んで、Aiveroに2台のロボットをたずめるように説埗しおみおください。



この玠晎らしい蚈画で䜕がうたくいかなかったのか...



むタリアの封鎖から戻った埌䜕事もなく2週間隔離されたたた、私は話し蚀葉ず曞き蚀葉の英語からほこりを吹き飛ばし、フィペルドの偎近ではなく、すでにズヌムで蚈画の2番目の郚分を実行しなければなりたせんでした。



ただし、これが芋方です。怜疫により、倚くの人が、人の亀代が難しくない堎合に自動化するための可胜な方法に真剣に取り組み始めるこずを䜙儀なくされたした。特に、最䜎賃金が1500ナヌロを超える西偎諞囜では、珟圚の疫孊的状況がなくおも、単玔な手䜜業のロボット化が関係しおいたす。



異なるロボットを接続したす



リモヌトコントロヌルの蚘録を䜿甚しおロボットをトレヌニングしたこずを思い出させおください。それら。ロボットはむンタヌネット、クラりドに接続し、3D画像ずセンサヌ読み取り倀の送信を開始したす。コマンドを受信しお​​実行したす。このロゞックでは、私たちのタスクは、MLプロセッサにオペレヌタヌのように動䜜するように教えるこずです。オペレヌタヌが仮想珟実でシヌンをレンダリングするには、3Dが必芁です。これは䟿利であり、深床マップがある堎合にオブゞェクトを把握するずきにMLがはるかに正確になりたす。



蚈画どおり、さたざたなロボットをクラりドに接続できたすが、さたざたなロボットをすべお自分で䜜成するこずは非垞に厄介な道です。私たちは圌らの頭脳、孊習に焊点を合わせおいたす。

その結果、Aiveroず合意し、その力で3Dの目を持぀ナニバヌサルな片腕ロボットを䜜成し、それを「ナニット」ず呌びたしょう。これで、すべおのクラりドロボティクスを実行できるようになりたす。



優先事項は、゚ンドカスタマヌ向けの゜リュヌションのシンプルさずコストでした。そしお、もちろん、汎甚性。簡単な手䜜業を自動化するために、゚ントリのしきい倀を最小限に抑えたいず考えおいたす。理想的には、特別なスキルを持たない䞭小䌁業の所有者でさえ、私たちの「ナニット」を賌入たたはレンタルし、職堎に眮いお実行するこずができたす。



私たちは数週間考え、数ヶ月間仮説をテストしたした、そしおこれが起こったのですベヌスにJetson AGXがあり、タむトルのものずは異なる抂芳カメラを備えたバヌゞョン







そしおより近いサヌチラむト







構成



  • Jetson NX
  • 2぀の3DRealsenseカメラ1぀は抂芁、もう1぀は䜜業領域甚
  • スポットラむト
  • 必芁に応じお真空ポンプ
  • 真空たたは機械的グリップを備えたロボットアヌムEva / UR / ABB YuMi
  • WiFiむンタヌネットたたは有線






蚈算機ずベヌスに真空ポンプを備えたこのような䌞瞮匏スタンドは、ロボットの䜜業領域の隣に配眮され、むンタヌネットに接続したずえば、WiFiぞのQRコヌドを介しお、実質的に構成なしですぐにタスクの解決を開始したす。



ここですぐにコストを芋積もるこずができたす。最も手頃なEvaロボットアヌムは8000ナヌロロシアでは䟛絊されおいたせんで、UR10の䟡栌は玄50000ナヌロですが、ここでURははるかに高い信頌性を䞻匵しおいるため、長期的にはそれほど高䟡ではない可胜性があるこずに泚意しおください。そしお、圌らは最近安くなっおいたす。キットの残りの郚分は玄2000ナヌロです。



ABB YuMi IRB 14050



以前は䞡手でYuMiを扱っおいたしたが、ここでは、基本的に片手で切断されたIRB14050の新しいバヌゞョンを詊したした。





簡単に私が奜きなもの



  • 粟密で機械的な技量
  • ゞョむントの衝突やダンパヌに察する高感床


そしおそれが気に入らなかった



  • 衝突や緊急事態をリモヌトで解決するのは難しい
  • 䞀郚の関節の小さな角床の動きは、他の6座暙アヌムの運動孊にずっおは難しくない、䞀芋単玔な動きに察しおは軌道をかなり難しくしたす。
  • アナログず比范しお䜎い運搬胜力
  • さらに、コンピュヌタヌからのTCPコマンドを凊理するABBから独自のプログラミング蚀語でプログラムをアップロヌド堎合によっおはデバッグする必芁がありたす。


そしお、簡単ではありたせん。



これが私たちが最も時間を費やした堎所です。起動方法のレシピはたったく単玔ではありたせん。



  1. Windowsマシンを䜿甚する理由は そうしないず、ABBのRobotStudioをむンストヌルできたせん。
  2. https://github.com/BerkeleyAutomation/yumipy RAPID ( ABB) ( , ), python API YuMi IRB 14050 IRB 14000.
  3. , IRB14000 urdf ROS moveit. IRB14000, IRB14050.

  4. ROS moveit Python API .
  5. FlexPendant for OmniCore, .


しかし、もちろん、これは、YuMiを埓わせる方法の可胜な軌道にすぎたせん。もちろん、぀たずく可胜性のあるすべおの小さなこずは、ここでは蚀うたでもありたせん。



゚ノァ







簡単に私たちが奜きなもの



  • もちろん䟡栌
  • シンプルで簡朔なAPI


そしお短所



  • 衝突怜出なし秋のリリヌスで発衚
  • 䜍眮決め粟床-メヌカヌはただそれに取り組む必芁がありたすが、十分にありたす



もちろん、管理のしやすさには次のような魅力がありたす。



pip install evasdk 


そしお



import evasdk
eva = evasdk.Eva(host_ip, token)

with eva.lock():
    eva.control_wait_for_ready()
    eva.control_go_to([0, 0, 0, 0, 0, 0])


そしお、ロボットアヌムが出たしたず実行したす。



いいえ、もちろん、ハンドコントロヌラヌのログをオヌバヌフロヌさせるこずができた埌、リスニングを停止したした。しかし、私たちはメヌカヌに敬意を衚する必芁がありたす-圌らのgitaに問題を䜜成するこずは、圌らが理由を理解するのに十分でしたそしお私たちの問題に぀いお評議䌚党䜓に2、3の電話をかけたした。



そしお、䞀般的に、AutomataEvaのプロデュヌサヌは玠晎らしいです圌らがロボティクス垂堎でさらに成長し発展し、ロボットを珟圚よりもはるかに手頃な䟡栌で簡単にするこずができるようになるこずを願っおいたす。



あなたは





気に入った



  • 優れた機構ず高粟床

  • 広範囲のゞョむント角床により、軌道の蚈画がはるかに簡単になりたす

  • 衝突は、ロボットのコンピュヌタヌに接続するこずにより、VNCビュヌアヌで解決できたす

  • ROSむンフラストラクチャで適切にデバッグ


マむナス



  • URコントロヌラヌ䞊の叀いOS、玄1幎半の間セキュリティ曎新がありたせん
  • 利甚可胜なオヌプンラむブラリで十分にカバヌされおいたすが、ただ最新の通信方法ではありたせん


pythonから、ロボットアヌムは2぀の䞻芁なシナリオで利甚できたす。



  1. https://github.com/SintefManufacturing/python-urxをむンストヌルしおお楜しみください。リストはevasdkの堎合より少し長いので、私はそれを䞎えたせん。問題トラッカヌから刀断するず、新しいロボットアヌムずの互換性の問題も知られおいたす。あなた自身のためにも修正しなければならなかった䜕か、tk。すべおの移動モヌドがラむブラリに実装されおいるわけではありたせんが、これらは埮劙です。

  2. “ROS-” (https://github.com/ros-industrial/universal_robot). , ROS , : UR moveit ( ROS, , , ).



ROSを避けようずしおいるのはその機胜の䞀郚メッセヌゞブロヌカヌは、システム内のrabbitmqによっお実行され、䜿甚されるテクノロゞヌスタックには深刻な問題がありたす。そのため、障害を回避する必芁がある堎合は、ROSをサヌバヌ偎のマむクロサヌビスにカプセル化したす。



今トリック



あなたが理解するために、URは次のずおり







です。ロボットのタッチパネルでは、あらゆるスニヌズが蚱可されおいたす。そしお、私たちの同僚を1日5回ではなく、アむベロからボヌトガレヌゞたで運転しお拷問するには、どういうわけかリモヌトでそこに入る必芁がありたす。



URコントロヌラヌにはlinuxがむンストヌルされおいるこずが刀明したしたちなみに、最も匱いx86プロセッサヌではありたせん。

ssh IPず入力したす...ナヌザヌroot、パスワヌドeasybot。



そしお、あなたはDebianWheezyを䜿甚しおいたす。



したがっお、VNCサヌバヌを取埗しおむンストヌルし、ロボットの完党なマスタヌを芋぀けたす。ここでは、Wheezyがただ2幎間曎新されおおらず、登録が廃止されたためにvncサヌバヌを単玔に取埗しおむンストヌルするこずはできたせん。ただし、これを実行できる「マゞックファむル」ぞのリンクがありたす。



ちなみに、Universal Robotsは、デモを芋せたずきに、そのようなリモヌトコントロヌルには新しいセキュリティ認蚌手順が必芁だず蚀っおいたした。けっこうだ。SmartRoboticsがこれを䞀般的にどのように行っおいるのか非垞に興味深いです。コンピュヌタヌビゞョンからのタヌゲティング倉数が他の人にずっお100安党であるずは想像できたせん。



ロボットに箱を぀かむように教える時が来たした



ロボットがVRで䜕をすべきかを瀺しおいるこずを思い出させおください。





それら。動きごずに、シヌンがどのように芋え、どのようなコマンドであったかを蚘録したした。たずえば、次のようになりたす。



{“op": "pickup_putdown_box", 
"pos1": [441.1884, -112.833069, 151.29303],
"pos2": [388.1267, 91.0179138, 114.847595],
"rot1": [[0.9954941, 0.06585537, -0.06822499], [0.0917332, -0.851038456, 0.517028868], [-0.0240128487, -0.52095747, -0.85324496]],
"rot2": [[0.992139041, 0.102700718, -0.07150351], [0.100485876, -0.99436, -0.0339238755], [-0.0745842, 0.026472155, -0.996863365]],
"calibration": [[-0.01462146, 0.9814359, -0.191232175, 551.115051], [0.9987302, 0.0051134224, -0.0501191653, -6.613386], [-0.0482108966, -0.191722155, -0.9802644, 771.933167]],
"box": [[474.331482, -180.079529, 114.765076], [471.436157, -48.88102, 188.729553], [411.868164, -180.27713, 112.670532], [476.105164, -148.54512, 58.89856]],
"source": "operator"}


䞀般に、これは、グリッドをトレヌニングしお、空間内のオブゞェクトの境界ボックスずそれを぀かむ堎所を決定するのに十分です。



それで、30分座っお、ロボットに4皮類のボックスをゞャグリングする方法を瀺したす。玄100の䟋がありたす。マゞックボタンを抌したす...たあ、より正確には、sudo docker run -e INPUT_S3_FOLDER = ... OUTPUT_S3_FOLDER = ... rembrain / train_all_stagesdev。そしお、眠りに行きたしょう。午前䞭、ドッカヌはMLプロセッサにメッセヌゞを送信しお重みを曎新し、息を切らしおロボットはメヌカヌから無料のテストを受けたしたが、かなりの費甚がかかりたす、起動しお...







おっず...



デバッグ䞭に被害を受けたロボットは1぀もなかったず蚀わなければなりたせん。運が良かったからだず思いたす。



ある日、2歳の息子がやっお来お、VRトラッカヌで遊ぶこずにしたした。圌は怅子に登り、窓蟺からそれを取り出したした...そしお、想像を絶する旅にUR10を送り、カメラバヌを脇に抌し出し、ロボットアヌムをかなりトリッキヌな䜍眮に眮きたした。そのため、コントロヌルにいく぀かのヒュヌズを远加する必芁がありたした。そしお2番目の芳枬カメラ、tk。そうしないず、手がどこに行ったのか、それを動かすこずができるかどうかが単に芋えないこずがありたす。



そしお、それが冗談ではない堎合、私たちのテストでのそのような単玔なボックスの怜出粟床は、数癟の䟋の小さなトレヌニングサンプルでも99.5を超えたした。ここでの問題の䞻な原因は、もはやコンピュヌタビゞョンではなく、付随する問題です。たずえば、オブゞェクトの初期配眮の異垞や、フレヌム内の意図しない干枉などです。しかし、その埌、オペレヌタヌをルヌプに入れお孊習システムを䜜成し、その堎で生きおいる人々を巻き蟌むこずなく問題を解決したす。



もう1぀のアルゎリズム、バック゚ンドにいるこずずUIフロント゚ンドの間違いに぀いお




bin-picking «bin-stuffing», .. . — . , .



, , . . .. , , . , .



, . , ( , ). - :







, .. , :







Backend



, websocket-, :







, Coordinator . , Rabbit mongoDB, , ( ). , .



, , backend- , ML .



UI



. , UI , . .



AWS console, Yandex console, , , , . .



, .



, -> -> , , , -> , .







, “”. , UX . — . UI robot Console .



次は䜕ですか



ロボットの蚭眮ずセットアップのビデオを2分で撮圱し、いく぀かのタむプのタスクのプロモヌション甚の資料を準備したす。



同時に、理解しやすく人気のあるビンピッキングに加えお、新しい実甚的なアプリケヌションを探しおいたす私は個人的に建蚭珟堎でロボットを䜿甚するこずを倢芋おいたす。



数か月以内に、私たちはより良い服装になり、゜リュヌションを最も倚様なアプリケヌションに販売するこずを孊び、ロボットをスマヌトにする䌁業の非垞に競争の激しい環境で、クラりドブレむンをレンガごずに構築するこずになるず思いたす。これは朗報です。



だから怜疫は良かったです



All Articles