Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UFACTORY Lite 6用リーダーフォロワーシステムの作成
Search
hygradme
May 24, 2024
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UFACTORY Lite 6用リーダーフォロワーシステムの作成
hygradme
May 24, 2024
More Decks by hygradme
See All by hygradme
ロボットハンドの調査・自作
hygradme
0
340
RealSense T265とD415とUFACTORY Lite 6で模倣学習の実験
hygradme
0
940
Other Decks in Technology
See All in Technology
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
270
キャリアLT会#3
beli68
0
160
AIと1000本ノックしてたどり着いた、最速のプロダクト開発 ~toC向けAIエージェントUXを、動く選択肢とAIキャパシティで設計する~
lycorptech_jp
PRO
1
100
kaonavi Tech Night#1
kaonavi
0
130
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
450
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
350
データエンジニアリングとドメイン駆動設計
masuda220
PRO
9
1.5k
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
290
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
250
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
440
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
340
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
0
420
Featured
See All Featured
Crafting Experiences
bethany
1
230
Building the Perfect Custom Keyboard
takai
2
820
The Spectacular Lies of Maps
axbom
PRO
1
860
Color Theory Basics | Prateek | Gurzu
gurzu
0
390
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
900
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Deep Space Network (abreviated)
tonyrice
0
230
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
Transcript
UFACTORY Lite 6用 リーダーフォロワーシステム の作成 第45回ロボティクス勉強会
・2019年: KickstarterでxArm 5という低価格のアームロボが欲しくなりバックして無事届く。 ・2020年: 卓球の自動返球ロボを MakerFaire Tokyo 2020に出展。第5回ロボゼミで発表 ・2021年: ROS
2の入門としてxArm 5を使ったカルタ取りロボシステム制作。第 19回ロボゼミで発表 ・2022年: Lite 6用の軽量電動並行グリッパーを自作・ GitHubで公開(OpenParallelGripper) ・2023年: ML-Agentsで強化学習に入門。今回の前身となる御玉でボール拾いの学習に挑戦 ・2023年: T265とD415とLite 6を使った模倣学習実験を始める ・2023年: UFACTORY Lite 6をテレオペレーション操作するリーダーフォロワーシステムを作成 ・2024年: 上記システムをOSSのgelloにマージ @EL2031watson higrado 過去には四速歩行ロボ にも少し手を出した 卓球ロボ(MakerFaire2020) 自己紹介 カルタ取りロボシステム 冬眠前のAmber B1 OpenParallelGripper with UFACTORY Lite 6 ML-Agentsの実験
Lite 6で黒豆・緑豆の中から緑豆を自動で拾う https://x.com/EL2031watson/status/1727993216564335025 RGBカメラとジョイント角のデータから次の数フレーム先までのジョイント角を予想する
補足:参考にした手法 https://arxiv.org/abs/2304.13705 ViperX 300(Follower)をWidowX 250(Leader)で操作する ALOHAというOSSプロジェクトの論文。 ALOHA: 低価格ロボットデータ収集ツール RGB画像とアームロボットのジョイント角を入力として、nステッ プ先までのジョイント角を予測するTransformerモデル。
https://www.trossenrobotics.com/viperx-300-robot-arm-6dof.aspx ViperX 300 Robot Arm 6DOF 発表資料: https://speakerdeck.com/hygradme/realsense-t265tod415toufactor y-lite-6demo-fang-xue-xi-noshi-yan
データの取得:T265を使ってLite 6を操作 { "date": "2023-09-27_14-52-07", "info": [ { "count": 0,
"time": 0.0, "position": [ 0.189421967, -0.084732452, 0.298651855, -2.578459, -0.878688, -0.549324 ], "angle": [ -0.572315, -0.092542, 0.730648, 0.659826, 0.98231, -1.648518, 0.0 ] }, { …. UFACTORY Lite 6のTCPにスプーンを取り付け、 TCPと連動するRealSense T265を使ってスプーンで豆を掬う。 T265 Lite 6 D415 画像とジョイント(TCP位置) https://x.com/EL2031watson/status/1728007549860077869
Pose or Jointのどちらでデータを学習するか Pose: ロボットの手先座標(位置3DoF+姿勢3DoF) ・直感的にわかりやすい ・他のロボットにも転用できる可能性 ・推論時に逆運動学を解く必要あり ・特異姿勢の問題が発生する可能性 →RT-1,RT-2はPoseで学習させている
https://umi-gripper.github.io/ GoProを取り付けたグリッパを手 動で動かし、SLAMで自己位置・ マーカーで開閉度を取得し TCP データセットを作成 Joint: ロボットの関節角(ロボットの関節分のDoF) ・特異姿勢の考慮の必要性がない ・推論時も推論結果をそのまま角度指令値として使える ・他の形状のロボットには転用できない →ALOHA論文のACTはJointで学習させている RT-2 https://robotics-transformer2.github.io/
Pose or Joint (豆拾いのケース) T265 Lite 6 →T265でアームを操作するが、学習は取得したジョイント角を使用 学習法として使用したALOHA論 文でもJointを使用している
{ "date": "2023-09-27_14-52-07", "info": [ { "count": 0, "time": 0.0, "position": [ 0.189421967, -0.084732452, 0.298651855, -2.578459, -0.878688, -0.549324 ], "angle": [ -0.572315, -0.092542, 0.730648, 0.659826, 0.98231, -1.648518, 0.0 ] }, { ….
問題点 T265 RealSense T265の将来性 T265でロボットを操作 ・T265が販売終了・ライブラリも更新されなくなっている Viveトラッカー(Ultimate)というT265と似た方式のトラッカー →T265と違い無線通信 https://www.vive.com/jp/accessory/vive-ultimate-tracker/
Pose(TCPの位置・姿勢からロボットの動作を指示する場合) ・特異姿勢を気にしないといけないので常に緊張する ・たまにトラッキングがバグってロボットが怖い動きをする https://github.com/real-stanford/universal_manipulation_interface/issues/7 Universal RobotsやFranka Emika, xArmのような特異姿勢が 出ずらい作業空間を設定しやすいロボットには使い易い ViperX
300 6DOFでPoseベースで学習させて特異姿勢を含 む推論結果を大量製造したとの issue https://umi-gripper.github.io/ これも多分同じ
PoseベースのリーダーからJointベースのリーダーへ https://wuphilipp.github.io/gello_site/ GELLO: Dynamixel XL330シリーズをジョイント+グリッパーの数だけ使用し UR5, Franka Emika, xArm 7向けのリーダーフォロワーシステム
UFACTORY Lite 6版 リーダーフォロワーシステムを自作
動作例 https://youtube.com/shorts/RRqMFbUdtWg?si=-Utz5OplG8c2Xjt3
https://wuphilipp.github.io/gello_site/ GELLO UFACTORY Lite 6版として本家にマージ https://github.com/wuphilipp/gello_mechanical/ PRを出してマージしてもらう
制御周期の改善 ・Dynamixelのデフォルトのbaudrate(57600bps)だと周期を上げられず(50-100ms?)、ロボットが加減速を繰り返すことにより振動 が激しくなる。 ・1Mbps~ならば振動はほとんどなく、滑らかに操作できた。 ・OpenRB-150だと1Mbpsまで。 ・U2D2なら6Mbpsまで行けて余裕がある。 (https://emanual.robotis.com/docs/en/parts/controller/openrb-150/) (https://emanual.robotis.com/docs/en/parts/interface/u2d2/) ・OpenRB-150だとlatency timer(バッファーが溜まる前でもその時間経過したらデータを送信する)
を変更不可能(16ms固定?)で、1Mbps設定でもあまり制御周期を上げられない。 U2D2ではlatency timerを変更可能で1ms設定にしたら1Mbpsで制御周期3-4msあたりまで減らすことができた。 → usb シリアル受信での 16msの遅延 - 工学系チキンによる工作ブログ (hatenablog.com)
https://x.com/EL2031watson/status/1739292391969013817 その他タスク動画 ジップロックを開けて、中の豆を皿の中に入れる https://x.com/EL2031watson/status/1739286208549945417 双腕を高速で動かす
重力補償 https://youtube.com/shorts/sy9E_QndTSY?si=zurZlOwcvacyRXBu それぞれのジョイントに掛かる重力によって発生するトルクを計算し、それを打ち消すトルク を発生させる。 →サーボモータ等の自重を気にすることなく、細かい手の動きを伝えやすくなる
摩擦補償 https://x.com/EL2031watson/status/1781972352643063974 それぞれのジョイントの移動時にかかる摩擦力を推定し、 それを軽減するようなトルクを発生させる
XL330では負荷に耐えきれないことも XC330-M288-T XL330-M288-T
まとめ ・GELLOを参考に低価格6自由度アームロボットUFACTORY Lite 6向けの リーダーフォロワーシステムを作成・公開 ・T265(Pose)からGELLO(Joint)に移行して、特異姿勢の問題が無く操作できる ようになった ・Dynamixelのbaudrateが57600bpsだとロボットが振動的になるので、1Mbps 等大きめにする必要がある ・重力補償・摩擦補償をXL330でやる際は負荷のかかりすぎに注意
XC330シリーズを検討するのも手