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
WindowsでGenesisに挑戦した話
Search
Minoru Natsutani
May 16, 2025
Technology
460
0
Share
WindowsでGenesisに挑戦した話
第51回ロボティクス勉強会の発表資料です。
Minoru Natsutani
May 16, 2025
More Decks by Minoru Natsutani
See All by Minoru Natsutani
グラフの書き方勉強会
natsutan
0
86
Googleのロボット技術紹介。RT-1からGemini Robotics-ER 1.5 まで
natsutan
0
61
動き検出勉強会資料
natsutan
0
45
辛い仕事をプリキュアで乗り切りHack
natsutan
0
80
論文読み勉強会 RoboGen
natsutan
0
320
プログラミング写経のすすめ
natsutan
0
1.4k
ロボット模倣学習勉強会
natsutan
0
470
スモールデータ勉強会発表資料
natsutan
1
1.5k
Robotics勉強会資料
natsutan
0
100
Other Decks in Technology
See All in Technology
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.3k
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
240
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
140
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
170
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
290
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
210
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
130
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
380
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
150
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
2
2.7k
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
420
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Writing Fast Ruby
sferik
630
63k
Facilitating Awesome Meetings
lara
57
6.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
What's in a price? How to price your products and services
michaelherold
247
13k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
270
Paper Plane (Part 1)
katiecoart
PRO
0
6.7k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
130
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
110
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やりましょう。