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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
160
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
490
モバイル研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
190
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
1k
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
390
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
730
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
840
CloudWatchから始めるAWS監視
butadora
0
190
reFACToring
moznion
1
630
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
880
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
150
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
160
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
230
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
The Curious Case for Waylosing
cassininazir
1
440
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
520
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Curse of the Amulet
leimatthew05
2
13k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
460
How to build a perfect <img>
jonoalderson
1
5.8k
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シリーズを検討するのも手