diff --git a/URDFEditor.js b/URDFEditor.js index 75c1d69..a83ba58 100644 --- a/URDFEditor.js +++ b/URDFEditor.js @@ -17,8 +17,8 @@ export class URDFEditor { this.scene = new THREE.Scene(); this.scene.background = new THREE.Color(0xaaaaaa); - this.camera = new THREE.PerspectiveCamera(45, canvas.clientWidth / canvas.clientHeight, 0.1, 100); - this.camera.position.set(2, 2, 2); + this.camera = new THREE.PerspectiveCamera(60, canvas.clientWidth / canvas.clientHeight, 0.1, 100); + this.camera.position.set(-0.3, 0.5, -0.7); this.camera.lookAt(0, 0, 0); this.renderer = new THREE.WebGLRenderer({ canvas, antialias: true }); @@ -38,7 +38,7 @@ export class URDFEditor { this.controls = new OrbitControls(this.camera, this.renderer.domElement); - this.controls.target.set(0, 0.5, 0); + this.controls.target.set(0, 0.1, 0); this.controls.update(); this.raycaster = new THREE.Raycaster(); @@ -230,6 +230,7 @@ export class URDFEditor { console.log(lower, upper); const jointTransmission = this.robot.joints[jointName].transmission; + if (!jointTransmission) return; const encoderRange = jointTransmission.encoderRange / jointTransmission.mechanicalReduction; const sector = createRotationSector(this.worldAxis, lower, upper, encoderRange); const indicator = createAngleIndicator(this.worldAxis, this.jointAngles[jointName] ?? 0); @@ -342,6 +343,10 @@ function radiansToTicks(radians, actuator) { function getJointLimits(jointName, robot) { const transmission = robot.joints[jointName].transmission; + + if (!transmission) { + return { lower: -Math.PI, upper: Math.PI }; + } //console.log(transmission.encoderValidMin, transmission.encoderValidMax); const lowerRad = ticksToRadians(transmission.encoderValidMin, transmission); const upperRad = ticksToRadians(transmission.encoderValidMax, transmission); diff --git a/robots/LittleSophia/meshes/Little_Sophia_Arm_Left.glb b/robots/LittleSophia/meshes/Little_Sophia_Arm_Left.glb new file mode 100644 index 0000000..c809016 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Arm_Left.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Arm_Right.glb b/robots/LittleSophia/meshes/Little_Sophia_Arm_Right.glb new file mode 100644 index 0000000..52f5afc Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Arm_Right.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Hip_Left.glb b/robots/LittleSophia/meshes/Little_Sophia_Hip_Left.glb new file mode 100644 index 0000000..456df94 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Hip_Left.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Hip_Right.glb b/robots/LittleSophia/meshes/Little_Sophia_Hip_Right.glb new file mode 100644 index 0000000..85b7c64 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Hip_Right.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Lower_Leg_Left.glb b/robots/LittleSophia/meshes/Little_Sophia_Lower_Leg_Left.glb new file mode 100644 index 0000000..4f3c332 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Lower_Leg_Left.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Lower_Leg_Right.glb b/robots/LittleSophia/meshes/Little_Sophia_Lower_Leg_Right.glb new file mode 100644 index 0000000..438b957 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Lower_Leg_Right.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Torso.glb b/robots/LittleSophia/meshes/Little_Sophia_Torso.glb new file mode 100644 index 0000000..b614fe2 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Torso.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Upper_Leg_Left.glb b/robots/LittleSophia/meshes/Little_Sophia_Upper_Leg_Left.glb new file mode 100644 index 0000000..055516e Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Upper_Leg_Left.glb differ diff --git a/robots/LittleSophia/meshes/Little_Sophia_Upper_Leg_Right.glb b/robots/LittleSophia/meshes/Little_Sophia_Upper_Leg_Right.glb new file mode 100644 index 0000000..ee878f9 Binary files /dev/null and b/robots/LittleSophia/meshes/Little_Sophia_Upper_Leg_Right.glb differ diff --git a/robots/LittleSophia/urdf/LittleSophia.urdf b/robots/LittleSophia/urdf/LittleSophia.urdf index 72ac6fa..b7d53f2 100644 --- a/robots/LittleSophia/urdf/LittleSophia.urdf +++ b/robots/LittleSophia/urdf/LittleSophia.urdf @@ -3,14 +3,15 @@ - - + + - + - + @@ -25,50 +26,23 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - + - + @@ -83,413 +57,314 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - + - + - + - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + @@ -501,232 +376,237 @@ - + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 200 + 3500 + 270 + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 500 + 4095 + 270 + + + + + + transmission_interface/SimpleTransmission + + PositionJointInterface + + + 1 + PositionJointInterface + 4096 + 500 + 4095 + 270 + + - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 200 - 3500 - 270 - - - - transmission_interface/SimpleTransmission - - PositionJointInterface - - - 1 - PositionJointInterface - 4096 - 500 - 4095 - 270 - - \ No newline at end of file diff --git a/urdf/sample.urdf b/urdf/sample.urdf index eeda94d..727e565 100644 --- a/urdf/sample.urdf +++ b/urdf/sample.urdf @@ -28,42 +28,15 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -146,8 +119,8 @@ - - + + @@ -443,8 +416,8 @@ - - + + @@ -506,9 +479,9 @@ - + transmission_interface/SimpleTransmission - + PositionJointInterface @@ -523,7 +496,7 @@ transmission_interface/SimpleTransmission - + PositionJointInterface @@ -568,7 +541,7 @@ transmission_interface/SimpleTransmission - + PositionJointInterface @@ -702,7 +675,7 @@ transmission_interface/SimpleTransmission - + PositionJointInterface