import pybullet as p p.connect(p.GUI) r2d2 = p.loadURDF("r2d2.urdf",[0,0,1]) for l in range (p.getNumJoints(r2d2)): print(p.getJointInfo(r2d2,l)) p.loadURDF("r2d2.urdf",[2,0,1]) p.loadURDF("r2d2.urdf",[4,0,1]) p.getCameraImage(320,200,flags=p.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX) segLinkIndex=1 verbose = 0 while (1): keys = p.getKeyboardEvents() #for k in keys: # print("key=",k,"state=", keys[k]) if ord('1') in keys: state = keys[ord('1')] if (state & p.KEY_WAS_RELEASED): verbose = 1-verbose if ord('s') in keys: state = keys[ord('s')] if (state & p.KEY_WAS_RELEASED): segLinkIndex = 1-segLinkIndex #print("segLinkIndex=",segLinkIndex) flags = 0 if (segLinkIndex): flags=p.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX img = p.getCameraImage(320,200,flags=flags) #print(img[0],img[1]) seg=img[4] if (verbose): for pixel in seg: if (pixel>=0): obUid = pixel & ((1<<24)-1) linkIndex = (pixel >> 24)-1 print("obUid=",obUid,"linkIndex=",linkIndex) p.stepSimulation()