
Genesis å ¥é (8) - ã€ã³ã¿ã©ã¯ãã£ãæ å ±ãžã®ã¢ã¯ã»ã¹ãšãããã°
ãGenesisãã®ãã€ã³ã¿ã©ã¯ãã£ãæ å ±ãžã®ã¢ã¯ã»ã¹ããšããããã°ãã«ã€ããŠãŸãšããŸããã
åå
1. ã€ã³ã¿ã©ã¯ãã£ãæ å ±ãžã®ã¢ã¯ã»ã¹ãšãããã°
ãGenesisãã§ã¯ããGenesisãã§äœæããããªããžã§ã¯ãã®å éšæ å ±ã«ã¢ã¯ã»ã¹ããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŠããŸããããã¯ããã¹ãŠã®ãGenesisãã¯ã©ã¹ã«å¯Ÿã㊠__repr__() ãä»ããŠå®è£ ãããŠããŸãããã®æ©èœã¯ãIPythonã»pdbã»ipdb ã§ã®ãããã°ã«æ £ããŠããå Žåã«éåžžã«åœ¹ç«ã¡ãŸãã
ä»å㯠IPython ã䜿çšããŸããã€ã³ã¹ããŒã«ããŠããªãå Žåã¯ãpip install ipython ã§ã€ã³ã¹ããŒã«ããŠãã ããã
import genesis as gs
# åæå
gs.init()
# ã·ãŒã³ã®äœæ
scene = gs.Scene(show_viewer=False)
# ã·ãŒã³ã«ãšã³ãã£ãã£ã远å
plane = scene.add_entity(gs.morphs.Plane())
franka = scene.add_entity(
gs.morphs.MJCF(file='xml/franka_emika_panda/panda.xml'),
)
cam_0 = scene.add_camera()
# ã·ãŒã³ã®ãã«ã
scene.build()
# IPythonã®ã€ã³ã¿ã©ã¯ãã£ãã¢ãŒãã«å
¥ã
import IPython; IPython.embed()ãã®ã¹ã¯ãªãããçŽæ¥å®è¡ããããšãã§ããŸã (IPython ãã€ã³ã¹ããŒã«ãããŠããå Žå)ããŸãã¯ãã¿ãŒããã«ã§ IPython ã€ã³ã¿ã©ã¯ãã£ããŠã£ã³ããŠã«å ¥ããæåŸã®è¡ãé€ããã³ãŒããããã«è²Œãä»ããããšãã§ããŸãã
ãã®å°ããªã³ãŒããããã¯ã§ã¯ãå¹³é¢ãšã³ãã£ãã£ãš Frankaã¢ãŒã ã远å ããŸãããåå¿è ã®å Žåãã·ãŒã³ã«å®éã«äœãå«ãŸããŠããã®ãçåã«æããããããŸãããIPython (ãŸã㯠ipdbã»pdbã»ãã€ãã£ãã®Pythonã·ã§ã«) ã§ scene ãšå ¥åããã ãã§ãã·ãŒã³å ã®ãã¹ãŠã®å 容ãé©åã«ãã©ãŒããããããè²ä»ããããŠè¡šç€ºãããŸãã

äžçªäžã®è¡ã«ã¯ããªããžã§ã¯ãã®ã¿ã€ã (ãã®å Žå㯠<gs.Scene>) ã衚瀺ãããŸããæ¬¡ã«ããã®äžã®å©çšå¯èœãªãã¹ãŠã®å±æ§ã衚瀺ãããŸããããšãã°ãã·ãŒã³ãæ§ç¯ãããŠããããš (is_built ã True)ããã®ã¿ã€ã ã¹ããã (dt) ã 0.01 ç§ã®æµ®åå°æ°ç¹æ°ã§ããããšããã®äžæã® ID (uid) ã '69be70e-dc9574f508c7a4c4de957ceb5' ã§ããããšãããããŸããã·ãŒã³ã«ã¯ãsolvers ãšåŒã°ãã屿§ããããŸããããã¯ãåºæ¬çã«ããã®ã·ãŒã³ãæã€ããŸããŸãªç©çãœã«ããŒã®ãªã¹ãã§ããããã«ãã·ã§ã«å ã§ scene.solvers ãšå ¥åããŠããã®ãªã¹ãã調ã¹ãããšãã§ããŸãããã®ãªã¹ãã¯ãããèŠãããããããã«ãgs.List ã¯ã©ã¹ã䜿çšããŠå®è£ ãããŠããŸãã

Franka ãšã³ãã£ãã£ãæ€æ»ããããšãã§ããŸãã

ããã§ã¯ããã¹ãŠã® geom ãš linksãããã³é¢é£æ å ±ã衚瀺ãããŸããããã«1局深ãé²ã¿ãfranka.links[0] ãšå ¥åããŸãã

ããã§ã¯ããªã³ã¯ã«å«ãŸãããã¹ãŠã®è¡çªãžãªã¡ã㪠(geoms) ãšããžã¥ã¢ã«ãžãªã¡ã㪠(vgeoms)ãããã³ãã®ä»ã®éèŠãªæ å ± (intertial_mass)ãã·ãŒã³å ã®ãªã³ã¯ã®ã°ããŒãã« ã€ã³ããã¯ã¹ (idx)ããªã³ã¯ãå±ãããšã³ãã£ã㣠(entity)ããžã§ã€ã³ã (joint) ãªã©ã衚瀺ãããŸãã