Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WindowsでGenesisに挑戦した話
Search
Minoru Natsutani
May 16, 2025
Technology
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WindowsでGenesisに挑戦した話
第51回ロボティクス勉強会の発表資料です。
Minoru Natsutani
May 16, 2025
More Decks by Minoru Natsutani
See All by Minoru Natsutani
3D Gaussian Splatting勉強会
natsutan
0
42
初めての模倣学習とVLA
natsutan
0
640
放熱勉強会資料
natsutan
0
43
グラフの書き方勉強会
natsutan
0
110
Googleのロボット技術紹介。RT-1からGemini Robotics-ER 1.5 まで
natsutan
0
110
動き検出勉強会資料
natsutan
0
65
辛い仕事をプリキュアで乗り切りHack
natsutan
0
110
論文読み勉強会 RoboGen
natsutan
0
400
プログラミング写経のすすめ
natsutan
0
1.6k
Other Decks in Technology
See All in Technology
Genieを崇めよ
kameitomohiro
0
170
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
5
630
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.9k
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.5k
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
370
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
330
AI coding 整合正規方法
philipz
0
460
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2.7k
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
110
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
180
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
270
beyond jj: config & tools ecosystem
indirect
0
5.8k
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
700
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Designing for humans not robots
tammielis
254
26k
Faster Mobile Websites
deanohume
310
32k
Designing for Timeless Needs
cassininazir
1
480
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
290
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
990
The Pragmatic Product Professional
lauravandoore
37
7.4k
Transcript
WindowsでGenesisに挑戦した話 2025/05/16 @natsutan 1
2 自己紹介 名前:夏谷実 仕事:ピッキングロボットで動くAIの開発 X:@natsutan https://natsutan.hatenablog.com/
3 今日話す事 ・Genesisの紹介 ・ピッキングロボのSimulation ・Windowsで動かす時の技 ・ピッキングのSimulationで気になるところ
4 Genesisの紹介 https://github.com/Genesis-Embodied-AI/Genesis/blob/main/README_JA.md
5 Genesisの紹介 剛体 ソルバー 物理エンジン 流体 ソルバー 連続体 ソルバー 物理エンジンの機能
・Simulationの対象物の登録、管理 物理エンジンのループ ・時間を進める ・接触判定 ・接触後の状態を各種ソルバーで求める ・状態更新 物理エンジンとは
6 Genesisの紹介 剛体 ソルバー 物理エンジン 流体 ソルバー 連続体 ソルバー FK
IK OMPL (軌道生成ライブラリ) Pytorch PyRender (レンダリング) PD 制御 ロギ ング Gazeboと比べると、各種ソルバーが内蔵されており、Pytorchとの親和性が高い。 一方、ROS対応はこれから。
7 Windowsで動かす時の事前情報 Windows Native ・サンプルはすんなり動く ・OMPL(軌道生成)が動かない ・カメラ周りで動かないところがある。 WSL2 ・動く ・GPUをレンダリングに使ってくれない。CPU
でやるので描画させると死ぬほど遅い。 NGの箇所は、主にCUDAとOpenGL周り。 Dockerを使っても動かない。 動くタイミングがあるので、今日全部最新にしたら状況変わっている可能性がある。 今回はWindows+WSL2の組み合わせで動くようにした。
8 URロボット(ユニバーサルロボット)の配置 URDFをここからダウンロード https://github.com/culurciello/pybullet_ur5_gripper/blob/master/README.md ur = scene.add_entity( gs.morphs.URDF(file='D:/home/myproj/genesis/UR5/asset/ur5/ur5.urdf', fixed=True), )
URDFを読み込むときに、fixed=Trueが必要。 これが無いと、ロボットが自由に動いてしまう。 URDFで本体をworldに固定する方法は無効。 set_qpos()を使うことでロボットの姿勢を強制できる。 これは実質ワープなのでSimulationには使えない。
9 PD制御 PD制御に必要なパラメータを指定して、 set_dofs_force_rangeを設定すると、Genesisに組み込ま れているPD制御が使える。Genesis組込のIKの後に、 control_dofs_position()を使う。 for i in range(1000):
ur.control_dofs_position(qpos) scene.step() # from franka_cube.py kp = np.array([4500, 4500, 3500, 3500, 2000, 2000, 100, 100, 100, 100, 100, 100,]) kv = np.array([450, 450, 350, 350, 200, 200, 10, 10, 10, 10, 10, 10]) 動画では上手く取れるように、移動先を微調整してます。
10 Windows環境でやるときのOMPLの追加 OMPLは軌道(waypoint)を作ってくれる。 初期の姿勢とゴールの姿勢、時間を指定すると、上手く trajectoryを作ってくれます。ここからここまで2秒で移動し て、といった制御ができる。 Windows環境だとOMPLが動かない。GenesisがOMPLの Python Bindingを必要としているが、OMPL公式のインスト ール方法ではWindow環境のPython
Bindingが提供されてい ない。 WSL2環境ではOMPLが動くので、WSL2でOMPLだけ動かす。 (WSL2は描画が非常に遅いという課題がある)
11 Windowsで動いた様子 waypoints = ompl_waypoints(start_qpos, goal_qpos, 200) for qpos in
waypoints: ur.control_dofs_position(qpos[0:6], motors_dof) ur.control_dofs_position(finger_qpos, fingers_dof) scene.step() OMPLに初期姿勢、ゴールの姿勢、ステップ数を与える と軌道が返ってくる。その軌道を使ってPD制御を行う とスムーズに動く。 軌道生成はURロボット本体のみとし、ハンドは無視し ている。PD制御も、ロボット本体とハンドで別の制御 をしている。
12 その他 トピックはブログに書いてます。 https://natsutan.hatenablog.com/ ソフトロボティクスのSimulationをすると、物が 単色になってしまったので、色を付けて Simulationする方法。
13 ピッキングのSimulationで気になるところ 軌道生成時の衝突判定ってどう捌くのが良いの?
14 ピッキングのSimulationで気になるところ ・Genesisに組み込まれているinverse_kinematics()は、解を一つしか返さず衝突判定をしてくれな い。 ・OMPLの衝突判定にはIKの結果が必要 ・今はURDFでjointの可動範囲を制限して、衝突判定無しでそれっぽい範囲で動くようにしてます。
15 ピッキングのSimulationで気になるところ 軌道生成時に衝突判定を有効(衝突が発生する軌 道を作らない)にしたら、ピッキングロボットが ピッキングできないじゃ・・。 なんとかピックできたとして、その状態で軌道生 成をしようとすると開始の姿勢で衝突しているか ら、軌道生成できないんじゃ・・・
16 ピッキングのSimulationで気になるところ https://www.youtube.com/watch?v=1Mu6rPPzsFA 過去にやったときは、軌道の生成に衝突判定を入れてないケースだっ た。強化学習絡みだと、ぶつかったらぶつかったでNGにしてそう。 他のやり方 EEは軌道生成時の衝突判定から除外する。 EEがついている手首でIKと軌道生成をする。把持動作中は軌道生成し ない。ただし、ピッキング動作で最後にぶつかるのはグリッパーと壁 なので、EEがぶつかるかぶつからないかは結構大事。
対象物をつかんだ時点でロボットと対象物を合体させる。移動時につ かんだ物を落とすのがSimulationできないのでは。 もし、定番の手法をご存じの方がいらっしゃれば後で教えてください。
17 さいごに ご静聴ありがとうございました。 みんなで趣味のGenesisやりましょう。