commit 3b380371f449b0e30c1d4ed96bb7aa762cb43d29 Author: Ram Vempati <63425932+APetabyteOfRAM@users.noreply.github.com> Date: Wed Nov 10 08:23:33 2021 -0500 Add files via upload diff --git a/bullet.py b/bullet.py new file mode 100644 index 0000000..e18069e --- /dev/null +++ b/bullet.py @@ -0,0 +1,20 @@ +import pybullet as p +import time +import pybullet_data +physicsClient = p.connect(p.GUI)#or p.DIRECT for non-graphical version +p.setAdditionalSearchPath(pybullet_data.getDataPath()) #optionally +p.setGravity(0,0,-10) +planeId = p.loadURDF("plane.urdf") +cubeStartPos = [0,0,0] +cubeStartOrientation = p.getQuaternionFromEuler([0,0,0]) +robotId = p.loadURDF("olympian.urdf",cubeStartPos, cubeStartOrientation, + # useMaximalCoordinates=1, ## New feature in Pybullet + flags=p.URDF_USE_INERTIA_FROM_FILE) +for i in range (100000): + p.stepSimulation() + time.sleep(1./240.) +cubePos, cubeOrn = p.getBasePositionAndOrientation(robotId) +print(cubePos,cubeOrn) +p.disconnect() + + \ No newline at end of file diff --git a/hello_bullet.py b/hello_bullet.py new file mode 100644 index 0000000..8416a21 --- /dev/null +++ b/hello_bullet.py @@ -0,0 +1,82 @@ +import pybullet as p +import time +import pybullet_data +import math +physicsClient = p.connect(p.GUI)#or p.DIRECT for non-graphical version + +p.setAdditionalSearchPath(pybullet_data.getDataPath()) #optionally +p.setGravity(0,0,-10) +planeId = p.loadURDF("plane.urdf") +startPos = [0,0,0] +startOrientation = p.getQuaternionFromEuler([0,0,0]) +robotId = p.loadURDF("olympian.urdf",startPos, startOrientation, + # useMaximalCoordinates=1, ## New feature in Pybullet + flags=p.URDF_USE_INERTIA_FROM_FILE) + +print("==========SIMULATION ENABLED================") + +#GET JOINT INFO + +print(p.getNumJoints(robotId)) +for i in range(0, p.getNumJoints(robotId)-1): + print(p.getJointInfo(robotId, i)[0:13]) + + +#ACTUATE LINK 4 0.5 * pi RADIANS with 15NM of TORQUE +p.setJointMotorControl2(robotId, 4, controlMode = p.POSITION_CONTROL, targetPosition = 0.5 * math.pi, force = 15) + + + +listOfJointIndeces = [] +for i in range(0, p.getNumJoints(robotId)): + listOfJointIndeces.append(i) + +#INVERSE KINEMATICS +#GET JOINT ANGLES NEEDED TO MOVE LINK 10 to (0. 0.6, 2) +#FORCE IS 25NM for every link bc im too lazy to custom set it for every link +#IT FALLS BECAUSE its a lot of torque exerted in a small amount of time + +ikList = p.calculateInverseKinematics(robotId, 10, [0,0.6,2] ) +p.setJointMotorControlArray(robotId, listOfJointIndeces, p.POSITION_CONTROL, + targetPositions = ikList, forces = [25]*23) + + + +#CALCULATE COM +masstimesxpossum = 0.0 +masstimesypossum = 0.0 +masstimeszpossum = 0.0 +masssum = 0.0 +for i in range(0, p.getNumJoints(robotId) -1): + + if(i >= 0): + print(p.getJointInfo(robotId, i)[0:13]) + + wheight = p.getDynamicsInfo(robotId, i)[0] + xpos = p.getLinkState(robotId, i)[0][0] + ypos = p.getLinkState(robotId, i)[0][1] + zpos = p.getLinkState(robotId, i)[0][2] + + masstimesxpossum += (wheight * xpos) + masstimesypossum += (wheight * ypos) + masstimeszpossum += (wheight * zpos) + masssum += wheight + + print(wheight) + print(xpos) + print(ypos) + print(zpos) + print("\n") + +com = (masstimesxpossum/masssum, masstimesypossum/masssum, masstimeszpossum/masssum) +print("==========COM APROX EQUALS===========") +print(com) +print("\n") +#STEP SIMULATION +for i in range(0,10000): + p.stepSimulation() + time.sleep(1./240.) + + +print("========REALTIME SIMULATION DISABLED===============") +# p.calculateInverseKinematics(robotId, ) diff --git a/meshes/Ankle_Link_v5_1.stl b/meshes/Ankle_Link_v5_1.stl new file mode 100644 index 0000000..32d19ba Binary files /dev/null and b/meshes/Ankle_Link_v5_1.stl differ diff --git a/meshes/Ankle_Link_v5_2.stl b/meshes/Ankle_Link_v5_2.stl new file mode 100644 index 0000000..d9830a9 Binary files /dev/null and b/meshes/Ankle_Link_v5_2.stl differ diff --git a/meshes/Box_Head_v5_1.stl b/meshes/Box_Head_v5_1.stl new file mode 100644 index 0000000..8505d35 Binary files /dev/null and b/meshes/Box_Head_v5_1.stl differ diff --git a/meshes/Chest_v13_1.stl b/meshes/Chest_v13_1.stl new file mode 100644 index 0000000..7ce840d Binary files /dev/null and b/meshes/Chest_v13_1.stl differ diff --git a/meshes/Foot_v4_1.stl b/meshes/Foot_v4_1.stl new file mode 100644 index 0000000..b2e59e5 Binary files /dev/null and b/meshes/Foot_v4_1.stl differ diff --git a/meshes/Foot_v4_2.stl b/meshes/Foot_v4_2.stl new file mode 100644 index 0000000..b0109fc Binary files /dev/null and b/meshes/Foot_v4_2.stl differ diff --git a/meshes/Leg_Pitch_v5_1.stl b/meshes/Leg_Pitch_v5_1.stl new file mode 100644 index 0000000..04611f0 Binary files /dev/null and b/meshes/Leg_Pitch_v5_1.stl differ diff --git a/meshes/Leg_Pitch_v5_2.stl b/meshes/Leg_Pitch_v5_2.stl new file mode 100644 index 0000000..8980516 Binary files /dev/null and b/meshes/Leg_Pitch_v5_2.stl differ diff --git a/meshes/Leg_Roll_v4_1.stl b/meshes/Leg_Roll_v4_1.stl new file mode 100644 index 0000000..4e1ac8b Binary files /dev/null and b/meshes/Leg_Roll_v4_1.stl differ diff --git a/meshes/Leg_Roll_v4_2.stl b/meshes/Leg_Roll_v4_2.stl new file mode 100644 index 0000000..0e209be Binary files /dev/null and b/meshes/Leg_Roll_v4_2.stl differ diff --git a/meshes/Lower_Arm_v8_1.stl b/meshes/Lower_Arm_v8_1.stl new file mode 100644 index 0000000..779efbf Binary files /dev/null and b/meshes/Lower_Arm_v8_1.stl differ diff --git a/meshes/Lower_Arm_v8_2.stl b/meshes/Lower_Arm_v8_2.stl new file mode 100644 index 0000000..464ae21 Binary files /dev/null and b/meshes/Lower_Arm_v8_2.stl differ diff --git a/meshes/Lower_Leg_v6_1.stl b/meshes/Lower_Leg_v6_1.stl new file mode 100644 index 0000000..c3eb565 Binary files /dev/null and b/meshes/Lower_Leg_v6_1.stl differ diff --git a/meshes/Lower_Leg_v6_2.stl b/meshes/Lower_Leg_v6_2.stl new file mode 100644 index 0000000..abeba09 Binary files /dev/null and b/meshes/Lower_Leg_v6_2.stl differ diff --git a/meshes/Pelvis_v7_1.stl b/meshes/Pelvis_v7_1.stl new file mode 100644 index 0000000..6689b28 Binary files /dev/null and b/meshes/Pelvis_v7_1.stl differ diff --git a/meshes/Upper_Arm_Link_type_b_v9_1.stl b/meshes/Upper_Arm_Link_type_b_v9_1.stl new file mode 100644 index 0000000..72ee7bc Binary files /dev/null and b/meshes/Upper_Arm_Link_type_b_v9_1.stl differ diff --git a/meshes/Upper_Arm_Link_type_b_v9_2.stl b/meshes/Upper_Arm_Link_type_b_v9_2.stl new file mode 100644 index 0000000..b7b589f Binary files /dev/null and b/meshes/Upper_Arm_Link_type_b_v9_2.stl differ diff --git a/meshes/Upper_Arm_Roll_Link_v5_1.stl b/meshes/Upper_Arm_Roll_Link_v5_1.stl new file mode 100644 index 0000000..3b0d7c3 Binary files /dev/null and b/meshes/Upper_Arm_Roll_Link_v5_1.stl differ diff --git a/meshes/Upper_Arm_Roll_Link_v5_2.stl b/meshes/Upper_Arm_Roll_Link_v5_2.stl new file mode 100644 index 0000000..3fe965e Binary files /dev/null and b/meshes/Upper_Arm_Roll_Link_v5_2.stl differ diff --git a/meshes/Upper_Arm_v10_1.stl b/meshes/Upper_Arm_v10_1.stl new file mode 100644 index 0000000..cc37d11 Binary files /dev/null and b/meshes/Upper_Arm_v10_1.stl differ diff --git a/meshes/Upper_Arm_v10_3.stl b/meshes/Upper_Arm_v10_3.stl new file mode 100644 index 0000000..a861330 Binary files /dev/null and b/meshes/Upper_Arm_v10_3.stl differ diff --git a/meshes/Upper_Leg_v4_1.stl b/meshes/Upper_Leg_v4_1.stl new file mode 100644 index 0000000..489a67b Binary files /dev/null and b/meshes/Upper_Leg_v4_1.stl differ diff --git a/meshes/Upper_Leg_v4_2.stl b/meshes/Upper_Leg_v4_2.stl new file mode 100644 index 0000000..f59a7e4 Binary files /dev/null and b/meshes/Upper_Leg_v4_2.stl differ diff --git a/meshes/base_link.stl b/meshes/base_link.stl new file mode 100644 index 0000000..4c892b9 Binary files /dev/null and b/meshes/base_link.stl differ diff --git a/olympian.pdf b/olympian.pdf new file mode 100644 index 0000000..7fca25f Binary files /dev/null and b/olympian.pdf differ diff --git a/olympian.urdf b/olympian.urdf new file mode 100644 index 0000000..a88c253 --- /dev/null +++ b/olympian.urdf @@ -0,0 +1,927 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + + + + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + PositionJointInterface + 1 + + + +