torso, arms added, working on leg rolling joint
parent
e27b8d9132
commit
e13ab81d8a
|
|
@ -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);
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -3,14 +3,15 @@
|
|||
<joint name="base_joint" type="fixed">
|
||||
<parent link="base_footprint" />
|
||||
<child link="base_link" />
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
<origin xyz="0 0 0.11" rpy="0 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
<link name="base_link">
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<box size="0.1 0.05 0.05" />
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Torso.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="base_link-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
|
|
@ -25,50 +26,23 @@
|
|||
<inertial>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0"
|
||||
izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="base_link_to_spine_1" type="revolute">
|
||||
<parent link="base_link"/>
|
||||
<child link="spine_1"/>
|
||||
<origin xyz="0 0 0.0337" rpy="0 0 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<link name="spine_1">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.05" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.1 0.05 0.1" />
|
||||
</geometry>
|
||||
<material name="spine_1-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.05" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.1 0.05 0.1" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.05" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="spine_1_to_upper_arm_right" type="revolute">
|
||||
<parent link="spine_1"/>
|
||||
<child link="upper_arm_right"/>
|
||||
<origin xyz="0.0624 0 0.0973" rpy="-3.1416 -0.6587 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<joint name="base_link_to_upper_arm_right" type="revolute">
|
||||
<parent link="base_link" />
|
||||
<child link="upper_arm_right" />
|
||||
<origin xyz="0.04 0 0.048" rpy="0 0 0" />
|
||||
<axis xyz="-0.9997 -0.0114 0.0229" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
<link name="upper_arm_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0" />
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.06" />
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Arm_Right.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="upper_arm_right-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
|
|
@ -83,413 +57,314 @@
|
|||
<inertial>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="upper_arm_right_to_lower_arm_right" type="revolute">
|
||||
<parent link="upper_arm_right"/>
|
||||
<child link="lower_arm_right"/>
|
||||
<origin xyz="0.0 0 .065" rpy="0 0 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<link name="lower_arm_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.025" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.05" />
|
||||
</geometry>
|
||||
<material name="lower_arm_right-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.025" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.05" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.025" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="lower_arm_right_to_hand_right" type="revolute">
|
||||
<parent link="lower_arm_right"/>
|
||||
<child link="hand_right"/>
|
||||
<origin xyz="0 0 0.055" rpy="0 0 0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<link name="hand_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.015" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.03" />
|
||||
</geometry>
|
||||
<material name="hand_right-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.015" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.03" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.015" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0"
|
||||
izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Upper Arm -->
|
||||
<joint name="spine_1_to_upper_arm_left" type="revolute">
|
||||
<parent link="spine_1"/>
|
||||
<child link="upper_arm_left"/>
|
||||
<origin xyz="-0.0624 0 0.0973" rpy="3.1416 0.6587 0"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<joint name="base_link_to_upper_arm_left" type="revolute">
|
||||
<parent link="base_link" />
|
||||
<child link="upper_arm_left" />
|
||||
<origin xyz="-0.04 0 0.048" rpy="0 0 0" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<link name="upper_arm_left">
|
||||
<link name="upper_arm_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0"/>
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.06"/>
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Arm_Left.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="upper_arm_left-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1"/>
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0"/>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.06"/>
|
||||
<box size="0.03 0.03 0.06" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666"/>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0"
|
||||
izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Lower Arm -->
|
||||
<joint name="upper_arm_left_to_lower_arm_left" type="revolute">
|
||||
<parent link="upper_arm_left"/>
|
||||
<child link="lower_arm_left"/>
|
||||
<origin xyz="0.0 0 0.065" rpy="0 0 0"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="lower_arm_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.025" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.05"/>
|
||||
</geometry>
|
||||
<material name="lower_arm_left-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.025" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.025" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Hand -->
|
||||
<joint name="lower_arm_left_to_hand_left" type="revolute">
|
||||
<parent link="lower_arm_left"/>
|
||||
<child link="hand_left"/>
|
||||
<origin xyz="0 0 0.055" rpy="0 0 0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
|
||||
<link name="hand_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.015" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.03"/>
|
||||
</geometry>
|
||||
<material name="hand_left-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.015" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.03"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.015" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
|
||||
<joint name="base_link_to_upper_leg_right" type="revolute">
|
||||
<joint name="base_link_to_hip_right" type="revolute">
|
||||
<parent link="base_link" />
|
||||
<child link="hip_right" />
|
||||
<origin xyz="0.024 0.005 -0.023" rpy="0 0 0" />
|
||||
<axis xyz="0 0 1" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
<link name="hip_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Hip_Right.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="upper_leg_right-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="hip_right_to_upper_leg_right" type="revolute">
|
||||
<parent link="hip_right" />
|
||||
<child link="upper_leg_right" />
|
||||
<origin xyz="0.035 0 -0.035" rpy="0 0 0" />
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/> </joint>
|
||||
<origin xyz="0.009 0.0 -0.023" rpy="0 0 0" />
|
||||
<axis xyz="1 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<link name="upper_leg_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Upper_Leg_Right.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="upper_leg_right-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1"/>
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667"/>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
</link>
|
||||
|
||||
|
||||
<joint name="upper_leg_right_to_lower_leg_right" type="revolute">
|
||||
<parent link="upper_leg_right"/>
|
||||
<child link="lower_leg_right"/>
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<parent link="upper_leg_right" />
|
||||
<child link="lower_leg_right" />
|
||||
<origin xyz="-0.001 0.0075 -0.0575" rpy="-0.14 0 0" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
|
||||
<link name="lower_leg_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Lower_Leg_Right.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="lower_leg_right-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1"/>
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<joint name="lower_leg_right_to_foot_right" type="revolute">
|
||||
<parent link="lower_leg_right"/>
|
||||
<child link="foot_right"/>
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="foot_right">
|
||||
<visual>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02"/>
|
||||
</geometry>
|
||||
<material name="foot_right-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Left Upper Leg -->
|
||||
<joint name="base_link_to_upper_leg_left" type="revolute">
|
||||
<parent link="base_link"/>
|
||||
<child link="upper_leg_left"/>
|
||||
<origin xyz="-0.035 0 -0.035" rpy="0 0 0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="upper_leg_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
</geometry>
|
||||
<material name="upper_leg_left-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Lower Leg -->
|
||||
<joint name="upper_leg_left_to_lower_leg_left" type="revolute">
|
||||
<parent link="upper_leg_left"/>
|
||||
<child link="lower_leg_left"/>
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="lower_leg_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
</geometry>
|
||||
<material name="lower_leg_left-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Foot -->
|
||||
<joint name="lower_leg_left_to_foot_left" type="revolute">
|
||||
<parent link="lower_leg_left"/>
|
||||
<child link="foot_left"/>
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="foot_left">
|
||||
<visual>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0.5 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02"/>
|
||||
</geometry>
|
||||
<material name="foot_left-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1"/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0"/>
|
||||
<mass value="1"/>
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<joint name="spine_1_to_neck" type="revolute">
|
||||
<parent link="spine_1"/>
|
||||
<child link="neck"/>
|
||||
<origin xyz="0 0 0.12" rpy="0 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="neck">
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.03" />
|
||||
</geometry>
|
||||
<material name="neck-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.03 0.03 0.03" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="neck_to_head" type="revolute">
|
||||
<parent link="neck"/>
|
||||
<child link="head"/>
|
||||
<origin xyz="0 0 0.04" rpy="0 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
<joint name="lower_leg_right_to_foot_right" type="revolute">
|
||||
<parent link="lower_leg_right" />
|
||||
<child link="foot_right" />
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<link name="foot_right">
|
||||
<visual>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02" />
|
||||
</geometry>
|
||||
<material name="foot_right-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Upper Leg -->
|
||||
<joint name="base_link_to_upper_leg_left" type="revolute">
|
||||
<parent link="base_link" />
|
||||
<child link="upper_leg_left" />
|
||||
<origin xyz="-0.035 0 -0.035" rpy="0 0 0" />
|
||||
<axis xyz="1 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<link name="upper_leg_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
<material name="upper_leg_left-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Lower Leg -->
|
||||
<joint name="upper_leg_left_to_lower_leg_left" type="revolute">
|
||||
<parent link="upper_leg_left" />
|
||||
<child link="lower_leg_left" />
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0" />
|
||||
<axis xyz="-0.9997 -0.0114 0.0229" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<link name="lower_leg_left">
|
||||
<visual>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
<material name="lower_leg_left-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.04 0.07" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.035" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Left Foot -->
|
||||
<joint name="lower_leg_left_to_foot_left" type="revolute">
|
||||
<parent link="lower_leg_left" />
|
||||
<child link="foot_left" />
|
||||
<origin xyz="0 0 -0.075" rpy="0 0 0" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<link name="foot_left">
|
||||
<visual>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0.5 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02" />
|
||||
</geometry>
|
||||
<material name="foot_left-material">
|
||||
<color rgba="0.0021 0.0497 0.4851 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.04 0.08 0.02" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0.02 -0.01" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<!-- Spine to yaw joint -->
|
||||
<joint name="base_link_to_neck_yaw" type="revolute">
|
||||
<parent link="base_link" />
|
||||
<child link="neck_yaw_link" />
|
||||
<origin xyz="0 0 0.065" rpy="0 0 0" />
|
||||
<axis xyz="0 0 1" /> <!-- yaw/pan around Z -->
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
<link name="neck_yaw_link" />
|
||||
|
||||
<!-- Pitch joint -->
|
||||
<joint name="neck_pitch" type="revolute">
|
||||
<parent link="neck_yaw_link" />
|
||||
<child link="neck_pitch_link" />
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<axis xyz="1 0 0" /> <!-- pitch around X -->
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
<link name="neck_pitch_link" />
|
||||
|
||||
<!-- Roll joint -->
|
||||
<joint name="neck_roll" type="revolute">
|
||||
<parent link="neck_pitch_link" />
|
||||
<child link="head" />
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<axis xyz="0 1 0" /> <!-- roll around Y -->
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
|
||||
</joint>
|
||||
|
||||
<!-- Head (includes fused neck geometry) -->
|
||||
<link name="head">
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
|
||||
<geometry>
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Face.glb" scale="0.001 0.001 0.001"/>
|
||||
<mesh filename="package://Little_Sophia_Face/meshes/Little_Sophia_Face.glb"
|
||||
scale="0.001 0.001 0.001" />
|
||||
</geometry>
|
||||
<material name="head-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
<color rgba="0.002 0.05 0.48 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
|
|
@ -501,29 +376,14 @@
|
|||
<inertial>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
<inertia ixx="0.16" ixy="0" ixz="0" iyy="0.16" iyz="0" izz="0.16" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
|
||||
<transmission name="spine_1_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="base_link_to_spine_1">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
<encoderValidMin>200</encoderValidMin>
|
||||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="upper_arm_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="spine_1_to_upper_arm_left">
|
||||
<joint name="base_joint">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
|
|
@ -534,7 +394,21 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
<transmission name="upper_arm_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="base_link_to_upper_arm_left">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
<encoderValidMin>200</encoderValidMin>
|
||||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="lower_arm_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
|
|
@ -549,7 +423,7 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="hand_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
|
|
@ -564,11 +438,11 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="upper_arm_right">
|
||||
<transmission name="upper_arm_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="spine_1_to_upper_arm_right">
|
||||
<joint name="base_link_to_upper_arm_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
|
|
@ -579,14 +453,15 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="lower_arm_right">
|
||||
|
||||
<transmission name="hip_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="upper_arm_right_to_lower_arm_right">
|
||||
<joint name="base_link_to_hip_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
<actuator name="hip_right">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
|
|
@ -594,24 +469,9 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="hand_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="lower_arm_right_to_hand_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
<encoderValidMin>200</encoderValidMin>
|
||||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="upper_leg_right">
|
||||
<transmission name="upper_leg_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="base_link_to_upper_leg_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
|
|
@ -624,9 +484,9 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="lower_leg_right">
|
||||
<transmission name="lower_leg_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="upper_leg_right_to_lower_leg_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
|
|
@ -639,9 +499,9 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="foot_right">
|
||||
<transmission name="foot_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="lower_leg_right_to_foot_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
|
|
@ -654,9 +514,9 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="upper_leg_left">
|
||||
<transmission name="upper_leg_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="base_link_to_upper_leg_left">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
|
|
@ -669,9 +529,9 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="lower_leg_left">
|
||||
<transmission name="lower_leg_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="upper_leg_left_to_lower_leg_left">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
|
|
@ -684,9 +544,9 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<transmission name="foot_left">
|
||||
<transmission name="foot_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="lower_leg_left_to_foot_left">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
|
|
@ -699,13 +559,14 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="neck_base">
|
||||
</transmission>
|
||||
<!-- Yaw (pan) transmission -->
|
||||
<transmission name="neck_yaw_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="spine_1_to_neck">
|
||||
<joint name="base_link_to_neck_yaw">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="neck_motor_base">
|
||||
<actuator name="neck_motor_yaw">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
|
|
@ -713,13 +574,15 @@
|
|||
<encoderValidMax>3500</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="neck_tip">
|
||||
</transmission>
|
||||
|
||||
<!-- Pitch transmission -->
|
||||
<transmission name="neck_pitch_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="neck_to_head">
|
||||
<joint name="neck_pitch">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="neck_motor_tip">
|
||||
<actuator name="neck_motor_pitch">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
|
|
@ -727,6 +590,23 @@
|
|||
<encoderValidMax>4095</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
</transmission>
|
||||
|
||||
<!-- Roll transmission -->
|
||||
<transmission name="neck_roll_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="neck_roll">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="neck_motor_roll">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
<encoderTicks>4096</encoderTicks>
|
||||
<encoderValidMin>500</encoderValidMin>
|
||||
<encoderValidMax>4095</encoderValidMax>
|
||||
<encoderRange>270</encoderRange>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
|
||||
</robot>
|
||||
|
|
@ -28,42 +28,15 @@
|
|||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="base_link_to_spine_1" type="revolute">
|
||||
<joint name="base_link_to_base_link" type="revolute">
|
||||
<parent link="base_link"/>
|
||||
<child link="spine_1"/>
|
||||
<child link="base_link"/>
|
||||
<origin xyz="0 0 0.0337" rpy="0 0 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
<link name="spine_1">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.05" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.1 0.05 0.1" />
|
||||
</geometry>
|
||||
<material name="spine_1-material">
|
||||
<color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0.05" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<box size="0.1 0.05 0.1" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 0.05" rpy="0 0 0" />
|
||||
<mass value="1" />
|
||||
<inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0" izz="0.16666666666666666" />
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="spine_1_to_upper_arm_right" type="revolute">
|
||||
<parent link="spine_1"/>
|
||||
<child link="upper_arm_right"/>
|
||||
<origin xyz="0.0624 0 0.0973" rpy="-3.1416 -0.6587 0"/>
|
||||
<axis xyz="-0.9997 -0.0114 0.0229"/>
|
||||
<limit effort="1000.0" lower="-1" upper="1" velocity="0.5"/>
|
||||
</joint>
|
||||
|
||||
|
||||
<link name="upper_arm_right">
|
||||
<visual>
|
||||
<origin xyz="0 0 0.03" rpy="0 0 0" />
|
||||
|
|
@ -146,8 +119,8 @@
|
|||
</link>
|
||||
|
||||
<!-- Left Upper Arm -->
|
||||
<joint name="spine_1_to_upper_arm_left" type="revolute">
|
||||
<parent link="spine_1"/>
|
||||
<joint name="base_link_to_upper_arm_left" type="revolute">
|
||||
<parent link="base_link"/>
|
||||
<child link="upper_arm_left"/>
|
||||
<origin xyz="-0.0624 0 0.0973" rpy="3.1416 0.6587 0"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
|
|
@ -443,8 +416,8 @@
|
|||
</link>
|
||||
|
||||
|
||||
<joint name="spine_1_to_neck" type="revolute">
|
||||
<parent link="spine_1"/>
|
||||
<joint name="base_link_to_neck" type="revolute">
|
||||
<parent link="base_link"/>
|
||||
<child link="neck"/>
|
||||
<origin xyz="0 0 0.12" rpy="0 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
|
|
@ -506,9 +479,9 @@
|
|||
</link>
|
||||
|
||||
|
||||
<transmission name="spine_1_trans">
|
||||
<transmission name="base_link_trans">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="base_link_to_spine_1">
|
||||
<joint name="base_link_to_base_link">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
|
|
@ -523,7 +496,7 @@
|
|||
|
||||
<transmission name="upper_arm_left">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="spine_1_to_upper_arm_left">
|
||||
<joint name="base_link_to_upper_arm_left">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
|
|
@ -568,7 +541,7 @@
|
|||
|
||||
<transmission name="upper_arm_right">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="spine_1_to_upper_arm_right">
|
||||
<joint name="base_link_to_upper_arm_right">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="spine_motor_1">
|
||||
|
|
@ -702,7 +675,7 @@
|
|||
</transmission>
|
||||
<transmission name="neck_base">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="spine_1_to_neck">
|
||||
<joint name="base_link_to_neck">
|
||||
<hardwareInterface>PositionJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="neck_motor_base">
|
||||
|
|
|
|||
Loading…
Reference in New Issue