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.1k
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
330
RealSense T265とD415とUFACTORY Lite 6で模倣学習の実験
hygradme
0
930
Other Decks in Technology
See All in Technology
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
590
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
610
20260619 私の日常業務での生成 AI 活用
masaruogura
1
130
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
110
protovalidate-es を導入してみた
bengo4com
0
170
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
170
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
120
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
310
攻撃者視点で考えるDetection Engineering
cryptopeg
2
1.2k
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Un-Boring Meetings
codingconduct
0
310
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Designing for humans not robots
tammielis
254
26k
Accessibility Awareness
sabderemane
1
140
Abbi's Birthday
coloredviolet
2
8k
Faster Mobile Websites
deanohume
310
31k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
160
So, you think you're a good person
axbom
PRO
2
2.1k
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シリーズを検討するのも手