import pybullet as p # Start PyBullet simulation physicsClient = p.connect(p.DIRECT) # or p.GUI for graphical interface # Load your robot URDF robot_id = p.loadURDF("/ur10e.urdf", useFixedBase=True) # Set joint angles joint_angles = [0, 0, 3.141/2, 0, 0, 0] for i, angle in enumerate(joint_angles): p.setJointMotorControl2(robot_id, i, p.POSITION_CONTROL, targetPosition=angle) # Step the simulation to update the robot's state p.stepSimulation() # Check if any link is colliding collision = False for i in range(p.getNumBodies()): contact_points = p.getContactPoints(robot_id) print(contact_points) if len(contact_points) > 0: collision = True break if collision: print("The robot has collided with itself.") else: print("No collision detected.")