add ocs2 control for deep robotics
This commit is contained in:
parent
fe28277003
commit
b8e6d1bec3
|
@ -30,7 +30,7 @@ ros2 launch lite3_description visualize.launch.py
|
|||
* OCS2 Quadruped Controller
|
||||
```bash
|
||||
source ~/ros2_ws/install/setup.bash
|
||||
ros2 launch a1_description ocs2_control.launch.py
|
||||
ros2 launch ocs2_quadruped_controller mujoco.launch.py pkg_description:=lite3_description
|
||||
```
|
||||
* Legged Gym Controller
|
||||
```bash
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
targetDisplacementVelocity 0.5;
|
||||
targetRotationVelocity 1.57;
|
||||
|
||||
comHeight 0.33
|
||||
comHeight 0.39
|
||||
|
||||
defaultJointState
|
||||
{
|
||||
(0,0) -0.20 ; FL_hip_joint
|
||||
(1,0) 0.72 ; FL_thigh_joint
|
||||
(2,0) -1.44 ; FL_calf_joint
|
||||
(3,0) 0.20 ; FR_hip_joint
|
||||
(4,0) 0.72 ; FR_thigh_joint
|
||||
(5,0) -1.44 ; FR_calf_joint
|
||||
(6,0) -0.20 ; RL_hip_joint
|
||||
(7,0) 0.72 ; RL_thigh_joint
|
||||
(8,0) -1.44 ; RL_calf_joint
|
||||
(9,0) 0.20 ; RR_hip_joint
|
||||
(10,0) 0.72 ; RR_thigh_joint
|
||||
(11,0) -1.44 ; RR_calf_joint
|
||||
(0,0) 0.1 ; FL_HipX
|
||||
(1,0) -0.732 ; FL_HipY
|
||||
(2,0) 1.361 ; FL_Knee
|
||||
(3,0) -0.1 ; FR_HipX
|
||||
(4,0) -0.732 ; FR_HipY
|
||||
(5,0) 1.361 ; FR_Knee
|
||||
(6,0) 0.1 ; HL_HipX
|
||||
(7,0) -0.732 ; HL_HipY
|
||||
(8,0) 1.361 ; HL_Knee
|
||||
(9,0) -0.1 ; HR_HipX
|
||||
(10,0) -0.732 ; HR_HipY
|
||||
(11,0) 1.361 ; HR_Knee
|
||||
}
|
||||
|
||||
initialModeSchedule
|
||||
|
|
|
@ -12,7 +12,7 @@ model_settings
|
|||
|
||||
verboseCppAd true
|
||||
recompileLibrariesCppAd false
|
||||
modelFolderCppAd /tmp/ocs2_quadruped_controller/a1
|
||||
modelFolderCppAd /tmp/ocs2_quadruped_controller/lite3
|
||||
}
|
||||
|
||||
swing_trajectory_config
|
||||
|
@ -154,24 +154,24 @@ initialState
|
|||
;; Base Pose: [position, orientation] ;;
|
||||
(6,0) 0.0 ; p_base_x
|
||||
(7,0) 0.0 ; p_base_y
|
||||
(8,0) 0.33 ; p_base_z
|
||||
(8,0) 0.39 ; p_base_z
|
||||
(9,0) 0.0 ; theta_base_z
|
||||
(10,0) 0.0 ; theta_base_y
|
||||
(11,0) 0.0 ; theta_base_x
|
||||
|
||||
;; Leg Joint Positions: [FL, RL, FR, RR] ;;
|
||||
(12,0) -0.20 ; FL_hip_joint
|
||||
(13,0) 0.72 ; FL_thigh_joint
|
||||
(14,0) -1.44 ; FL_calf_joint
|
||||
(15,0) -0.20 ; RL_hip_joint
|
||||
(16,0) 0.72 ; RL_thigh_joint
|
||||
(17,0) -1.44 ; RL_calf_joint
|
||||
(18,0) 0.20 ; FR_hip_joint
|
||||
(19,0) 0.72 ; FR_thigh_joint
|
||||
(20,0) -1.44 ; FR_calf_joint
|
||||
(21,0) 0.20 ; RR_hip_joint
|
||||
(22,0) 0.72 ; RR_thigh_joint
|
||||
(23,0) -1.44 ; RR_calf_joint
|
||||
;; Leg Joint Positions: [FL, HL, FR, HR] ;;
|
||||
(12,0) 0.1 ; FL_HipX
|
||||
(13,0) -0.732 ; FL_HipY
|
||||
(14,0) 1.361 ; FL_Knee
|
||||
(15,0) 0.1 ; HL_HipX
|
||||
(16,0) -0.732 ; HL_HipY
|
||||
(17,0) 1.361 ; HL_Knee
|
||||
(18,0) -0.1 ; FR_HipX
|
||||
(19,0) -0.732 ; FR_HipY
|
||||
(20,0) 1.361 ; FR_Knee
|
||||
(21,0) -0.1 ; HR_HipX
|
||||
(22,0) -0.732 ; HR_HipY
|
||||
(23,0) 1.361 ; HR_Knee
|
||||
}
|
||||
|
||||
; standard state weight matrix
|
||||
|
@ -195,19 +195,19 @@ Q
|
|||
(10,10) 300.0 ; theta_base_y
|
||||
(11,11) 300.0 ; theta_base_x
|
||||
|
||||
;; Leg Joint Positions: [FL, RL, FR, RR] ;;
|
||||
(12,12) 5.0 ; FL_hip_joint
|
||||
(13,13) 5.0 ; FL_thigh_joint
|
||||
(14,14) 2.5 ; FL_calf_joint
|
||||
(15,15) 5.0 ; RL_hip_joint
|
||||
(16,16) 5.0 ; RL_thigh_joint
|
||||
(17,17) 2.5 ; RL_calf_joint
|
||||
(18,18) 5.0 ; FR_hip_joint
|
||||
(19,19) 5.0 ; FR_thigh_joint
|
||||
(20,20) 2.5 ; FR_calf_joint
|
||||
(21,21) 5.0 ; RR_hip_joint
|
||||
(22,22) 5.0 ; RR_thigh_joint
|
||||
(23,23) 2.5 ; RR_calf_joint
|
||||
;; Leg Joint Positions: [FL, HL, FR, HR] ;;
|
||||
(12,12) 5.0 ; FL_HipX
|
||||
(13,13) 5.0 ; FL_HipY
|
||||
(14,14) 2.5 ; FL_Knee
|
||||
(15,15) 5.0 ; HL_HipX
|
||||
(16,16) 5.0 ; HL_HipY
|
||||
(17,17) 2.5 ; HL_Knee
|
||||
(18,18) 5.0 ; FR_HipX
|
||||
(19,19) 5.0 ; FR_HipY
|
||||
(20,20) 2.5 ; HR_Knee
|
||||
(21,21) 5.0 ; HR_HipX
|
||||
(22,22) 5.0 ; HR_HipY
|
||||
(23,23) 2.5 ; HR_Knee
|
||||
}
|
||||
|
||||
; control weight matrix
|
||||
|
@ -215,7 +215,7 @@ R
|
|||
{
|
||||
scaling 1e-3
|
||||
|
||||
;; Feet Contact Forces: [FL, FR, RL, RR] ;;
|
||||
;; Feet Contact Forces: [FL, FR, HL, HR] ;;
|
||||
(0,0) 1.0 ; front_left_force
|
||||
(1,1) 1.0 ; front_left_force
|
||||
(2,2) 1.0 ; front_left_force
|
||||
|
@ -229,7 +229,7 @@ R
|
|||
(10,10) 1.0 ; rear_right_force
|
||||
(11,11) 1.0 ; rear_right_force
|
||||
|
||||
;; foot velocity relative to base: [FL, RL, FR, RR] (uses the Jacobian at nominal configuration) ;;
|
||||
;; foot velocity relative to base: [FL, HL, FR, HR] (uses the Jacobian at nominal configuration) ;;
|
||||
(12,12) 5000.0 ; x
|
||||
(13,13) 5000.0 ; y
|
||||
(14,14) 5000.0 ; z
|
||||
|
@ -263,14 +263,14 @@ selfCollision
|
|||
; Self Collision pairs
|
||||
collisionLinkPairs
|
||||
{
|
||||
[0] "FL_calf, FR_calf"
|
||||
[1] "RL_calf, RR_calf"
|
||||
[2] "FL_calf, RL_calf"
|
||||
[3] "FR_calf, RR_calf"
|
||||
[4] "FL_foot, FR_foot"
|
||||
[5] "RL_foot, RR_foot"
|
||||
[6] "FL_foot, RL_foot"
|
||||
[7] "FR_foot, RR_foot"
|
||||
[0] "FL_SHANK, FR_SHANK"
|
||||
[1] "HL_SHANK, HR_SHANK"
|
||||
[2] "FL_SHANK, HL_SHANK"
|
||||
[3] "FR_SHANK, HR_SHANK"
|
||||
[4] "FL_FOOT, FR_FOOT"
|
||||
[5] "HL_FOOT, HR_FOOT"
|
||||
[6] "FL_FOOT, HL_FOOT"
|
||||
[7] "FR_FOOT, HR_FOOT"
|
||||
}
|
||||
|
||||
minimumDistance 0.05
|
||||
|
@ -283,9 +283,9 @@ selfCollision
|
|||
; Whole body control
|
||||
torqueLimitsTask
|
||||
{
|
||||
(0,0) 33.5 ; HAA
|
||||
(1,0) 33.5 ; HFE
|
||||
(2,0) 33.5 ; KFE
|
||||
(0,0) 24.0 ; HAA
|
||||
(1,0) 24.0 ; HFE
|
||||
(2,0) 36.0 ; KFE
|
||||
}
|
||||
|
||||
frictionConeTask
|
||||
|
@ -309,7 +309,7 @@ weight
|
|||
; State Estimation
|
||||
kalmanFilter
|
||||
{
|
||||
footRadius 0.02
|
||||
footRadius 0.01
|
||||
imuProcessNoisePosition 0.02
|
||||
imuProcessNoiseVelocity 0.02
|
||||
footProcessNoisePosition 0.002
|
||||
|
|
|
@ -74,3 +74,62 @@ unitree_guide_controller:
|
|||
- linear_acceleration.x
|
||||
- linear_acceleration.y
|
||||
- linear_acceleration.z
|
||||
|
||||
ocs2_quadruped_controller:
|
||||
ros__parameters:
|
||||
update_rate: 500 # Hz
|
||||
default_kd: 1.2
|
||||
joints:
|
||||
- FL_HipX
|
||||
- FL_HipY
|
||||
- FL_Knee
|
||||
- FR_HipX
|
||||
- FR_HipY
|
||||
- FR_Knee
|
||||
- HL_HipX
|
||||
- HL_HipY
|
||||
- HL_Knee
|
||||
- HR_HipX
|
||||
- HR_HipY
|
||||
- HR_Knee
|
||||
|
||||
command_interfaces:
|
||||
- effort
|
||||
- position
|
||||
- velocity
|
||||
- kp
|
||||
- kd
|
||||
|
||||
state_interfaces:
|
||||
- effort
|
||||
- position
|
||||
- velocity
|
||||
|
||||
feet:
|
||||
- FL_FOOT
|
||||
- FR_FOOT
|
||||
- HL_FOOT
|
||||
- HR_FOOT
|
||||
|
||||
|
||||
imu_name: "imu_sensor"
|
||||
base_name: "base"
|
||||
|
||||
imu_interfaces:
|
||||
- orientation.w
|
||||
- orientation.x
|
||||
- orientation.y
|
||||
- orientation.z
|
||||
- angular_velocity.x
|
||||
- angular_velocity.y
|
||||
- angular_velocity.z
|
||||
- linear_acceleration.x
|
||||
- linear_acceleration.y
|
||||
- linear_acceleration.z
|
||||
|
||||
foot_force_name: "foot_force"
|
||||
foot_force_interfaces:
|
||||
- FL
|
||||
- HL
|
||||
- FR
|
||||
- HR
|
||||
|
|
|
@ -27,6 +27,11 @@ ros2 launch x30_description visualize.launch.py
|
|||
source ~/ros2_ws/install/setup.bash
|
||||
ros2 launch unitree_guide_controller mujoco.launch.py pkg_description:=x30_description
|
||||
```
|
||||
* OCS2 Quadruped Controller
|
||||
```bash
|
||||
source ~/ros2_ws/install/setup.bash
|
||||
ros2 launch ocs2_quadruped_controller mujoco.launch.py pkg_description:=x30_description
|
||||
```
|
||||
|
||||
### Gazebo Simulator
|
||||
* Unitree Guide Controller
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
targetDisplacementVelocity 0.5;
|
||||
targetRotationVelocity 1.57;
|
||||
|
||||
comHeight 0.33
|
||||
comHeight 0.54;
|
||||
|
||||
defaultJointState
|
||||
{
|
||||
(0,0) -0.20 ; FL_hip_joint
|
||||
(1,0) 0.72 ; FL_thigh_joint
|
||||
(2,0) -1.44 ; FL_calf_joint
|
||||
(3,0) 0.20 ; FR_hip_joint
|
||||
(4,0) 0.72 ; FR_thigh_joint
|
||||
(5,0) -1.44 ; FR_calf_joint
|
||||
(6,0) -0.20 ; RL_hip_joint
|
||||
(7,0) 0.72 ; RL_thigh_joint
|
||||
(8,0) -1.44 ; RL_calf_joint
|
||||
(9,0) 0.20 ; RR_hip_joint
|
||||
(10,0) 0.72 ; RR_thigh_joint
|
||||
(11,0) -1.44 ; RR_calf_joint
|
||||
(0,0) 0.0 ; FL_HipX
|
||||
(1,0) -0.732 ; FL_HipY
|
||||
(2,0) 1.361 ; FL_Knee
|
||||
(3,0) -0.0 ; FR_HipX
|
||||
(4,0) -0.732 ; FR_HipY
|
||||
(5,0) 1.361 ; FR_Knee
|
||||
(6,0) 0.0 ; HL_HipX
|
||||
(7,0) -0.732 ; HL_HipY
|
||||
(8,0) 1.361 ; HL_Knee
|
||||
(9,0) -0.0 ; HR_HipX
|
||||
(10,0) -0.732 ; HR_HipY
|
||||
(11,0) 1.361 ; HR_Knee
|
||||
}
|
||||
|
||||
initialModeSchedule
|
||||
|
|
|
@ -12,14 +12,14 @@ model_settings
|
|||
|
||||
verboseCppAd true
|
||||
recompileLibrariesCppAd false
|
||||
modelFolderCppAd /tmp/ocs2_quadruped_controller/a1
|
||||
modelFolderCppAd /tmp/ocs2_quadruped_controller/x30
|
||||
}
|
||||
|
||||
swing_trajectory_config
|
||||
{
|
||||
liftOffVelocity 0.05
|
||||
touchDownVelocity -0.1
|
||||
swingHeight 0.1
|
||||
swingHeight 0.16
|
||||
swingTimeScale 0.15
|
||||
}
|
||||
|
||||
|
@ -154,24 +154,24 @@ initialState
|
|||
;; Base Pose: [position, orientation] ;;
|
||||
(6,0) 0.0 ; p_base_x
|
||||
(7,0) 0.0 ; p_base_y
|
||||
(8,0) 0.33 ; p_base_z
|
||||
(8,0) 0.54 ; p_base_z
|
||||
(9,0) 0.0 ; theta_base_z
|
||||
(10,0) 0.0 ; theta_base_y
|
||||
(11,0) 0.0 ; theta_base_x
|
||||
|
||||
;; Leg Joint Positions: [FL, RL, FR, RR] ;;
|
||||
(12,0) -0.20 ; FL_hip_joint
|
||||
(13,0) 0.72 ; FL_thigh_joint
|
||||
(14,0) -1.44 ; FL_calf_joint
|
||||
(15,0) -0.20 ; RL_hip_joint
|
||||
(16,0) 0.72 ; RL_thigh_joint
|
||||
(17,0) -1.44 ; RL_calf_joint
|
||||
(18,0) 0.20 ; FR_hip_joint
|
||||
(19,0) 0.72 ; FR_thigh_joint
|
||||
(20,0) -1.44 ; FR_calf_joint
|
||||
(21,0) 0.20 ; RR_hip_joint
|
||||
(22,0) 0.72 ; RR_thigh_joint
|
||||
(23,0) -1.44 ; RR_calf_joint
|
||||
;; Leg Joint Positions: [FL, HL, FR, HR] ;;
|
||||
(12,0) 0.0 ; FL_HipX
|
||||
(13,0) -0.732 ; FL_HipY
|
||||
(14,0) 1.361 ; FL_Knee
|
||||
(15,0) 0.0 ; HL_HipX
|
||||
(16,0) -0.732 ; HL_HipY
|
||||
(17,0) 1.361 ; HL_Knee
|
||||
(18,0) -0.0 ; FR_HipX
|
||||
(19,0) -0.732 ; FR_HipY
|
||||
(20,0) 1.361 ; FR_Knee
|
||||
(21,0) -0.0 ; HR_HipX
|
||||
(22,0) -0.732 ; HR_HipY
|
||||
(23,0) 1.361 ; HR_Knee
|
||||
}
|
||||
|
||||
; standard state weight matrix
|
||||
|
@ -195,19 +195,19 @@ Q
|
|||
(10,10) 300.0 ; theta_base_y
|
||||
(11,11) 300.0 ; theta_base_x
|
||||
|
||||
;; Leg Joint Positions: [FL, RL, FR, RR] ;;
|
||||
(12,12) 5.0 ; FL_hip_joint
|
||||
(13,13) 5.0 ; FL_thigh_joint
|
||||
(14,14) 2.5 ; FL_calf_joint
|
||||
(15,15) 5.0 ; RL_hip_joint
|
||||
(16,16) 5.0 ; RL_thigh_joint
|
||||
(17,17) 2.5 ; RL_calf_joint
|
||||
(18,18) 5.0 ; FR_hip_joint
|
||||
(19,19) 5.0 ; FR_thigh_joint
|
||||
(20,20) 2.5 ; FR_calf_joint
|
||||
(21,21) 5.0 ; RR_hip_joint
|
||||
(22,22) 5.0 ; RR_thigh_joint
|
||||
(23,23) 2.5 ; RR_calf_joint
|
||||
;; Leg Joint Positions: [FL, HL, FR, HR] ;;
|
||||
(12,12) 5.0 ; FL_HipX
|
||||
(13,13) 5.0 ; FL_HipY
|
||||
(14,14) 2.5 ; FL_Knee
|
||||
(15,15) 5.0 ; HL_HipX
|
||||
(16,16) 5.0 ; HL_HipY
|
||||
(17,17) 2.5 ; HL_Knee
|
||||
(18,18) 5.0 ; FR_HipX
|
||||
(19,19) 5.0 ; FR_HipY
|
||||
(20,20) 2.5 ; HR_Knee
|
||||
(21,21) 5.0 ; HR_HipX
|
||||
(22,22) 5.0 ; HR_HipY
|
||||
(23,23) 2.5 ; HR_Knee
|
||||
}
|
||||
|
||||
; control weight matrix
|
||||
|
@ -215,7 +215,7 @@ R
|
|||
{
|
||||
scaling 1e-3
|
||||
|
||||
;; Feet Contact Forces: [FL, FR, RL, RR] ;;
|
||||
;; Feet Contact Forces: [FL, FR, HL, HR] ;;
|
||||
(0,0) 1.0 ; front_left_force
|
||||
(1,1) 1.0 ; front_left_force
|
||||
(2,2) 1.0 ; front_left_force
|
||||
|
@ -229,7 +229,7 @@ R
|
|||
(10,10) 1.0 ; rear_right_force
|
||||
(11,11) 1.0 ; rear_right_force
|
||||
|
||||
;; foot velocity relative to base: [FL, RL, FR, RR] (uses the Jacobian at nominal configuration) ;;
|
||||
;; foot velocity relative to base: [FL, HL, FR, HR] (uses the Jacobian at nominal configuration) ;;
|
||||
(12,12) 5000.0 ; x
|
||||
(13,13) 5000.0 ; y
|
||||
(14,14) 5000.0 ; z
|
||||
|
@ -263,14 +263,14 @@ selfCollision
|
|||
; Self Collision pairs
|
||||
collisionLinkPairs
|
||||
{
|
||||
[0] "FL_calf, FR_calf"
|
||||
[1] "RL_calf, RR_calf"
|
||||
[2] "FL_calf, RL_calf"
|
||||
[3] "FR_calf, RR_calf"
|
||||
[4] "FL_foot, FR_foot"
|
||||
[5] "RL_foot, RR_foot"
|
||||
[6] "FL_foot, RL_foot"
|
||||
[7] "FR_foot, RR_foot"
|
||||
[0] "FL_SHANK, FR_SHANK"
|
||||
[1] "HL_SHANK, HR_SHANK"
|
||||
[2] "FL_SHANK, HL_SHANK"
|
||||
[3] "FR_SHANK, HR_SHANK"
|
||||
[4] "FL_FOOT, FR_FOOT"
|
||||
[5] "HL_FOOT, HR_FOOT"
|
||||
[6] "FL_FOOT, HL_FOOT"
|
||||
[7] "FR_FOOT, HR_FOOT"
|
||||
}
|
||||
|
||||
minimumDistance 0.05
|
||||
|
@ -283,9 +283,9 @@ selfCollision
|
|||
; Whole body control
|
||||
torqueLimitsTask
|
||||
{
|
||||
(0,0) 33.5 ; HAA
|
||||
(1,0) 33.5 ; HFE
|
||||
(2,0) 33.5 ; KFE
|
||||
(0,0) 84.0 ; Hip_X
|
||||
(1,0) 84.0 ; Hip_Y
|
||||
(2,0) 160.0 ; Knee
|
||||
}
|
||||
|
||||
frictionConeTask
|
||||
|
@ -309,7 +309,7 @@ weight
|
|||
; State Estimation
|
||||
kalmanFilter
|
||||
{
|
||||
footRadius 0.02
|
||||
footRadius 0.0165
|
||||
imuProcessNoisePosition 0.02
|
||||
imuProcessNoiseVelocity 0.02
|
||||
footProcessNoisePosition 0.002
|
||||
|
|
|
@ -74,3 +74,62 @@ unitree_guide_controller:
|
|||
- linear_acceleration.x
|
||||
- linear_acceleration.y
|
||||
- linear_acceleration.z
|
||||
|
||||
ocs2_quadruped_controller:
|
||||
ros__parameters:
|
||||
update_rate: 500 # Hz
|
||||
default_kd: 8.0
|
||||
joints:
|
||||
- FL_HipX
|
||||
- FL_HipY
|
||||
- FL_Knee
|
||||
- FR_HipX
|
||||
- FR_HipY
|
||||
- FR_Knee
|
||||
- HL_HipX
|
||||
- HL_HipY
|
||||
- HL_Knee
|
||||
- HR_HipX
|
||||
- HR_HipY
|
||||
- HR_Knee
|
||||
|
||||
command_interfaces:
|
||||
- effort
|
||||
- position
|
||||
- velocity
|
||||
- kp
|
||||
- kd
|
||||
|
||||
state_interfaces:
|
||||
- effort
|
||||
- position
|
||||
- velocity
|
||||
|
||||
feet:
|
||||
- FL_FOOT
|
||||
- FR_FOOT
|
||||
- HL_FOOT
|
||||
- HR_FOOT
|
||||
|
||||
|
||||
imu_name: "imu_sensor"
|
||||
base_name: "base"
|
||||
|
||||
imu_interfaces:
|
||||
- orientation.w
|
||||
- orientation.x
|
||||
- orientation.y
|
||||
- orientation.z
|
||||
- angular_velocity.x
|
||||
- angular_velocity.y
|
||||
- angular_velocity.z
|
||||
- linear_acceleration.x
|
||||
- linear_acceleration.y
|
||||
- linear_acceleration.z
|
||||
|
||||
foot_force_name: "foot_force"
|
||||
foot_force_interfaces:
|
||||
- FL
|
||||
- HL
|
||||
- FR
|
||||
- HR
|
||||
|
|
|
@ -1,72 +1,96 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<robot name="X30">
|
||||
<!-- <link name="base_link">
|
||||
<?xml version="1.0" ?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from robot.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<robot name="x30">
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="TORSO"/>
|
||||
<child link="imu_link"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<link name="imu_link">
|
||||
<inertial>
|
||||
<origin xyz="0.0 0.0 0.0"/>
|
||||
<mass value="1e-12" />
|
||||
<inertia ixx="1e-12" ixy="0" ixz="0" iyy="1e-12" iyz="0" izz="1e-12" />
|
||||
<mass value="0.001"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.0001" iyz="0" izz="0.0001"/>
|
||||
</inertial>
|
||||
</link> -->
|
||||
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size=".001 .001 .001"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<link name="base">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name="floating_base" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="base"/>
|
||||
<child link="TORSO"/>
|
||||
</joint>
|
||||
<link name="TORSO">
|
||||
<inertial>
|
||||
<origin xyz="-0.0029257 7.5034e-06 0.020095" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="-0.0029257 7.5034e-06 0.020095"/>
|
||||
<mass value="30.7"/>
|
||||
<inertia ixx="0.364306" ixy="0.00018421" ixz="0.00027469" iyy="0.597627" iyz="0.00026784" izz="0.757267"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/torso.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/torso.dae"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.44 0.26 0.15"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<!-- <joint name="base_joint" type="fixed">
|
||||
<parent link="base_link" />
|
||||
<child link="torso" />
|
||||
</joint> -->
|
||||
|
||||
<link name="FL_HIP">
|
||||
<inertial>
|
||||
<origin xyz="-0.0018591 -0.011377 0.00027039" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="-0.0018591 -0.011377 0.00027039"/>
|
||||
<mass value="1.43"/>
|
||||
<inertia ixx="0.0014068" ixy="-1.8545e-05" ixz="2.7664e-06" iyy="0.0026782" iyz="2.1221e-06" izz="0.0015918"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/hip.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/hip.dae"/>
|
||||
</geometry>
|
||||
<material name="grey"/>
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<joint name="FL_HipX_joint" type="revolute">
|
||||
<origin xyz="0.291 0.08 0" rpy="0 0 0" />
|
||||
<joint name="FL_HipX" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0.291 0.08 0"/>
|
||||
<parent link="TORSO"/>
|
||||
<child link="FL_HIP"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-0.323" upper="0.585" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-0.323" upper="0.323" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="FL_THIGH">
|
||||
<inertial>
|
||||
<origin xyz="-0.0087581 -0.023554 -0.055162" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="-0.0087581 -0.023554 -0.055162"/>
|
||||
<mass value="4.0809"/>
|
||||
<inertia ixx="0.012604" ixy="0.00020291" ixz="-0.00030875" iyy="0.0164" iyz="0.00036593" izz="0.0061084"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/l_thigh.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/l_thigh.dae"/>
|
||||
</geometry>
|
||||
<material name="light-grey"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="-0.02 0 -0.13"/>
|
||||
|
@ -75,27 +99,24 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FL_HipY_joint" type="revolute">
|
||||
<origin xyz="0 0.11675 0" rpy="0 0 0" />
|
||||
<joint name="FL_HipY" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0.11675 0"/>
|
||||
<parent link="FL_HIP"/>
|
||||
<child link="FL_THIGH"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-2.967" upper="0.262" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-2.967" upper="0.262" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="FL_SHANK">
|
||||
<inertial>
|
||||
<origin xyz="0.014851 2.0685e-05 -0.12283" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="0.014851 2.0685e-05 -0.12283"/>
|
||||
<mass value="0.71386"/>
|
||||
<inertia ixx="0.0093039" ixy="1.7693e-07" ixz="0.00034843" iyy="0.0096272" iyz="-3.7717e-06" izz="0.00041542"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/shank.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/shank.dae"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0. -0.40 0." xyz="0.02 0 -0.046"/>
|
||||
|
@ -116,16 +137,13 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FL_Knee_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.30" rpy="0 0 0" />
|
||||
<joint name="FL_Knee" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.30"/>
|
||||
<parent link="FL_THIGH"/>
|
||||
<child link="FL_SHANK"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit effort="160" lower="0.349" upper="2.531" velocity="16.1"/>
|
||||
</joint>
|
||||
|
||||
<link name="FL_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.06"/>
|
||||
|
@ -137,47 +155,42 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FL_Ankle" type="fixed" dont_collapse="true">
|
||||
<joint dont_collapse="true" name="FL_Ankle" type="fixed">
|
||||
<origin xyz="0 0 -0.31"/>
|
||||
<parent link="FL_SHANK"/>
|
||||
<child link="FL_FOOT"/>
|
||||
</joint>
|
||||
|
||||
<link name="FR_HIP">
|
||||
<inertial>
|
||||
<origin xyz="-0.0018591 0.011377 -2.7675e-05" rpy="3.14159 0 0" />
|
||||
<origin rpy="3.14159 0 0" xyz="-0.0018591 0.011377 -2.7675e-05"/>
|
||||
<mass value="1.43"/>
|
||||
<inertia ixx="0.0014068" ixy="1.8545e-05" ixz="-4.1487e-06" iyy="0.0026782" iyz="7.0795e-06" izz="0.0015918"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/hip.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/hip.dae"/>
|
||||
</geometry>
|
||||
<material name="grey"/>
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<joint name="FR_HipX_joint" type="revolute">
|
||||
<origin xyz="0.291 -0.08 0" rpy="0 0 0" />
|
||||
<joint name="FR_HipX" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0.291 -0.08 0"/>
|
||||
<parent link="TORSO"/>
|
||||
<child link="FR_HIP"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-0.585" upper="0.323" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-0.323" upper="0.323" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="FR_THIGH">
|
||||
<inertial>
|
||||
<origin xyz="-0.0087433 0.023551 -0.055154" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="-0.0087433 0.023551 -0.055154"/>
|
||||
<mass value="4.0809"/>
|
||||
<inertia ixx="0.012604" ixy="-0.00020374" ixz="-0.0003086" iyy="0.0164" iyz="-0.00036585" izz="0.0061086"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/r_thigh.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/r_thigh.dae"/>
|
||||
</geometry>
|
||||
<material name="light-grey"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="-0.02 0 -0.13"/>
|
||||
|
@ -186,27 +199,24 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FR_HipY_joint" type="revolute">
|
||||
<origin xyz="0 -0.11675 0" rpy="0 0 0" />
|
||||
<joint name="FR_HipY" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 -0.11675 0"/>
|
||||
<parent link="FR_HIP"/>
|
||||
<child link="FR_THIGH"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-2.967" upper="0.262" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-2.967" upper="0.262" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="FR_SHANK">
|
||||
<inertial>
|
||||
<origin xyz="0.014851 2.0687e-05 -0.12283" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="0.014851 2.0687e-05 -0.12283"/>
|
||||
<mass value="0.71386"/>
|
||||
<inertia ixx="0.0093039" ixy="1.7692e-07" ixz="0.00034843" iyy="0.0096272" iyz="-3.7714e-06" izz="0.00041542"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/shank.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/shank.dae"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0. -0.40 0." xyz="0.02 0 -0.046"/>
|
||||
|
@ -227,16 +237,13 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FR_Knee_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.30" rpy="0 0 0" />
|
||||
<joint name="FR_Knee" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.30"/>
|
||||
<parent link="FR_THIGH"/>
|
||||
<child link="FR_SHANK"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit effort="160" lower="0.349" upper="2.531" velocity="16.1"/>
|
||||
</joint>
|
||||
|
||||
<link name="FR_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.06"/>
|
||||
|
@ -248,48 +255,42 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FR_Ankle" type="fixed" dont_collapse="true">
|
||||
<joint dont_collapse="true" name="FR_Ankle" type="fixed">
|
||||
<origin xyz="0 0 -0.31"/>
|
||||
<parent link="FR_SHANK"/>
|
||||
<child link="FR_FOOT"/>
|
||||
</joint>
|
||||
|
||||
|
||||
<link name="HL_HIP">
|
||||
<inertial>
|
||||
<origin xyz="0.0018591 -0.011377 -2.7675e-05" rpy="0 3.14159 0" />
|
||||
<origin rpy="0 3.14159 0" xyz="0.0018591 -0.011377 -2.7675e-05"/>
|
||||
<mass value="1.43"/>
|
||||
<inertia ixx="0.0014068" ixy="1.8545e-05" ixz="4.1487e-06" iyy="0.0026782" iyz="-7.0795e-06" izz="0.0015918"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/hip.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/hip.dae"/>
|
||||
</geometry>
|
||||
<material name="grey"/>
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<joint name="HL_HipX_joint" type="revolute">
|
||||
<origin xyz="-0.291 0.08 0" rpy="0 0 0" />
|
||||
<joint name="HL_HipX" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="-0.291 0.08 0"/>
|
||||
<parent link="TORSO"/>
|
||||
<child link="HL_HIP"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-0.323" upper="0.585" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-0.323" upper="0.323" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="HL_THIGH">
|
||||
<inertial>
|
||||
<origin xyz="-0.0087581 -0.023554 -0.055162" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="-0.0087581 -0.023554 -0.055162"/>
|
||||
<mass value="4.0809"/>
|
||||
<inertia ixx="0.012604" ixy="0.00020291" ixz="-0.00030875" iyy="0.0164" iyz="0.00036593" izz="0.0061084"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/l_thigh.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/l_thigh.dae"/>
|
||||
</geometry>
|
||||
<material name="light-grey"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="-0.02 0 -0.13"/>
|
||||
|
@ -298,27 +299,24 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="HL_HipY_joint" type="revolute">
|
||||
<origin xyz="0 0.11675 0" rpy="0 0 0" />
|
||||
<joint name="HL_HipY" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0.11675 0"/>
|
||||
<parent link="HL_HIP"/>
|
||||
<child link="HL_THIGH"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-2.967" upper="0.262" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-2.967" upper="0.262" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="HL_SHANK">
|
||||
<inertial>
|
||||
<origin xyz="0.014851 2.0679e-05 -0.12283" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="0.014851 2.0679e-05 -0.12283"/>
|
||||
<mass value="0.71386"/>
|
||||
<inertia ixx="0.0093039" ixy="1.7692e-07" ixz="0.00034843" iyy="0.0096272" iyz="-3.7714e-06" izz="0.00041542"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/shank.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/shank.dae"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0. -0.40 0." xyz="0.02 0 -0.046"/>
|
||||
|
@ -339,16 +337,13 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="HL_Knee_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.30" rpy="0 0 0" />
|
||||
<joint name="HL_Knee" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.30"/>
|
||||
<parent link="HL_THIGH"/>
|
||||
<child link="HL_SHANK"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit effort="160" lower="0.349" upper="2.531" velocity="16.1"/>
|
||||
</joint>
|
||||
|
||||
<link name="HL_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.06"/>
|
||||
|
@ -360,47 +355,42 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="HL_Ankle" type="fixed" dont_collapse="true">
|
||||
<joint dont_collapse="true" name="HL_Ankle" type="fixed">
|
||||
<origin xyz="0 0 -0.31"/>
|
||||
<parent link="HL_SHANK"/>
|
||||
<child link="HL_FOOT"/>
|
||||
</joint>
|
||||
|
||||
<link name="HR_HIP">
|
||||
<inertial>
|
||||
<origin xyz="0.0018591 0.011377 0.00027039" rpy="3.14159 3.14159 0" />
|
||||
<origin rpy="3.14159 3.14159 0" xyz="0.0018591 0.011377 0.00027039"/>
|
||||
<mass value="1.43"/>
|
||||
<inertia ixx="0.0014068" ixy="-1.8545e-05" ixz="-2.7664e-06" iyy="0.0026782" iyz="-2.1221e-06" izz="0.0015918"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/hip.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/hip.dae"/>
|
||||
</geometry>
|
||||
<material name="grey"/>
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<joint name="HR_HipX_joint" type="revolute">
|
||||
<origin xyz="-0.291 -0.08 0" rpy="0 0 0" />
|
||||
<joint name="HR_HipX" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="-0.291 -0.08 0"/>
|
||||
<parent link="TORSO"/>
|
||||
<child link="HR_HIP"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-0.585" upper="0.323" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-0.323" upper="0.323" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="HR_THIGH">
|
||||
<inertial>
|
||||
<origin xyz="-0.0087433 0.023551 -0.055154" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="-0.0087433 0.023551 -0.055154"/>
|
||||
<mass value="4.0809"/>
|
||||
<inertia ixx="0.012604" ixy="-0.00020374" ixz="-0.0003086" iyy="0.0164" iyz="-0.00036585" izz="0.0061086"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/r_thigh.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/r_thigh.dae"/>
|
||||
</geometry>
|
||||
<material name="light-grey"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin xyz="-0.02 0 -0.13"/>
|
||||
|
@ -409,27 +399,24 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="HR_HipY_joint" type="revolute">
|
||||
<origin xyz="0 -0.11675 0" rpy="0 0 0" />
|
||||
<joint name="HR_HipY" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 -0.11675 0"/>
|
||||
<parent link="HR_HIP"/>
|
||||
<child link="HR_THIGH"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="-2.967" upper="0.262" effort="84" velocity="17.5" />
|
||||
<limit effort="84" lower="-2.967" upper="0.262" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="HR_SHANK">
|
||||
<inertial>
|
||||
<origin xyz="0.014851 2.0679e-05 -0.12283" rpy="0 0 0" />
|
||||
<origin rpy="0 0 0" xyz="0.014851 2.0679e-05 -0.12283"/>
|
||||
<mass value="0.71386"/>
|
||||
<inertia ixx="0.0093039" ixy="1.7692e-07" ixz="0.00034843" iyy="0.0096272" iyz="-3.7714e-06" izz="0.00041542"/>
|
||||
</inertial>
|
||||
<visual>
|
||||
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="../meshes/shank.dae" />
|
||||
<mesh filename="file:///home/hiverlab/ros2_ws/install/x30_description/share/x30_description/meshes/shank.dae"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0. -0.40 0." xyz="0.02 0 -0.046"/>
|
||||
|
@ -450,16 +437,13 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="HR_Knee_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.30" rpy="0 0 0" />
|
||||
<joint name="HR_Knee" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.30"/>
|
||||
<parent link="HR_THIGH"/>
|
||||
<child link="HR_SHANK"/>
|
||||
<axis xyz="0 -1 0"/>
|
||||
<dynamics damping="0.01" friction="0.03"/>
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit effort="160" lower="0.349" upper="2.531" velocity="16.1"/>
|
||||
</joint>
|
||||
|
||||
<link name="HR_FOOT">
|
||||
<inertial>
|
||||
<mass value="0.06"/>
|
||||
|
@ -471,11 +455,288 @@
|
|||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="HR_Ankle" type="fixed" dont_collapse="true">
|
||||
<joint dont_collapse="true" name="HR_Ankle" type="fixed">
|
||||
<origin xyz="0 0 -0.31"/>
|
||||
<parent link="HR_SHANK"/>
|
||||
<child link="HR_FOOT"/>
|
||||
</joint>
|
||||
|
||||
<material name="black">
|
||||
<color rgba="0.0 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="blue">
|
||||
<color rgba="0.0 0.0 0.8 1.0"/>
|
||||
</material>
|
||||
<material name="green">
|
||||
<color rgba="0.0 0.8 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="deep-grey">
|
||||
<color rgba="0.1 0.1 0.1 1.0"/>
|
||||
</material>
|
||||
<material name="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="light-grey">
|
||||
<color rgba="0.35 0.35 0.35 1.0"/>
|
||||
</material>
|
||||
<material name="silver">
|
||||
<color rgba="0.9137254901960784 0.9137254901960784 0.8470588235294118 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
<!-- FL transmissions -->
|
||||
<transmission name="FL_HipX_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FL_HipX">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FL_HipX_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FL_HipY_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FL_HipY">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FL_HipY_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FL_Knee_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FL_Knee">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FL_Knee_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<!-- FR transmissions -->
|
||||
<transmission name="FR_HipX_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FR_HipX">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FR_HipX_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FR_HipY_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FR_HipY">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FR_HipY_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FR_Knee_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FR_Knee">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FR_Knee_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<!-- HL transmissions -->
|
||||
<transmission name="HL_HipX_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="HL_HipX">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="HL_HipX_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="HL_HipY_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="HL_HipY">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="HL_HipY_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="HL_Knee_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="HL_Knee">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="HL_Knee_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<!-- HR transmissions -->
|
||||
<transmission name="HR_HipX_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="HR_HipX">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="HR_HipX_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="HR_HipY_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="HR_HipY">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="HR_HipY_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="HR_Knee_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="HR_Knee">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="HR_Knee_motor">
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<ros2_control name="UnitreeSystem" type="system">
|
||||
<hardware>
|
||||
<plugin>hardware_unitree_mujoco/HardwareUnitree</plugin>
|
||||
</hardware>
|
||||
<joint name="FR_HipX">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="FR_HipY">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="FR_Knee">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="FL_HipX">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="FL_HipY">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="FL_Knee">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="HR_HipX">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="HR_HipY">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="HR_Knee">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="HL_HipX">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="HL_HipY">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="HL_Knee">
|
||||
<command_interface name="position"/>
|
||||
<command_interface name="velocity"/>
|
||||
<command_interface name="effort"/>
|
||||
<command_interface name="kp"/>
|
||||
<command_interface name="kd"/>
|
||||
<state_interface name="position"/>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<sensor name="imu_sensor">
|
||||
<state_interface name="orientation.w"/>
|
||||
<state_interface name="orientation.x"/>
|
||||
<state_interface name="orientation.y"/>
|
||||
<state_interface name="orientation.z"/>
|
||||
<state_interface name="angular_velocity.x"/>
|
||||
<state_interface name="angular_velocity.y"/>
|
||||
<state_interface name="angular_velocity.z"/>
|
||||
<state_interface name="linear_acceleration.x"/>
|
||||
<state_interface name="linear_acceleration.y"/>
|
||||
<state_interface name="linear_acceleration.z"/>
|
||||
</sensor>
|
||||
<sensor name="foot_force">
|
||||
<state_interface name="FR"/>
|
||||
<state_interface name="FL"/>
|
||||
<state_interface name="HR"/>
|
||||
<state_interface name="HL"/>
|
||||
</sensor>
|
||||
</ros2_control>
|
||||
</robot>
|
|
@ -58,7 +58,7 @@
|
|||
<parent link="TORSO"/>
|
||||
<child link="FL_HIP"/>
|
||||
<axis xyz="-1 0 0"/>
|
||||
<limit lower="-0.323" upper="0.585" effort="84" velocity="17.5"/>
|
||||
<limit lower="-0.323" upper="0.323" effort="84" velocity="17.5"/>
|
||||
</joint>
|
||||
|
||||
<link name="FL_THIGH">
|
||||
|
@ -126,7 +126,7 @@
|
|||
<parent link="FL_THIGH" />
|
||||
<child link="FL_SHANK" />
|
||||
<axis xyz="0 -1 0" />
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit lower="0.349" upper="2.531" effort="160" velocity="16.1" />
|
||||
</joint>
|
||||
|
||||
<link name="FL_FOOT">
|
||||
|
@ -166,7 +166,7 @@
|
|||
<parent link="TORSO" />
|
||||
<child link="FR_HIP" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit lower="-0.585" upper="0.323" effort="84" velocity="17.5" />
|
||||
<limit lower="-0.323" upper="0.323" effort="84" velocity="17.5" />
|
||||
</joint>
|
||||
|
||||
<link name="FR_THIGH">
|
||||
|
@ -234,7 +234,7 @@
|
|||
<parent link="FR_THIGH" />
|
||||
<child link="FR_SHANK" />
|
||||
<axis xyz="0 -1 0" />
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit lower="0.349" upper="2.531" effort="160" velocity="16.1" />
|
||||
</joint>
|
||||
|
||||
<link name="FR_FOOT">
|
||||
|
@ -274,7 +274,7 @@
|
|||
<parent link="TORSO" />
|
||||
<child link="HL_HIP" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit lower="-0.323" upper="0.585" effort="84" velocity="17.5" />
|
||||
<limit lower="-0.323" upper="0.323" effort="84" velocity="17.5" />
|
||||
</joint>
|
||||
|
||||
<link name="HL_THIGH">
|
||||
|
@ -342,7 +342,7 @@
|
|||
<parent link="HL_THIGH" />
|
||||
<child link="HL_SHANK" />
|
||||
<axis xyz="0 -1 0" />
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit lower="0.349" upper="2.531" effort="160" velocity="16.1" />
|
||||
</joint>
|
||||
|
||||
<link name="HL_FOOT">
|
||||
|
@ -382,7 +382,7 @@
|
|||
<parent link="TORSO" />
|
||||
<child link="HR_HIP" />
|
||||
<axis xyz="-1 0 0" />
|
||||
<limit lower="-0.585" upper="0.323" effort="84" velocity="17.5" />
|
||||
<limit lower="-0.323" upper="0.323" effort="84" velocity="17.5" />
|
||||
</joint>
|
||||
|
||||
<link name="HR_THIGH">
|
||||
|
@ -450,7 +450,7 @@
|
|||
<parent link="HR_THIGH" />
|
||||
<child link="HR_SHANK" />
|
||||
<axis xyz="0 -1 0" />
|
||||
<limit lower="0.349" upper="2.531" effort="180" velocity="16.1" />
|
||||
<limit lower="0.349" upper="2.531" effort="160" velocity="16.1" />
|
||||
</joint>
|
||||
|
||||
<link name="HR_FOOT">
|
||||
|
|
Loading…
Reference in New Issue