mirror of https://github.com/fan-ziqi/rl_sar.git
add new cyberdog model
This commit is contained in:
parent
067baf430b
commit
ed72fdc6a3
|
@ -0,0 +1,19 @@
|
|||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(cyberdog2_description)
|
||||
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
genmsg
|
||||
roscpp
|
||||
std_msgs
|
||||
tf
|
||||
)
|
||||
|
||||
catkin_package(
|
||||
CATKIN_DEPENDS
|
||||
)
|
||||
|
||||
include_directories(
|
||||
# include
|
||||
${Boost_INCLUDE_DIR}
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
|
@ -0,0 +1,23 @@
|
|||
<launch>
|
||||
|
||||
<!-- <param name="robot_description" textfile="$(find cyberdog2_description)/urdf/cyberdog2_description.urdf"/> -->
|
||||
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find cyberdog2_description)/xacro/robot.xacro'"/>
|
||||
|
||||
<!-- send fake joint values -->
|
||||
<!-- <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher">
|
||||
<param name="use_gui" value="TRUE"/>
|
||||
</node> -->
|
||||
|
||||
<node
|
||||
name="joint_state_publisher_gui"
|
||||
pkg="joint_state_publisher_gui"
|
||||
type="joint_state_publisher_gui" />
|
||||
|
||||
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
|
||||
<param name="publish_frequency" type="double" value="1000.0"/>
|
||||
</node>
|
||||
|
||||
<node pkg="rviz" type="rviz" name="rviz" respawn="false" output="screen"
|
||||
args="-d $(find cyberdog2_description)/launch/test.rviz"/>
|
||||
|
||||
</launch>
|
|
@ -0,0 +1,19 @@
|
|||
<launch>
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch" />
|
||||
<node
|
||||
name="tf_footprint_base"
|
||||
pkg="tf"
|
||||
type="static_transform_publisher"
|
||||
args="0 0 0 0 0 0 base_link base_footprint 40" />
|
||||
<node
|
||||
name="spawn_model"
|
||||
pkg="gazebo_ros"
|
||||
type="spawn_model"
|
||||
args="-file $(find cyberdog_description)/urdf/cyberdog2_description.urdf -urdf -model cyberdog2_description -z 0.6 -unpause"
|
||||
output="screen" />
|
||||
<node
|
||||
name="fake_joint_calibration"
|
||||
pkg="rostopic"
|
||||
type="rostopic"
|
||||
args="pub /calibrated std_msgs/Bool true" />
|
||||
</launch>
|
|
@ -0,0 +1,245 @@
|
|||
Panels:
|
||||
- Class: rviz/Displays
|
||||
Help Height: 78
|
||||
Name: Displays
|
||||
Property Tree Widget:
|
||||
Expanded:
|
||||
- /Global Options1
|
||||
- /Status1
|
||||
Splitter Ratio: 0.5
|
||||
Tree Height: 555
|
||||
- Class: rviz/Selection
|
||||
Name: Selection
|
||||
- Class: rviz/Tool Properties
|
||||
Expanded:
|
||||
- /2D Pose Estimate1
|
||||
- /2D Nav Goal1
|
||||
- /Publish Point1
|
||||
Name: Tool Properties
|
||||
Splitter Ratio: 0.5886790156364441
|
||||
- Class: rviz/Views
|
||||
Expanded:
|
||||
- /Current View1
|
||||
Name: Views
|
||||
Splitter Ratio: 0.5
|
||||
- Class: rviz/Time
|
||||
Name: Time
|
||||
SyncMode: 0
|
||||
SyncSource: ""
|
||||
Preferences:
|
||||
PromptSaveOnExit: true
|
||||
Toolbars:
|
||||
toolButtonStyle: 2
|
||||
Visualization Manager:
|
||||
Class: ""
|
||||
Displays:
|
||||
- Alpha: 0.5
|
||||
Cell Size: 1
|
||||
Class: rviz/Grid
|
||||
Color: 160; 160; 164
|
||||
Enabled: true
|
||||
Line Style:
|
||||
Line Width: 0.029999999329447746
|
||||
Value: Lines
|
||||
Name: Grid
|
||||
Normal Cell Count: 0
|
||||
Offset:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Plane: XY
|
||||
Plane Cell Count: 10
|
||||
Reference Frame: <Fixed Frame>
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Class: rviz/RobotModel
|
||||
Collision Enabled: false
|
||||
Enabled: true
|
||||
Links:
|
||||
All Links Enabled: true
|
||||
Expand Joint Details: false
|
||||
Expand Link Details: false
|
||||
Expand Tree: false
|
||||
FL_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Link Tree Style: Links in Alphabetic Order
|
||||
RL_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
base:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
imu_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
trunk:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Name: RobotModel
|
||||
Robot Description: robot_description
|
||||
TF Prefix: ""
|
||||
Update Interval: 0
|
||||
Value: true
|
||||
Visual Enabled: true
|
||||
- Class: rviz/TF
|
||||
Enabled: false
|
||||
Frame Timeout: 15
|
||||
Frames:
|
||||
All Enabled: true
|
||||
Marker Alpha: 1
|
||||
Marker Scale: 1
|
||||
Name: TF
|
||||
Show Arrows: true
|
||||
Show Axes: true
|
||||
Show Names: true
|
||||
Tree:
|
||||
{}
|
||||
Update Interval: 0
|
||||
Value: false
|
||||
Enabled: true
|
||||
Global Options:
|
||||
Background Color: 48; 48; 48
|
||||
Default Light: true
|
||||
Fixed Frame: trunk
|
||||
Frame Rate: 30
|
||||
Name: root
|
||||
Tools:
|
||||
- Class: rviz/Interact
|
||||
Hide Inactive Objects: true
|
||||
- Class: rviz/MoveCamera
|
||||
- Class: rviz/Select
|
||||
- Class: rviz/FocusCamera
|
||||
- Class: rviz/Measure
|
||||
- Class: rviz/SetInitialPose
|
||||
Theta std deviation: 0.2617993950843811
|
||||
Topic: /initialpose
|
||||
X std deviation: 0.5
|
||||
Y std deviation: 0.5
|
||||
- Class: rviz/SetGoal
|
||||
Topic: /move_base_simple/goal
|
||||
- Class: rviz/PublishPoint
|
||||
Single click: true
|
||||
Topic: /clicked_point
|
||||
Value: true
|
||||
Views:
|
||||
Current:
|
||||
Class: rviz/Orbit
|
||||
Distance: 2.3364639282226562
|
||||
Enable Stereo Rendering:
|
||||
Stereo Eye Separation: 0.05999999865889549
|
||||
Stereo Focal Distance: 1
|
||||
Swap Stereo Eyes: false
|
||||
Value: false
|
||||
Field of View: 0.7853981852531433
|
||||
Focal Point:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Focal Shape Fixed Size: true
|
||||
Focal Shape Size: 0.05000000074505806
|
||||
Invert Z Axis: false
|
||||
Name: Current View
|
||||
Near Clip Distance: 0.009999999776482582
|
||||
Pitch: 0.16539815068244934
|
||||
Target Frame: <Fixed Frame>
|
||||
Yaw: 1.430397391319275
|
||||
Saved: ~
|
||||
Window Geometry:
|
||||
Displays:
|
||||
collapsed: false
|
||||
Height: 846
|
||||
Hide Left Dock: false
|
||||
Hide Right Dock: false
|
||||
QMainWindow State: 000000ff00000000fd000000040000000000000156000002b4fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000002b4000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002b4fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b000002b4000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000030700fffffffb0000000800540069006d006501000000000000045000000000000000000000023f000002b400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||
Selection:
|
||||
collapsed: false
|
||||
Time:
|
||||
collapsed: false
|
||||
Tool Properties:
|
||||
collapsed: false
|
||||
Views:
|
||||
collapsed: false
|
||||
Width: 1200
|
||||
X: 739
|
||||
Y: -14
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0"?>
|
||||
<package format="2">
|
||||
<name>cyberdog2_description</name>
|
||||
<version>1.0.0</version>
|
||||
<description>The cyberdog2_description package</description>
|
||||
<author>TODO</author>
|
||||
<maintainer email="TODO@email.com" />
|
||||
<license>BSD</license>
|
||||
<buildtool_depend>catkin</buildtool_depend>
|
||||
<depend>roscpp</depend>
|
||||
<depend>std_msgs</depend>
|
||||
|
||||
<depend>roslaunch</depend>
|
||||
<depend>robot_state_publisher</depend>
|
||||
<depend>rviz</depend>
|
||||
<depend>joint_state_publisher_gui</depend>
|
||||
<depend>gazebo</depend>
|
||||
|
||||
</package>
|
|
@ -0,0 +1,293 @@
|
|||
Panels:
|
||||
- Class: rviz_common/Displays
|
||||
Help Height: 78
|
||||
Name: Displays
|
||||
Property Tree Widget:
|
||||
Expanded:
|
||||
- /Global Options1
|
||||
- /Status1
|
||||
- /Grid1
|
||||
- /RobotModel1
|
||||
Splitter Ratio: 0.5558823347091675
|
||||
Tree Height: 719
|
||||
- Class: rviz_common/Selection
|
||||
Name: Selection
|
||||
- Class: rviz_common/Tool Properties
|
||||
Expanded:
|
||||
- /2D Goal Pose1
|
||||
- /Publish Point1
|
||||
Name: Tool Properties
|
||||
Splitter Ratio: 0.5886790156364441
|
||||
- Class: rviz_common/Views
|
||||
Expanded:
|
||||
- /Current View1
|
||||
Name: Views
|
||||
Splitter Ratio: 0.5
|
||||
- Class: rviz_common/Time
|
||||
Experimental: false
|
||||
Name: Time
|
||||
SyncMode: 0
|
||||
SyncSource: ""
|
||||
Visualization Manager:
|
||||
Class: ""
|
||||
Displays:
|
||||
- Alpha: 0.5
|
||||
Cell Size: 1
|
||||
Class: rviz_default_plugins/Grid
|
||||
Color: 160; 160; 164
|
||||
Enabled: true
|
||||
Line Style:
|
||||
Line Width: 0.029999999329447746
|
||||
Value: Lines
|
||||
Name: Grid
|
||||
Normal Cell Count: 0
|
||||
Offset:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Plane: XY
|
||||
Plane Cell Count: 10
|
||||
Reference Frame: <Fixed Frame>
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Class: rviz_default_plugins/RobotModel
|
||||
Collision Enabled: false
|
||||
Description File: ""
|
||||
Description Source: Topic
|
||||
Description Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: robot_description
|
||||
Enabled: true
|
||||
Links:
|
||||
AI_camera_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
All Links Enabled: true
|
||||
D435_camera_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Expand Joint Details: false
|
||||
Expand Link Details: false
|
||||
Expand Tree: false
|
||||
FL_abad:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_hip_shoulder:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_knee:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_abad:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_hip_shoulder:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_knee:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Link Tree Style: Links in Alphabetic Order
|
||||
RGB_camera_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_abad:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_hip_shoulder:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_knee:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_abad:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_hip_shoulder:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_knee:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
base_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
body:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
head:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
imu_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Name: RobotModel
|
||||
TF Prefix: ""
|
||||
Update Interval: 0
|
||||
Value: true
|
||||
Visual Enabled: true
|
||||
Enabled: true
|
||||
Global Options:
|
||||
Background Color: 48; 48; 48
|
||||
Fixed Frame: base_link
|
||||
Frame Rate: 30
|
||||
Name: root
|
||||
Tools:
|
||||
- Class: rviz_default_plugins/Interact
|
||||
Hide Inactive Objects: true
|
||||
- Class: rviz_default_plugins/MoveCamera
|
||||
- Class: rviz_default_plugins/Select
|
||||
- Class: rviz_default_plugins/FocusCamera
|
||||
- Class: rviz_default_plugins/Measure
|
||||
Line color: 128; 128; 0
|
||||
- Class: rviz_default_plugins/SetInitialPose
|
||||
Covariance x: 0.25
|
||||
Covariance y: 0.25
|
||||
Covariance yaw: 0.06853891909122467
|
||||
Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /initialpose
|
||||
- Class: rviz_default_plugins/SetGoal
|
||||
Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /goal_pose
|
||||
- Class: rviz_default_plugins/PublishPoint
|
||||
Single click: true
|
||||
Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /clicked_point
|
||||
Transformation:
|
||||
Current:
|
||||
Class: rviz_default_plugins/TF
|
||||
Value: true
|
||||
Views:
|
||||
Current:
|
||||
Class: rviz_default_plugins/Orbit
|
||||
Distance: 1.469738483428955
|
||||
Enable Stereo Rendering:
|
||||
Stereo Eye Separation: 0.05999999865889549
|
||||
Stereo Focal Distance: 1
|
||||
Swap Stereo Eyes: false
|
||||
Value: false
|
||||
Focal Point:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Focal Shape Fixed Size: true
|
||||
Focal Shape Size: 0.05000000074505806
|
||||
Invert Z Axis: false
|
||||
Name: Current View
|
||||
Near Clip Distance: 0.009999999776482582
|
||||
Pitch: 0.9903974533081055
|
||||
Target Frame: <Fixed Frame>
|
||||
Value: Orbit (rviz)
|
||||
Yaw: 5.3835859298706055
|
||||
Saved: ~
|
||||
Window Geometry:
|
||||
Displays:
|
||||
collapsed: false
|
||||
Height: 1016
|
||||
Hide Left Dock: false
|
||||
Hide Right Dock: false
|
||||
QMainWindow State: 000000ff00000000fd0000000400000000000001560000035afc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000035a000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000003efc0100000002fb0000000800540069006d0065010000000000000738000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000004c70000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||
Selection:
|
||||
collapsed: false
|
||||
Time:
|
||||
collapsed: false
|
||||
Tool Properties:
|
||||
collapsed: false
|
||||
Views:
|
||||
collapsed: false
|
||||
Width: 1848
|
||||
X: 72
|
||||
Y: 27
|
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<robot name="cyberdog2_description" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:property name="PI" value="3.1415926535897931" />
|
||||
|
||||
<!-- dimension -->
|
||||
<!-- body -->
|
||||
<xacro:property name="body_width" value="0.190" />
|
||||
<xacro:property name="body_length" value="0.236" />
|
||||
<xacro:property name="body_height" value="0.109" />
|
||||
|
||||
<!-- abad -->
|
||||
<xacro:property name="abad_radius" value="0.039" />
|
||||
<xacro:property name="abad_length" value="0.035" />
|
||||
<xacro:property name="abad_offset_x" value="0.164" />
|
||||
<xacro:property name="abad_offset_y" value="0.042" />
|
||||
<xacro:property name="abad_rotor_offset" value="0.0642303" />
|
||||
<xacro:property name="abad_max" value="39" />
|
||||
<xacro:property name="abad_min" value="-39" />
|
||||
|
||||
<!-- hip -->
|
||||
<xacro:property name="hip_shoulder_radius" value="0.039" />
|
||||
<xacro:property name="hip_shoulder_length" value="0.035" />
|
||||
<xacro:property name="hip_width" value="0.0250" />
|
||||
<xacro:property name="hip_height" value="0.034" />
|
||||
<xacro:property name="hip_offset" value="0.094" />
|
||||
<xacro:property name="hip_length" value="0.12" />
|
||||
<xacro:property name="hip_rotor_offset" value="-0.07577" />
|
||||
<xacro:property name="hip_f_max" value="160" />
|
||||
<xacro:property name="hip_f_min" value="-76" />
|
||||
<xacro:property name="hip_h_max" value="180" />
|
||||
<xacro:property name="hip_h_min" value="-56" />
|
||||
|
||||
<!-- knee -->
|
||||
<xacro:property name="knee_width" value="0.016" />
|
||||
<xacro:property name="knee_height" value="0.016" />
|
||||
<xacro:property name="knee_length" value="0.18341" />
|
||||
<xacro:property name="knee_rotor_offset" value="-0.0342303" />
|
||||
<xacro:property name="knee_max" value="-30" />
|
||||
<xacro:property name="knee_min" value="-145" />
|
||||
<xacro:property name="knee_rubber" value="0.02" />
|
||||
|
||||
<!-- foot -->
|
||||
<xacro:property name="foot_radius" value="0.019" />
|
||||
|
||||
<!-- acuator atribute -->
|
||||
<xacro:property name="abadGearRatio" value="7.75" />
|
||||
<xacro:property name="hipGearRatio" value="7.75" />
|
||||
<xacro:property name="kneeGearRatio" value="7.75" />
|
||||
<xacro:property name="abad_motorTauMax" value="1.5484" />
|
||||
<xacro:property name="hip_motorTauMax" value="1.5484" />
|
||||
<xacro:property name="knee_motorTauMax" value="1.5484" />
|
||||
<xacro:property name="abad_motorVelMax" value="30.9971" />
|
||||
<xacro:property name="hip_motorVelMax" value="30.9971" />
|
||||
<xacro:property name="knee_motorVelMax" value="30.9971" />
|
||||
<!-- <xacro:property name="abad_damping" value="0.01" />
|
||||
<xacro:property name="hip_damping" value="0.01" />
|
||||
<xacro:property name="knee_damping" value="0.01" />
|
||||
<xacro:property name="abad_friction" value="0.1" />
|
||||
<xacro:property name="hip_friction" value="0.1" />
|
||||
<xacro:property name="knee_friction" value="0.1" /> -->
|
||||
<xacro:property name="abad_damping" value="0" />
|
||||
<xacro:property name="hip_damping" value="0" />
|
||||
<xacro:property name="knee_damping" value="0" />
|
||||
<xacro:property name="abad_friction" value="0" />
|
||||
<xacro:property name="hip_friction" value="0" />
|
||||
<xacro:property name="knee_friction" value="0" />
|
||||
|
||||
<!-- inertial&mass value -->
|
||||
<!-- body -->
|
||||
<xacro:property name="body_mass" value="4.030000000" />
|
||||
<xacro:property name="body_com_x" value="0.027300000" />
|
||||
<xacro:property name="body_com_y" value="-0.000242000" />
|
||||
<xacro:property name="body_com_z" value="0.014300000" />
|
||||
<xacro:property name="body_ixx" value="0.018500000" />
|
||||
<xacro:property name="body_ixy" value="-0.000173000" />
|
||||
<xacro:property name="body_ixz" value="-0.010200000" />
|
||||
<xacro:property name="body_iyy" value="0.051700000" />
|
||||
<xacro:property name="body_iyz" value="-0.000028300" />
|
||||
<xacro:property name="body_izz" value="0.048300000" />
|
||||
|
||||
<!-- abad -->
|
||||
<xacro:property name="abad_mass" value="0.354000000" />
|
||||
<xacro:property name="abad_com_x" value="-0.003920000" />
|
||||
<xacro:property name="abad_com_y" value="0.015000000" />
|
||||
<xacro:property name="abad_com_z" value="-0.000306000" />
|
||||
<xacro:property name="abad_ixx" value="0.000190000" />
|
||||
<xacro:property name="abad_ixy" value="-0.000027000" />
|
||||
<xacro:property name="abad_ixz" value="-0.000000344" />
|
||||
<xacro:property name="abad_iyy" value="0.000276000" />
|
||||
<xacro:property name="abad_iyz" value="0.000001950" />
|
||||
<xacro:property name="abad_izz" value="0.000233000" />
|
||||
|
||||
<!-- hip -->
|
||||
<xacro:property name="hip_mass" value="0.482000000" />
|
||||
<xacro:property name="hip_com_x" value="-0.002120000" />
|
||||
<xacro:property name="hip_com_y" value="-0.021200000" />
|
||||
<xacro:property name="hip_com_z" value="-0.018400000" />
|
||||
<xacro:property name="hip_ixx" value="0.001010000" />
|
||||
<xacro:property name="hip_ixy" value="0.000022300" />
|
||||
<xacro:property name="hip_ixz" value="-0.000038500" />
|
||||
<xacro:property name="hip_iyy" value="0.000983000" />
|
||||
<xacro:property name="hip_iyz" value="0.000199000" />
|
||||
<xacro:property name="hip_izz" value="0.000347000" />
|
||||
|
||||
<!-- knee -->
|
||||
<xacro:property name="knee_mass" value="0.116000000" />
|
||||
<xacro:property name="knee_com_x" value="0.000600000" />
|
||||
<xacro:property name="knee_com_y" value="-0.000047200" />
|
||||
<xacro:property name="knee_com_z" value="-0.089300000" />
|
||||
<xacro:property name="knee_ixx" value="0.000668000" />
|
||||
<xacro:property name="knee_ixy" value="0.000000003" />
|
||||
<xacro:property name="knee_ixz" value="0.000023700" />
|
||||
<xacro:property name="knee_iyy" value="0.000674000" />
|
||||
<xacro:property name="knee_iyz" value="0.000000603" />
|
||||
<xacro:property name="knee_izz" value="0.000015400" />
|
||||
|
||||
<!-- rotor -->
|
||||
<xacro:property name="rotor_mass" value="0.056700000" />
|
||||
<xacro:property name="rotor_com_x" value="0" />
|
||||
<xacro:property name="rotor_com_y" value="0" />
|
||||
<xacro:property name="rotor_com_z" value="0" />
|
||||
<xacro:property name="rotor_ixx" value="0.000025300" />
|
||||
<xacro:property name="rotor_ixy" value="0" />
|
||||
<xacro:property name="rotor_ixz" value="0" />
|
||||
<xacro:property name="rotor_iyy" value="0.000047800" />
|
||||
<xacro:property name="rotor_iyz" value="0" />
|
||||
<xacro:property name="rotor_izz" value="0.000025300" />
|
||||
</robot>
|
|
@ -0,0 +1,252 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot name="cyber_dog" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<gazebo>
|
||||
<plugin name="gazebo_rt_control" filename="liblegged_plugin.so">
|
||||
</plugin>
|
||||
<plugin name="gazebo_rt_control" filename="libreal_time_control.so">
|
||||
<robotName>$(arg ROBOT)</robotName>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="imu_link">
|
||||
<gravity>true</gravity>
|
||||
<sensor name="imu_sensor" type="imu">
|
||||
<always_on>true</always_on>
|
||||
<update_rate>500</update_rate>
|
||||
<visualize>true</visualize>
|
||||
<topic>__default_topic__</topic>
|
||||
<plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
|
||||
<topicName>body_imu</topicName>
|
||||
<bodyName>imu_link</bodyName>
|
||||
<updateRateHZ>500.0</updateRateHZ>
|
||||
<gaussianNoise>0.0</gaussianNoise>
|
||||
<xyzOffset>0 0 0</xyzOffset>
|
||||
<rpyOffset>0 0 0</rpyOffset>
|
||||
<frameName>imu_link</frameName>
|
||||
<ros>
|
||||
<remapping>~/out:=imu</remapping>
|
||||
</ros>
|
||||
</plugin>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
|
||||
|
||||
<xacro:if value="$(arg USE_LIDAR)">
|
||||
<gazebo reference="lidar_link">
|
||||
<sensor name="realsense" type="ray">
|
||||
<always_on>true</always_on>
|
||||
<visualize>true</visualize>
|
||||
<pose>0.0 0 0.0 0 0 0</pose>
|
||||
<update_rate>5</update_rate>
|
||||
<ray>
|
||||
<scan>
|
||||
<horizontal>
|
||||
<samples>180</samples>
|
||||
<resolution>1.000000</resolution>
|
||||
<min_angle>-1.5700</min_angle>
|
||||
<max_angle>1.5700</max_angle>
|
||||
</horizontal>
|
||||
</scan>
|
||||
<range>
|
||||
<min>0.01</min>
|
||||
<max>12.00</max>
|
||||
<resolution>0.015000</resolution>
|
||||
</range>
|
||||
<noise>
|
||||
<type>gaussian</type>
|
||||
<mean>0.0</mean>
|
||||
<stddev>0.01</stddev>
|
||||
</noise>
|
||||
</ray>
|
||||
<plugin name="cyberdog_laserscan" filename="libgazebo_ros_ray_sensor.so">
|
||||
<ros>
|
||||
<remapping>~/out:=scan</remapping>
|
||||
</ros>
|
||||
<output_type>sensor_msgs/LaserScan</output_type>
|
||||
<frame_name>lidar_link</frame_name>
|
||||
</plugin>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
</xacro:if>
|
||||
|
||||
<!-- Foot contacts. -->
|
||||
<gazebo reference="FR_knee">
|
||||
<sensor name="FR_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libfoot_contact_plugin.so"/>
|
||||
<contact>
|
||||
<collision>FR_knee_fixed_joint_lump__FR_foot_collision_2</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_knee">
|
||||
<sensor name="FL_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libfoot_contact_plugin.so"/>
|
||||
<contact>
|
||||
<collision>FL_knee_fixed_joint_lump__FL_foot_collision_2</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_knee">
|
||||
<sensor name="RR_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libfoot_contact_plugin.so"/>
|
||||
<contact>
|
||||
<collision>RR_knee_fixed_joint_lump__RR_foot_collision_2</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_knee">
|
||||
<sensor name="RL_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libfoot_contact_plugin.so"/>
|
||||
<contact>
|
||||
<collision>RL_knee_fixed_joint_lump__RL_foot_collision_2</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
|
||||
|
||||
<gazebo reference="base">
|
||||
<material>Gazebo/Green</material>
|
||||
<turnGravityOff>false</turnGravityOff>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="body">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="stick_link">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/White</material>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="imu_link">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/Red</material>
|
||||
</gazebo>
|
||||
|
||||
<!-- FL leg -->
|
||||
<gazebo reference="FL_abad">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_knee">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_foot">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- FR leg -->
|
||||
<gazebo reference="FR_abad">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_knee">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_foot">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- RL leg -->
|
||||
<gazebo reference="RL_abad">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_knee">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<kp value="5000000000.0"/>
|
||||
<kd value="50000.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_foot">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- RR leg -->
|
||||
<gazebo reference="RR_abad">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_knee">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<kp value="5000000000.0"/>
|
||||
<kd value="50000.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_foot">
|
||||
<mu1>0.7</mu1>
|
||||
<mu2>0.7</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="50000.0"/>
|
||||
<kd value="5000.0"/>
|
||||
</gazebo>
|
||||
|
||||
</robot>
|
|
@ -0,0 +1,247 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:include filename="../xacro/transmission.xacro" />
|
||||
|
||||
<xacro:macro name="leg" params="name mirror mirror_dae front_hind front_hind_dae *origin">
|
||||
|
||||
<joint name="${name}_hip_joint" type="revolute">
|
||||
<xacro:insert_block name="origin" />
|
||||
<parent link="trunk" />
|
||||
<child link="${name}_hip" />
|
||||
<axis xyz="1 0 0" />
|
||||
<dynamics damping="${abad_damping}" friction="${abad_friction}" />
|
||||
<xacro:if value="${(mirror_dae == True)}">
|
||||
<limit effort="${abad_motorTauMax*abadGearRatio}"
|
||||
velocity="${abad_motorVelMax}" lower="${abad_min*PI/180.0}"
|
||||
upper="${abad_max*PI/180.0}" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == False)}">
|
||||
<limit effort="${abad_motorTauMax*abadGearRatio}"
|
||||
velocity="${abad_motorVelMax}" lower="${-abad_max*PI/180.0}"
|
||||
upper="${-abad_min*PI/180.0}" />
|
||||
</xacro:if>
|
||||
</joint>
|
||||
|
||||
<link name="${name}_hip">
|
||||
<visual>
|
||||
<xacro:if value="${(mirror_dae == True) and (front_hind_dae == True)}">
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == False) and (front_hind_dae == True)}">
|
||||
<origin rpy="${PI} 0 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == True) and (front_hind_dae == False)}">
|
||||
<origin rpy="0 ${PI} 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == False) and (front_hind_dae == False)}">
|
||||
<origin rpy="${PI} ${PI} 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog2_description/meshes/abad.dae" scale="1 1 1" />
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="${PI/2.0} 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<cylinder length="${abad_length}" radius="${abad_radius}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0"
|
||||
xyz="${abad_com_x*front_hind} ${abad_com_y*mirror} ${abad_com_z}" />
|
||||
<mass value="${abad_mass}" />
|
||||
<inertia ixx="${abad_ixx}" ixy="${abad_ixy*mirror*front_hind}"
|
||||
ixz="${abad_ixz*front_hind}" iyy="${abad_iyy}" iyz="${abad_iyz*mirror}"
|
||||
izz="${abad_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<!-- <joint name="${name}_hip_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="${-abad_rotor_offset*front_hind} 0 0" />
|
||||
<parent link="${name}_hip" />
|
||||
<child link="${name}_hip_rotor" />
|
||||
</joint> -->
|
||||
|
||||
<!-- this link is only for abad rotor inertial -->
|
||||
<!-- <link name="${name}_hip_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${rotor_com_x} ${rotor_com_y} ${rotor_com_z}" />
|
||||
<mass value="${rotor_mass}" />
|
||||
<inertia ixx="${rotor_ixx}" ixy="${rotor_ixy}" ixz="${rotor_ixz}" iyy="${rotor_iyy}" iyz="${rotor_iyz}" izz="${rotor_izz}" />
|
||||
</inertial>
|
||||
</link> -->
|
||||
|
||||
<!-- <joint name="${name}_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 ${(hip_offset-hip_shoulder_length)*mirror} 0" />
|
||||
<parent link="${name}_hip" />
|
||||
<child link="${name}_thigh_shoulder" />
|
||||
</joint> -->
|
||||
|
||||
<!-- <link name="${name}_thigh_shoulder">
|
||||
<collision>
|
||||
<origin rpy="${PI/2.0} 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<cylinder length="${hip_shoulder_length}" radius="${hip_shoulder_radius}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
</link> -->
|
||||
|
||||
<joint name="${name}_thigh_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 ${hip_offset*mirror} 0" />
|
||||
<parent link="${name}_hip" />
|
||||
<child link="${name}_thigh" />
|
||||
<axis xyz="0 1 0" />
|
||||
<dynamics damping="${hip_damping}" friction="${hip_friction}" />
|
||||
<xacro:if value="${front_hind_dae == True}">
|
||||
<limit effort="${hip_motorTauMax*hipGearRatio}"
|
||||
velocity="${hip_motorVelMax}" lower="${hip_f_min*PI/180.0}"
|
||||
upper="${hip_f_max*PI/180.0}" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${front_hind_dae == False}">
|
||||
<limit effort="${hip_motorTauMax*hipGearRatio}"
|
||||
velocity="${hip_motorVelMax}" lower="${hip_h_min*PI/180.0}"
|
||||
upper="${hip_h_max*PI/180.0}" />
|
||||
</xacro:if>
|
||||
</joint>
|
||||
|
||||
<link name="${name}_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<xacro:if value="${mirror_dae == True}">
|
||||
<mesh filename="package://cyberdog2_description/meshes/hip.dae"
|
||||
scale="1 1 1" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${mirror_dae == False}">
|
||||
<mesh filename="package://cyberdog2_description/meshes/hip_mirror.dae"
|
||||
scale="1 1 1" />
|
||||
</xacro:if>
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 ${PI/2.0} 0" xyz="0 0 ${-hip_length/2.0}" />
|
||||
<geometry>
|
||||
<box size="${hip_length} ${hip_width} ${hip_height}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${hip_com_x} ${hip_com_y*mirror} ${hip_com_z}" />
|
||||
<mass value="${hip_mass}" />
|
||||
<inertia ixx="${hip_ixx}" ixy="${hip_ixy*mirror}" ixz="${hip_ixz}" iyy="${hip_iyy}"
|
||||
iyz="${hip_iyz*mirror}" izz="${hip_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<!-- <joint name="${name}_thigh_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 ${hip_rotor_offset*mirror} 0" />
|
||||
<parent link="${name}_thigh" />
|
||||
<child link="${name}_thigh_rotor" />
|
||||
</joint> -->
|
||||
|
||||
<!-- this link is only for hip rotor inertial -->
|
||||
<!-- <link name="${name}_thigh_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${rotor_com_x} ${rotor_com_y} ${rotor_com_z}" />
|
||||
<mass value="${rotor_mass}" />
|
||||
<inertia ixx="${rotor_ixx}" ixy="${rotor_ixy}" ixz="${rotor_ixz}" iyy="${rotor_iyy}" iyz="${rotor_iyz}" izz="${rotor_izz}" />
|
||||
</inertial>
|
||||
</link> -->
|
||||
|
||||
<!-- <joint name="${name}_calf_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 ${knee_rotor_offset*mirror} 0" />
|
||||
<parent link="${name}_thigh" />
|
||||
<child link="${name}_calf_rotor" />
|
||||
</joint> -->
|
||||
|
||||
<!-- this link is only for knee rotor inertial -->
|
||||
<!-- <link name="${name}_calf_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${rotor_com_x} ${rotor_com_y} ${rotor_com_z}" />
|
||||
<mass value="${rotor_mass}" />
|
||||
<inertia ixx="${rotor_ixx}" ixy="${rotor_ixy}" ixz="${rotor_ixz}" iyy="${rotor_iyy}" iyz="${rotor_iyz}" izz="${rotor_izz}" />
|
||||
</inertial>
|
||||
</link> -->
|
||||
|
||||
<joint name="${name}_calf_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 ${-hip_length}" />
|
||||
<parent link="${name}_thigh" />
|
||||
<child link="${name}_calf" />
|
||||
<axis xyz="0 1 0" />
|
||||
<dynamics damping="${hip_damping}" friction="${hip_friction}" />
|
||||
<limit effort="${knee_motorTauMax*kneeGearRatio}"
|
||||
velocity="${knee_motorVelMax}" lower="${knee_min*PI/180.0}"
|
||||
upper="${knee_max*PI/180.0}" />
|
||||
</joint>
|
||||
|
||||
<link name="${name}_calf">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog2_description/meshes/knee.dae" scale="1 1 1" />
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 ${PI} 0" xyz="0 0 ${-knee_length/2.0}" />
|
||||
<geometry>
|
||||
<box size="${knee_height} ${knee_width} ${knee_length}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<!-- <collision name="${name}_calf_rubber">
|
||||
<origin rpy="0 ${PI} 0" xyz="${-knee_rubber/2.0} 0 -0.007" />
|
||||
<geometry>
|
||||
<sphere radius="0.016" />
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<max_vel>0.00001</max_vel>
|
||||
<min_depth>0.0</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision> -->
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${knee_com_x} ${knee_com_y} ${knee_com_z}" />
|
||||
<mass value="${knee_mass}" />
|
||||
<inertia ixx="${knee_ixx}" ixy="${knee_ixy}" ixz="${knee_ixz}" iyy="${knee_iyy}"
|
||||
iyz="${knee_iyz}" izz="${knee_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_foot_fixed" type="fixed" dont_collapse="true">
|
||||
<origin rpy="0 0 0" xyz="0.0055 0 ${-knee_length+foot_radius/2.0}" />
|
||||
<parent link="${name}_calf" />
|
||||
<child link="${name}_foot" />
|
||||
</joint>
|
||||
|
||||
<link name="${name}_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<sphere radius="${foot_radius-0.01}" />
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<sphere radius="${foot_radius}" />
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<max_vel>0.001</max_vel>
|
||||
<min_depth>0.0</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<xacro:leg_transmission name="${name}" />
|
||||
</xacro:macro>
|
||||
</robot>
|
|
@ -0,0 +1,228 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot name="cyberdog2_description" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:arg name="ROBOT" default="cyberdog2_description" />
|
||||
<xacro:arg name="USE_LIDAR" default="false" />
|
||||
<xacro:include filename="const.xacro" />
|
||||
<xacro:include filename="leg.xacro" />
|
||||
<!-- <xacro:include filename="gazebo.xacro" /> -->
|
||||
|
||||
<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="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="silver">
|
||||
<color rgba="0.913725490196 0.913725490196 0.847058823529 1.0"/>
|
||||
</material>
|
||||
<material name="orange">
|
||||
<color rgba="0.12 0.15 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="brown">
|
||||
<color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
|
||||
</material>
|
||||
<material name="red">
|
||||
<color rgba="0.8 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
|
||||
<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="trunk" />
|
||||
</joint>
|
||||
|
||||
<link name="trunk">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog2_description/meshes/body.dae" scale="1 1 1" />
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<box size="${body_length} ${body_width} ${body_height}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${body_com_x} ${body_com_y} ${body_com_z}" />
|
||||
<mass value="${body_mass}" />
|
||||
<inertia ixx="${body_ixx}" ixy="${body_ixy}" ixz="${body_ixz}" iyy="${body_iyy}" iyz="${body_iyz}" izz="${body_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="trunk" />
|
||||
<child link="imu_link" />
|
||||
<origin rpy="0 0 0" xyz="33.4e-3 -17.2765e-3 51.0469e-3" />
|
||||
</joint>
|
||||
|
||||
<link name="imu_link">
|
||||
<inertial>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<!-- <joint name="scan_joint" type="fixed">
|
||||
<parent link="body" />
|
||||
<child link="lidar_link" />
|
||||
<origin rpy="0 0 0" xyz="0.21425 0 0.0908" />
|
||||
</joint>
|
||||
|
||||
<link name="lidar_link">
|
||||
<inertial>
|
||||
<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>
|
||||
|
||||
<joint name="D435_camera_joint" type="fixed">
|
||||
<parent link="body" />
|
||||
<child link="D435_camera_link" />
|
||||
<origin rpy="0 0 0" xyz="271.994e-3 25e-3 114.912e-3" />
|
||||
</joint>
|
||||
|
||||
<link name="D435_camera_link">
|
||||
<inertial>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<joint name="RGB_camera_joint" type="fixed">
|
||||
<parent link="body" />
|
||||
<child link="RGB_camera_link" />
|
||||
<origin rpy="0 0 0" xyz="275.76e-3 0 125.794e-3" />
|
||||
</joint>
|
||||
|
||||
<link name="RGB_camera_link">
|
||||
<inertial>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<joint name="AI_camera_joint" type="fixed">
|
||||
<parent link="body" />
|
||||
<child link="AI_camera_link" />
|
||||
<origin rpy="0 0 0" xyz="290.228e-3 0 147.420e-3" />
|
||||
</joint>
|
||||
|
||||
<link name="AI_camera_link">
|
||||
<inertial>
|
||||
<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>
|
||||
<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> -->
|
||||
|
||||
<xacro:leg name="FR" mirror="-1" mirror_dae="False" front_hind="1" front_hind_dae="True">
|
||||
<origin rpy="0 0 0" xyz="${abad_offset_x} ${-abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<xacro:leg name="FL" mirror="1" mirror_dae="True" front_hind="1" front_hind_dae="True">
|
||||
<origin rpy="0 0 0" xyz="${abad_offset_x} ${abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<xacro:leg name="RR" mirror="-1" mirror_dae="False" front_hind="-1" front_hind_dae="False">
|
||||
<origin rpy="0 0 0" xyz="${-abad_offset_x} ${-abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<xacro:leg name="RL" mirror="1" mirror_dae="True" front_hind="-1" front_hind_dae="False">
|
||||
<origin rpy="0 0 0" xyz="${-abad_offset_x} ${abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<!-- This link is only for head collision -->
|
||||
<!-- <joint name="head_joint" type="fixed">
|
||||
<parent link="trunk" />
|
||||
<child link="head" />
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
</joint>
|
||||
<link name="head">
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.256 0 0.120" />
|
||||
<geometry>
|
||||
<box size="0.076 0.060 0.040" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.225 0 0.150" />
|
||||
<geometry>
|
||||
<box size="0.020 0.080 0.100" />
|
||||
</geometry>
|
||||
</collision>
|
||||
</link> -->
|
||||
|
||||
</robot>
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:macro name="leg_transmission" params="name">
|
||||
|
||||
<transmission name="${name}_hip_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="${name}_hip_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${name}_hip_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>"${abadGearRatio}"</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="${name}_thigh_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="${name}_thigh_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${name}_thigh_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>"${hipGearRatio}"</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="${name}_calf_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="${name}_calf_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${name}_calf_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>"${kneeGearRatio}"</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
</xacro:macro>
|
||||
|
||||
</robot>
|
|
@ -1,7 +1,6 @@
|
|||
<launch>
|
||||
|
||||
<param name="robot_description" textfile="$(find cyberdog_description)/urdf/cyberdog_description.urdf"/>
|
||||
|
||||
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find cyberdog_description)/xacro/robot.xacro'"/>
|
||||
<!-- send fake joint values -->
|
||||
<!-- <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher">
|
||||
<param name="use_gui" value="TRUE"/>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<package format="2">
|
||||
<name>cyberdog_description</name>
|
||||
<version>1.0.0</version>
|
||||
<version>2.0.0</version>
|
||||
<description>The cyberdog_description package</description>
|
||||
<author>TODO</author>
|
||||
<maintainer email="TODO@email.com" />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,775 @@
|
|||
<?xml version="1.0" ?>
|
||||
<robot name="cyberdog_description" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<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="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="silver">
|
||||
<color rgba="0.913725490196 0.913725490196 0.847058823529 1.0"/>
|
||||
</material>
|
||||
<material name="orange">
|
||||
<color rgba="0.12 0.15 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="brown">
|
||||
<color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
|
||||
</material>
|
||||
<material name="red">
|
||||
<color rgba="0.8 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
|
||||
<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="trunk"/>
|
||||
</joint>
|
||||
<link name="trunk">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.36 0.23 0.15"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.36 0.23 0.15"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.018785003 0.003291012 -0.000925646"/>
|
||||
<mass value="6.248410872"/>
|
||||
<inertia ixx="0.032143039" ixy="-0.000268204" ixz="-0.00241341" iyy="0.13578316" iyz="8.0244e-05" izz="0.14828095"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="trunk"/>
|
||||
<child link="imu_link"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<link name="imu_link">
|
||||
</link>
|
||||
|
||||
<joint name="FR_hip_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0.23035 -0.05 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="FR_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-0.76096355387" upper="0.76096355387" velocity="31"/>
|
||||
</joint>
|
||||
<link name="FR_hip">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.001597914 -0.001680938 2.253e-06"/>
|
||||
<mass value="0.537806728"/>
|
||||
<inertia ixx="0.000403612" ixy="9.337e-06" ixz="5.36e-07" iyy="0.000600779" iyz="6.3e-08" izz="0.000417249"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_hip_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="-0.0832504 0 0"/>
|
||||
<parent link="FR_hip"/>
|
||||
<child link="FR_hip_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for abad rotor inertial -->
|
||||
<link name="FR_hip_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.053076000000000005 0"/>
|
||||
<parent link="FR_hip"/>
|
||||
<child link="FR_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="FR_thigh_shoulder">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="FR_thigh_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 -0.105076 0"/>
|
||||
<parent link="FR_hip"/>
|
||||
<child link="FR_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-1.88495559215" upper="3.76991118431" velocity="31"/>
|
||||
</joint>
|
||||
<link name="FR_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.003205778 0.027811623 -0.027767048"/>
|
||||
<mass value="0.950266218"/>
|
||||
<inertia ixx="0.004811898" ixy="-9.3647e-05" ixz="-0.000208709" iyy="0.004752366" iyz="-0.000813258" izz="0.001079691"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_thigh_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.107226 0"/>
|
||||
<parent link="FR_thigh"/>
|
||||
<child link="FR_thigh_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for hip rotor inertial -->
|
||||
<link name="FR_thigh_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_calf_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.0426259 0"/>
|
||||
<parent link="FR_thigh"/>
|
||||
<child link="FR_calf_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for knee rotor inertial -->
|
||||
<link name="FR_calf_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_calf_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.2"/>
|
||||
<parent link="FR_thigh"/>
|
||||
<child link="FR_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-2.49582083035" upper="-0.717155789644" velocity="31"/>
|
||||
</joint>
|
||||
<link name="FR_calf">
|
||||
<visual>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<visual name="FR_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name="FR_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.007372358 0.000122423 -0.10769301"/>
|
||||
<mass value="0.1135916"/>
|
||||
<inertia ixx="0.000667971" ixy="-1e-09" ixz="5.356e-06" iyy="0.000674399" iyz="-1.5e-08" izz="1.4181e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_foot_fixed" type="fixed" dont_collapse="true">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.19999999999999998"/>
|
||||
<parent link="FR_calf"/>
|
||||
<child link="FR_foot"/>
|
||||
</joint>
|
||||
<link name="FR_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="FL_hip_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0.23035 0.05 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="FL_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-0.76096355387" upper="0.76096355387" velocity="31"/>
|
||||
</joint>
|
||||
<link name="FL_hip">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.001597914 0.001680938 2.253e-06"/>
|
||||
<mass value="0.537806728"/>
|
||||
<inertia ixx="0.000403612" ixy="-9.337e-06" ixz="5.36e-07" iyy="0.000600779" iyz="-6.3e-08" izz="0.000417249"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_hip_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="-0.0832504 0 0"/>
|
||||
<parent link="FL_hip"/>
|
||||
<child link="FL_hip_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for abad rotor inertial -->
|
||||
<link name="FL_hip_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.053076000000000005 0"/>
|
||||
<parent link="FL_hip"/>
|
||||
<child link="FL_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="FL_thigh_shoulder">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="FL_thigh_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0.105076 0"/>
|
||||
<parent link="FL_hip"/>
|
||||
<child link="FL_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-1.88495559215" upper="3.76991118431" velocity="31"/>
|
||||
</joint>
|
||||
<link name="FL_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.003205778 -0.027811623 -0.027767048"/>
|
||||
<mass value="0.950266218"/>
|
||||
<inertia ixx="0.004811898" ixy="9.3647e-05" ixz="-0.000208709" iyy="0.004752366" iyz="0.000813258" izz="0.001079691"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_thigh_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.107226 0"/>
|
||||
<parent link="FL_thigh"/>
|
||||
<child link="FL_thigh_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for hip rotor inertial -->
|
||||
<link name="FL_thigh_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_calf_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.0426259 0"/>
|
||||
<parent link="FL_thigh"/>
|
||||
<child link="FL_calf_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for knee rotor inertial -->
|
||||
<link name="FL_calf_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_calf_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.2"/>
|
||||
<parent link="FL_thigh"/>
|
||||
<child link="FL_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-2.49582083035" upper="-0.717155789644" velocity="31"/>
|
||||
</joint>
|
||||
<link name="FL_calf">
|
||||
<visual>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<visual name="FL_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name="FL_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.007372358 0.000122423 -0.10769301"/>
|
||||
<mass value="0.1135916"/>
|
||||
<inertia ixx="0.000667971" ixy="-1e-09" ixz="5.356e-06" iyy="0.000674399" iyz="-1.5e-08" izz="1.4181e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_foot_fixed" type="fixed" dont_collapse="true">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.19999999999999998"/>
|
||||
<parent link="FL_calf"/>
|
||||
<child link="FL_foot"/>
|
||||
</joint>
|
||||
<link name="FL_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="RR_hip_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="-0.23035 -0.05 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="RR_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-0.76096355387" upper="0.76096355387" velocity="31"/>
|
||||
</joint>
|
||||
<link name="RR_hip">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.001597914 -0.001680938 2.253e-06"/>
|
||||
<mass value="0.537806728"/>
|
||||
<inertia ixx="0.000403612" ixy="-9.337e-06" ixz="-5.36e-07" iyy="0.000600779" iyz="6.3e-08" izz="0.000417249"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_hip_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0.0832504 0 0"/>
|
||||
<parent link="RR_hip"/>
|
||||
<child link="RR_hip_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for abad rotor inertial -->
|
||||
<link name="RR_hip_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.053076000000000005 0"/>
|
||||
<parent link="RR_hip"/>
|
||||
<child link="RR_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="RR_thigh_shoulder">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="RR_thigh_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 -0.105076 0"/>
|
||||
<parent link="RR_hip"/>
|
||||
<child link="RR_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-1.88495559215" upper="3.76991118431" velocity="31"/>
|
||||
</joint>
|
||||
<link name="RR_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.003205778 0.027811623 -0.027767048"/>
|
||||
<mass value="0.950266218"/>
|
||||
<inertia ixx="0.004811898" ixy="-9.3647e-05" ixz="-0.000208709" iyy="0.004752366" iyz="-0.000813258" izz="0.001079691"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_thigh_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.107226 0"/>
|
||||
<parent link="RR_thigh"/>
|
||||
<child link="RR_thigh_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for hip rotor inertial -->
|
||||
<link name="RR_thigh_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_calf_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.0426259 0"/>
|
||||
<parent link="RR_thigh"/>
|
||||
<child link="RR_calf_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for knee rotor inertial -->
|
||||
<link name="RR_calf_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_calf_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.2"/>
|
||||
<parent link="RR_thigh"/>
|
||||
<child link="RR_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-2.49582083035" upper="-0.717155789644" velocity="31"/>
|
||||
</joint>
|
||||
<link name="RR_calf">
|
||||
<visual>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<visual name="RR_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name="RR_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.007372358 0.000122423 -0.10769301"/>
|
||||
<mass value="0.1135916"/>
|
||||
<inertia ixx="0.000667971" ixy="-1e-09" ixz="5.356e-06" iyy="0.000674399" iyz="-1.5e-08" izz="1.4181e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_foot_fixed" type="fixed" dont_collapse="true">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.19999999999999998"/>
|
||||
<parent link="RR_calf"/>
|
||||
<child link="RR_foot"/>
|
||||
</joint>
|
||||
<link name="RR_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<!-- <xacro:leg_transmission name="${name}" /> -->
|
||||
<joint name="RL_hip_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="-0.23035 0.05 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="RL_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-0.76096355387" upper="0.76096355387" velocity="31"/>
|
||||
</joint>
|
||||
<link name="RL_hip">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.001597914 0.001680938 2.253e-06"/>
|
||||
<mass value="0.537806728"/>
|
||||
<inertia ixx="0.000403612" ixy="9.337e-06" ixz="-5.36e-07" iyy="0.000600779" iyz="-6.3e-08" izz="0.000417249"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_hip_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0.0832504 0 0"/>
|
||||
<parent link="RL_hip"/>
|
||||
<child link="RL_hip_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for abad rotor inertial -->
|
||||
<link name="RL_hip_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.053076000000000005 0"/>
|
||||
<parent link="RL_hip"/>
|
||||
<child link="RL_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="RL_thigh_shoulder">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.052" radius="0.047"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<joint name="RL_thigh_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0.105076 0"/>
|
||||
<parent link="RL_hip"/>
|
||||
<child link="RL_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-1.88495559215" upper="3.76991118431" velocity="31"/>
|
||||
</joint>
|
||||
<link name="RL_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="0 0 -0.1"/>
|
||||
<geometry>
|
||||
<box size="0.2 0.035 0.05"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.003205778 -0.027811623 -0.027767048"/>
|
||||
<mass value="0.950266218"/>
|
||||
<inertia ixx="0.004811898" ixy="9.3647e-05" ixz="-0.000208709" iyy="0.004752366" iyz="0.000813258" izz="0.001079691"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_thigh_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.107226 0"/>
|
||||
<parent link="RL_thigh"/>
|
||||
<child link="RL_thigh_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for hip rotor inertial -->
|
||||
<link name="RL_thigh_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_calf_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.0426259 0"/>
|
||||
<parent link="RL_thigh"/>
|
||||
<child link="RL_calf_rotor"/>
|
||||
</joint>
|
||||
<!-- this link is only for knee rotor inertial -->
|
||||
<link name="RL_calf_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="0.076506382"/>
|
||||
<inertia ixx="4.5843e-05" ixy="0" ixz="0" iyy="4.5871e-05" iyz="0" izz="8.9031e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_calf_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.2"/>
|
||||
<parent link="RL_thigh"/>
|
||||
<child link="RL_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="24" lower="-2.49582083035" upper="-0.717155789644" velocity="31"/>
|
||||
</joint>
|
||||
<link name="RL_calf">
|
||||
<visual>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<visual name="RL_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 3.141592653589793 0" xyz="0 0 -0.1045"/>
|
||||
<geometry>
|
||||
<box size="0.016 0.016 0.209"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name="RL_calf_rubber">
|
||||
<origin rpy="0 3.141592653589793 0" xyz="-0.0125 0 -0.007"/>
|
||||
<geometry>
|
||||
<sphere radius="0.016"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.007372358 0.000122423 -0.10769301"/>
|
||||
<mass value="0.1135916"/>
|
||||
<inertia ixx="0.000667971" ixy="-1e-09" ixz="5.356e-06" iyy="0.000674399" iyz="-1.5e-08" izz="1.4181e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_foot_fixed" type="fixed" dont_collapse="true">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.19999999999999998"/>
|
||||
<parent link="RL_calf"/>
|
||||
<child link="RL_foot"/>
|
||||
</joint>
|
||||
<link name="RL_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
<material name="silver"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.018"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
</robot>
|
|
@ -0,0 +1,124 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:property name="PI" value="3.1415926535897931" />
|
||||
|
||||
<!-- dimension -->
|
||||
<!-- body -->
|
||||
<xacro:property name="body_width" value="0.23" />
|
||||
<xacro:property name="body_length" value="0.36" />
|
||||
<xacro:property name="body_height" value="0.15" />
|
||||
|
||||
<!-- abad -->
|
||||
<xacro:property name="abad_radius" value="0.047" />
|
||||
<xacro:property name="abad_length" value="0.052" />
|
||||
<xacro:property name="abad_offset_x" value="0.23035" />
|
||||
<xacro:property name="abad_offset_y" value="0.05" />
|
||||
<xacro:property name="abad_rotor_offset" value="0.0832504" />
|
||||
<xacro:property name="abad_max" value="0.76096355387" />
|
||||
<xacro:property name="abad_min" value="-0.76096355387" />
|
||||
|
||||
<!-- hip -->
|
||||
<xacro:property name="hip_shoulder_radius" value="0.047" />
|
||||
<xacro:property name="hip_shoulder_length" value="0.052" />
|
||||
<xacro:property name="hip_width" value="0.035" />
|
||||
<xacro:property name="hip_height" value="0.050" />
|
||||
<xacro:property name="hip_offset" value="0.105076" />
|
||||
<xacro:property name="hip_length" value="0.2" />
|
||||
<xacro:property name="hip_rotor_offset" value="-0.107226" />
|
||||
<xacro:property name="hip_f_max" value="3.76991118431" />
|
||||
<xacro:property name="hip_f_min" value="-1.88495559215" />
|
||||
<xacro:property name="hip_h_max" value="3.76991118431" />
|
||||
<xacro:property name="hip_h_min" value="-1.88495559215" />
|
||||
|
||||
<!-- knee -->
|
||||
<xacro:property name="knee_width" value="0.016" />
|
||||
<xacro:property name="knee_height" value="0.016" />
|
||||
<xacro:property name="knee_length" value="0.209" />
|
||||
<xacro:property name="knee_rotor_offset" value="-0.0426259" />
|
||||
<xacro:property name="knee_max" value="-0.717155789644" />
|
||||
<xacro:property name="knee_min" value="-2.49582083035" />
|
||||
<xacro:property name="knee_rubber" value="0.025" />
|
||||
|
||||
<!-- foot -->
|
||||
<xacro:property name="foot_radius" value="0.018" />
|
||||
|
||||
<!-- acuator atribute -->
|
||||
<xacro:property name="abadGearRatio" value="1" />
|
||||
<xacro:property name="hipGearRatio" value="1" />
|
||||
<xacro:property name="kneeGearRatio" value="1" />
|
||||
<xacro:property name="abad_motorTauMax" value="24" />
|
||||
<xacro:property name="hip_motorTauMax" value="24" />
|
||||
<xacro:property name="knee_motorTauMax" value="24" />
|
||||
<xacro:property name="abad_motorVelMax" value="31" />
|
||||
<xacro:property name="hip_motorVelMax" value="31" />
|
||||
<xacro:property name="knee_motorVelMax" value="31" />
|
||||
<xacro:property name="abad_damping" value="0" />
|
||||
<xacro:property name="hip_damping" value="0" />
|
||||
<xacro:property name="knee_damping" value="0" />
|
||||
<xacro:property name="abad_friction" value="0" />
|
||||
<xacro:property name="hip_friction" value="0" />
|
||||
<xacro:property name="knee_friction" value="0" />
|
||||
|
||||
<!-- inertial&mass value -->
|
||||
<!-- body -->
|
||||
<xacro:property name="body_mass" value="6.248410872" />
|
||||
<xacro:property name="body_com_x" value="0.018785003" />
|
||||
<xacro:property name="body_com_y" value="0.003291012" />
|
||||
<xacro:property name="body_com_z" value="-0.000925646" />
|
||||
<xacro:property name="body_ixx" value="0.032143039" />
|
||||
<xacro:property name="body_ixy" value="-0.000268204" />
|
||||
<xacro:property name="body_ixz" value="-0.00241341" />
|
||||
<xacro:property name="body_iyy" value="0.13578316" />
|
||||
<xacro:property name="body_iyz" value="0.000080244" />
|
||||
<xacro:property name="body_izz" value="0.14828095" />
|
||||
|
||||
<!-- abad -->
|
||||
<xacro:property name="abad_mass" value="0.537806728" />
|
||||
<xacro:property name="abad_com_x" value="-0.001597914" />
|
||||
<xacro:property name="abad_com_y" value="0.001680938" />
|
||||
<xacro:property name="abad_com_z" value="0.000002253" />
|
||||
<xacro:property name="abad_ixx" value="0.000403612" />
|
||||
<xacro:property name="abad_ixy" value="-0.000009337" />
|
||||
<xacro:property name="abad_ixz" value="0.000000536" />
|
||||
<xacro:property name="abad_iyy" value="0.000600779" />
|
||||
<xacro:property name="abad_iyz" value="-0.000000063" />
|
||||
<xacro:property name="abad_izz" value="0.000417249" />
|
||||
|
||||
<!-- hip -->
|
||||
<xacro:property name="hip_mass" value="0.950266218" />
|
||||
<xacro:property name="hip_com_x" value="-0.003205778" />
|
||||
<xacro:property name="hip_com_y" value="-0.027811623" />
|
||||
<xacro:property name="hip_com_z" value="-0.027767048" />
|
||||
<xacro:property name="hip_ixx" value="0.004811898" />
|
||||
<xacro:property name="hip_ixy" value="0.000093647" />
|
||||
<xacro:property name="hip_ixz" value="-0.000208709" />
|
||||
<xacro:property name="hip_iyy" value="0.004752366" />
|
||||
<xacro:property name="hip_iyz" value="0.000813258" />
|
||||
<xacro:property name="hip_izz" value="0.001079691" />
|
||||
|
||||
<!-- knee -->
|
||||
<xacro:property name="knee_mass" value="0.1135916" />
|
||||
<xacro:property name="knee_com_x" value="0.007372358" />
|
||||
<xacro:property name="knee_com_y" value="0.000122423" />
|
||||
<xacro:property name="knee_com_z" value="-0.10769301" />
|
||||
<xacro:property name="knee_ixx" value="0.000667971" />
|
||||
<xacro:property name="knee_ixy" value="-0.000000001" />
|
||||
<xacro:property name="knee_ixz" value="0.000005356" />
|
||||
<xacro:property name="knee_iyy" value="0.000674399" />
|
||||
<xacro:property name="knee_iyz" value="-0.000000015" />
|
||||
<xacro:property name="knee_izz" value="0.000014181" />
|
||||
|
||||
<!-- rotor -->
|
||||
<xacro:property name="rotor_mass" value="0.076506382" />
|
||||
<xacro:property name="rotor_com_x" value="0" />
|
||||
<xacro:property name="rotor_com_y" value="0" />
|
||||
<xacro:property name="rotor_com_z" value="0" />
|
||||
<xacro:property name="rotor_ixx" value="0.000045843" />
|
||||
<xacro:property name="rotor_ixy" value="0" />
|
||||
<xacro:property name="rotor_ixz" value="0" />
|
||||
<xacro:property name="rotor_iyy" value="0.000045871" />
|
||||
<xacro:property name="rotor_iyz" value="0" />
|
||||
<xacro:property name="rotor_izz" value="0.000089031" />
|
||||
</robot>
|
|
@ -0,0 +1,266 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot>
|
||||
<!-- ros_control plugin -->
|
||||
<gazebo>
|
||||
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
|
||||
<robotNamespace>/cyberdog_gazebo</robotNamespace>
|
||||
<robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
|
||||
<!-- Show the trajectory of trunk center. -->
|
||||
<gazebo>
|
||||
<plugin name="3dplot" filename="libLinkPlot3DPlugin.so">
|
||||
<frequency>10</frequency>
|
||||
<plot>
|
||||
<link>base</link>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<material>Gazebo/Yellow</material>
|
||||
</plot>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
|
||||
<!-- Show the trajectory of foot. You can add another trajectory about another foot. -->
|
||||
<!-- <gazebo>
|
||||
<plugin name="3dplot" filename="libLinkPlot3DPlugin.so">
|
||||
<frequency>100</frequency>
|
||||
<plot>
|
||||
<link>FL_foot</link>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<material>Gazebo/Green</material>
|
||||
</plot>
|
||||
</plugin>
|
||||
</gazebo> -->
|
||||
|
||||
<gazebo>
|
||||
<plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force">
|
||||
<bodyName>trunk</bodyName>
|
||||
<topicName>/apply_force/trunk</topicName>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="imu_link">
|
||||
<gravity>true</gravity>
|
||||
<sensor name="imu_sensor" type="imu">
|
||||
<always_on>true</always_on>
|
||||
<update_rate>1000</update_rate>
|
||||
<visualize>true</visualize>
|
||||
<topic>__default_topic__</topic>
|
||||
<plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
|
||||
<topicName>trunk_imu</topicName>
|
||||
<bodyName>imu_link</bodyName>
|
||||
<updateRateHZ>1000.0</updateRateHZ>
|
||||
<gaussianNoise>0.0</gaussianNoise>
|
||||
<xyzOffset>0 0 0</xyzOffset>
|
||||
<rpyOffset>0 0 0</rpyOffset>
|
||||
<frameName>imu_link</frameName>
|
||||
</plugin>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
|
||||
<!-- Foot contacts. -->
|
||||
<gazebo reference="FR_calf">
|
||||
<sensor name="FR_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libunitreeFootContactPlugin.so"/>
|
||||
<contact>
|
||||
<collision>FR_calf_fixed_joint_lump__FR_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_calf">
|
||||
<sensor name="FL_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libunitreeFootContactPlugin.so"/>
|
||||
<contact>
|
||||
<collision>FL_calf_fixed_joint_lump__FL_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_calf">
|
||||
<sensor name="RR_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libunitreeFootContactPlugin.so"/>
|
||||
<contact>
|
||||
<collision>RR_calf_fixed_joint_lump__RR_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_calf">
|
||||
<sensor name="RL_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin name="contactPlugin" filename="libunitreeFootContactPlugin.so"/>
|
||||
<contact>
|
||||
<collision>RL_calf_fixed_joint_lump__RL_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
|
||||
<!-- Visualization of Foot contacts. -->
|
||||
<gazebo reference="FR_foot">
|
||||
<visual>
|
||||
<plugin name="drawForcePlugin" filename="libunitreeDrawForcePlugin.so">
|
||||
<topicName>FR_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_foot">
|
||||
<visual>
|
||||
<plugin name="drawForcePlugin" filename="libunitreeDrawForcePlugin.so">
|
||||
<topicName>FL_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_foot">
|
||||
<visual>
|
||||
<plugin name="drawForcePlugin" filename="libunitreeDrawForcePlugin.so">
|
||||
<topicName>RR_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_foot">
|
||||
<visual>
|
||||
<plugin name="drawForcePlugin" filename="libunitreeDrawForcePlugin.so">
|
||||
<topicName>RL_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="base">
|
||||
<material>Gazebo/Green</material>
|
||||
<turnGravityOff>false</turnGravityOff>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="trunk">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="stick_link">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/White</material>
|
||||
</gazebo>
|
||||
|
||||
<gazebo reference="imu_link">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/Red</material>
|
||||
</gazebo>
|
||||
|
||||
<!-- FL leg -->
|
||||
<gazebo reference="FL_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_foot">
|
||||
<mu1>0.6</mu1>
|
||||
<mu2>0.6</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- FR leg -->
|
||||
<gazebo reference="FR_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_foot">
|
||||
<mu1>0.6</mu1>
|
||||
<mu2>0.6</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- RL leg -->
|
||||
<gazebo reference="RL_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_foot">
|
||||
<mu1>0.6</mu1>
|
||||
<mu2>0.6</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- RR leg -->
|
||||
<gazebo reference="RR_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_foot">
|
||||
<mu1>0.6</mu1>
|
||||
<mu2>0.6</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
|
||||
</robot>
|
|
@ -0,0 +1,281 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:include filename="../xacro/transmission.xacro" />
|
||||
|
||||
<xacro:macro name="leg" params="name mirror mirror_dae front_hind front_hind_dae *origin">
|
||||
|
||||
<joint name="${name}_hip_joint" type="revolute">
|
||||
<xacro:insert_block name="origin" />
|
||||
<parent link="trunk" />
|
||||
<child link="${name}_hip" />
|
||||
<axis xyz="1 0 0" />
|
||||
<dynamics damping="${abad_damping}" friction="${abad_friction}" />
|
||||
<xacro:if value="${(mirror_dae == True)}">
|
||||
<limit effort="${abad_motorTauMax*abadGearRatio}"
|
||||
velocity="${abad_motorVelMax}" lower="${abad_min}"
|
||||
upper="${abad_max}" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == False)}">
|
||||
<limit effort="${abad_motorTauMax*abadGearRatio}"
|
||||
velocity="${abad_motorVelMax}" lower="${-abad_max}"
|
||||
upper="${-abad_min}" />
|
||||
</xacro:if>
|
||||
</joint>
|
||||
|
||||
<link name="${name}_hip">
|
||||
<!-- <visual>
|
||||
<xacro:if value="${(mirror_dae == True) and (front_hind_dae == True)}">
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == False) and (front_hind_dae == True)}">
|
||||
<origin rpy="${PI} 0 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == True) and (front_hind_dae == False)}">
|
||||
<origin rpy="0 ${PI} 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${(mirror_dae == False) and (front_hind_dae == False)}">
|
||||
<origin rpy="${PI} ${PI} 0" xyz="0 0 0" />
|
||||
</xacro:if>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_new_description/meshes/abad.dae" scale="1 1 1" />
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual> -->
|
||||
<visual>
|
||||
<origin rpy="${PI/2.0} 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<cylinder length="${abad_length}" radius="${abad_radius}" />
|
||||
</geometry>
|
||||
<material name="silver" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="${PI/2.0} 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<cylinder length="${abad_length}" radius="${abad_radius}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0"
|
||||
xyz="${abad_com_x*front_hind} ${abad_com_y*mirror} ${abad_com_z}" />
|
||||
<mass value="${abad_mass}" />
|
||||
<inertia ixx="${abad_ixx}" ixy="${abad_ixy*mirror*front_hind}"
|
||||
ixz="${abad_ixz*front_hind}" iyy="${abad_iyy}" iyz="${abad_iyz*mirror}"
|
||||
izz="${abad_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_hip_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="${-abad_rotor_offset*front_hind} 0 0" />
|
||||
<parent link="${name}_hip" />
|
||||
<child link="${name}_hip_rotor" />
|
||||
</joint>
|
||||
|
||||
<!-- this link is only for abad rotor inertial -->
|
||||
<link name="${name}_hip_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${rotor_com_x} ${rotor_com_y} ${rotor_com_z}" />
|
||||
<mass value="${rotor_mass}" />
|
||||
<inertia ixx="${rotor_ixx}" ixy="${rotor_ixy}" ixz="${rotor_ixz}" iyy="${rotor_iyy}" iyz="${rotor_iyz}" izz="${rotor_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 ${(hip_offset-hip_shoulder_length)*mirror} 0" />
|
||||
<parent link="${name}_hip" />
|
||||
<child link="${name}_thigh_shoulder" />
|
||||
</joint>
|
||||
|
||||
<link name="${name}_thigh_shoulder">
|
||||
<visual>
|
||||
<origin rpy="${PI/2.0} 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<cylinder length="${hip_shoulder_length}" radius="${hip_shoulder_radius}" />
|
||||
</geometry>
|
||||
<material name="silver" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="${PI/2.0} 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<cylinder length="${hip_shoulder_length}" radius="${hip_shoulder_radius}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_thigh_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 ${hip_offset*mirror} 0" />
|
||||
<parent link="${name}_hip" />
|
||||
<child link="${name}_thigh" />
|
||||
<axis xyz="0 1 0" />
|
||||
<dynamics damping="${hip_damping}" friction="${hip_friction}" />
|
||||
<xacro:if value="${front_hind_dae == True}">
|
||||
<limit effort="${hip_motorTauMax*hipGearRatio}"
|
||||
velocity="${hip_motorVelMax}" lower="${hip_f_min}"
|
||||
upper="${hip_f_max}" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${front_hind_dae == False}">
|
||||
<limit effort="${hip_motorTauMax*hipGearRatio}"
|
||||
velocity="${hip_motorVelMax}" lower="${hip_h_min}"
|
||||
upper="${hip_h_max}" />
|
||||
</xacro:if>
|
||||
</joint>
|
||||
|
||||
<link name="${name}_thigh">
|
||||
<!-- <visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<xacro:if value="${mirror_dae == True}">
|
||||
<mesh filename="package://cyberdog_new_description/meshes/hip.dae"
|
||||
scale="1 1 1" />
|
||||
</xacro:if>
|
||||
<xacro:if value="${mirror_dae == False}">
|
||||
<mesh filename="package://cyberdog_new_description/meshes/hip_mirror.dae"
|
||||
scale="1 1 1" />
|
||||
</xacro:if>
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual> -->
|
||||
<visual>
|
||||
<origin rpy="0 ${PI/2.0} 0" xyz="0 0 ${-hip_length/2.0}" />
|
||||
<geometry>
|
||||
<box size="${hip_length} ${hip_width} ${hip_height}" />
|
||||
</geometry>
|
||||
<material name="silver" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 ${PI/2.0} 0" xyz="0 0 ${-hip_length/2.0}" />
|
||||
<geometry>
|
||||
<box size="${hip_length} ${hip_width} ${hip_height}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${hip_com_x} ${hip_com_y*mirror} ${hip_com_z}" />
|
||||
<mass value="${hip_mass}" />
|
||||
<inertia ixx="${hip_ixx}" ixy="${hip_ixy*mirror}" ixz="${hip_ixz}" iyy="${hip_iyy}"
|
||||
iyz="${hip_iyz*mirror}" izz="${hip_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_thigh_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 ${hip_rotor_offset*mirror} 0" />
|
||||
<parent link="${name}_thigh" />
|
||||
<child link="${name}_thigh_rotor" />
|
||||
</joint>
|
||||
|
||||
<!-- this link is only for hip rotor inertial -->
|
||||
<link name="${name}_thigh_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${rotor_com_x} ${rotor_com_y} ${rotor_com_z}" />
|
||||
<mass value="${rotor_mass}" />
|
||||
<inertia ixx="${rotor_ixx}" ixy="${rotor_ixy}" ixz="${rotor_ixz}" iyy="${rotor_iyy}" iyz="${rotor_iyz}" izz="${rotor_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_calf_rotor_fix" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 ${knee_rotor_offset*mirror} 0" />
|
||||
<parent link="${name}_thigh" />
|
||||
<child link="${name}_calf_rotor" />
|
||||
</joint>
|
||||
|
||||
<!-- this link is only for knee rotor inertial -->
|
||||
<link name="${name}_calf_rotor">
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${rotor_com_x} ${rotor_com_y} ${rotor_com_z}" />
|
||||
<mass value="${rotor_mass}" />
|
||||
<inertia ixx="${rotor_ixx}" ixy="${rotor_ixy}" ixz="${rotor_ixz}" iyy="${rotor_iyy}" iyz="${rotor_iyz}" izz="${rotor_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_calf_joint" type="revolute">
|
||||
<origin rpy="0 0 0" xyz="0 0 ${-hip_length}" />
|
||||
<parent link="${name}_thigh" />
|
||||
<child link="${name}_calf" />
|
||||
<axis xyz="0 1 0" />
|
||||
<dynamics damping="${hip_damping}" friction="${hip_friction}" />
|
||||
<limit effort="${knee_motorTauMax*kneeGearRatio}"
|
||||
velocity="${knee_motorVelMax}" lower="${knee_min}"
|
||||
upper="${knee_max}" />
|
||||
</joint>
|
||||
|
||||
<link name="${name}_calf">
|
||||
<!-- <visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_new_description/meshes/knee.dae" scale="1 1 1" />
|
||||
</geometry>
|
||||
<material name="orange" />
|
||||
</visual> -->
|
||||
<visual>
|
||||
<origin rpy="0 ${PI} 0" xyz="0 0 ${-knee_length/2.0}" />
|
||||
<geometry>
|
||||
<box size="${knee_height} ${knee_width} ${knee_length}" />
|
||||
</geometry>
|
||||
<material name="silver" />
|
||||
</visual>
|
||||
<visual name="${name}_calf_rubber">
|
||||
<origin rpy="0 ${PI} 0" xyz="${-knee_rubber/2.0} 0 -0.007" />
|
||||
<geometry>
|
||||
<sphere radius="0.016" />
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 ${PI} 0" xyz="0 0 ${-knee_length/2.0}" />
|
||||
<geometry>
|
||||
<box size="${knee_height} ${knee_width} ${knee_length}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name="${name}_calf_rubber">
|
||||
<origin rpy="0 ${PI} 0" xyz="${-knee_rubber/2.0} 0 -0.007" />
|
||||
<geometry>
|
||||
<sphere radius="0.016" />
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<max_vel>0.00001</max_vel>
|
||||
<min_depth>0.0</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${knee_com_x} ${knee_com_y} ${knee_com_z}" />
|
||||
<mass value="${knee_mass}" />
|
||||
<inertia ixx="${knee_ixx}" ixy="${knee_ixy}" ixz="${knee_ixz}" iyy="${knee_iyy}"
|
||||
iyz="${knee_iyz}" izz="${knee_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="${name}_foot_fixed" type="fixed" dont_collapse="true">
|
||||
<origin rpy="0 0 0" xyz="0 0 ${-knee_length+foot_radius/2.0}" />
|
||||
<parent link="${name}_calf" />
|
||||
<child link="${name}_foot" />
|
||||
</joint>
|
||||
|
||||
<link name="${name}_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<sphere radius="${foot_radius}" />
|
||||
</geometry>
|
||||
<material name="silver" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<sphere radius="${foot_radius}" />
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<max_vel>0.001</max_vel>
|
||||
<min_depth>0.0</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
</link>
|
||||
|
||||
<xacro:leg_transmission name="${name}" />
|
||||
</xacro:macro>
|
||||
</robot>
|
|
@ -0,0 +1,122 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot name="cyberdog_description" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:arg name="ROBOT" default="cyberdog_description" />
|
||||
<xacro:arg name="USE_LIDAR" default="false" />
|
||||
<xacro:include filename="const.xacro" />
|
||||
<xacro:include filename="leg.xacro" />
|
||||
<xacro:include filename="gazebo.xacro" />
|
||||
|
||||
<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="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="silver">
|
||||
<color rgba="0.913725490196 0.913725490196 0.847058823529 1.0"/>
|
||||
</material>
|
||||
<material name="orange">
|
||||
<color rgba="0.12 0.15 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="brown">
|
||||
<color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
|
||||
</material>
|
||||
<material name="red">
|
||||
<color rgba="0.8 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
|
||||
<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="trunk" />
|
||||
</joint>
|
||||
|
||||
<link name="trunk">
|
||||
<!-- <visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_new_description/meshes/body.dae" scale="1 1 1" />
|
||||
</geometry>
|
||||
</visual> -->
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<box size="${body_length} ${body_width} ${body_height}" />
|
||||
</geometry>
|
||||
<material name="silver" />
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
<geometry>
|
||||
<box size="${body_length} ${body_width} ${body_height}" />
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="${body_com_x} ${body_com_y} ${body_com_z}" />
|
||||
<mass value="${body_mass}" />
|
||||
<inertia ixx="${body_ixx}" ixy="${body_ixy}" ixz="${body_ixz}" iyy="${body_iyy}" iyz="${body_iyz}" izz="${body_izz}" />
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="trunk" />
|
||||
<child link="imu_link" />
|
||||
<origin rpy="0 0 0" xyz="0 0 0" />
|
||||
</joint>
|
||||
|
||||
<link name="imu_link">
|
||||
<!-- <inertial>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<xacro:leg name="FR" mirror="-1" mirror_dae="False" front_hind="1" front_hind_dae="True">
|
||||
<origin rpy="0 0 0" xyz="${abad_offset_x} ${-abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<xacro:leg name="FL" mirror="1" mirror_dae="True" front_hind="1" front_hind_dae="True">
|
||||
<origin rpy="0 0 0" xyz="${abad_offset_x} ${abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<xacro:leg name="RR" mirror="-1" mirror_dae="False" front_hind="-1" front_hind_dae="False">
|
||||
<origin rpy="0 0 0" xyz="${-abad_offset_x} ${-abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
<xacro:leg name="RL" mirror="1" mirror_dae="True" front_hind="-1" front_hind_dae="False">
|
||||
<origin rpy="0 0 0" xyz="${-abad_offset_x} ${abad_offset_y} 0" />
|
||||
</xacro:leg>
|
||||
|
||||
</robot>
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0"?>
|
||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
|
||||
<xacro:macro name="leg_transmission" params="name">
|
||||
|
||||
<transmission name="${name}_hip_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="${name}_hip_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${name}_hip_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>"${abadGearRatio}"</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="${name}_thigh_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="${name}_thigh_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${name}_thigh_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>"${hipGearRatio}"</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<transmission name="${name}_calf_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="${name}_calf_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="${name}_calf_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>"${kneeGearRatio}"</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
</xacro:macro>
|
||||
|
||||
</robot>
|
|
@ -0,0 +1,19 @@
|
|||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(cyberdog_old_description)
|
||||
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
genmsg
|
||||
roscpp
|
||||
std_msgs
|
||||
tf
|
||||
)
|
||||
|
||||
catkin_package(
|
||||
CATKIN_DEPENDS
|
||||
)
|
||||
|
||||
include_directories(
|
||||
# include
|
||||
${Boost_INCLUDE_DIR}
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
|
@ -0,0 +1,70 @@
|
|||
cyberdog_gazebo:
|
||||
# Publish all joint states -----------------------------------
|
||||
joint_state_controller:
|
||||
type: joint_state_controller/JointStateController
|
||||
publish_rate: 1000
|
||||
|
||||
# FL Controllers ---------------------------------------
|
||||
FL_hip_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: FL_hip_joint
|
||||
pid: {p: 100.0, i: 0.0, d: 5.0}
|
||||
|
||||
FL_thigh_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: FL_thigh_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
FL_calf_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: FL_calf_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
# FR Controllers ---------------------------------------
|
||||
FR_hip_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: FR_hip_joint
|
||||
pid: {p: 100.0, i: 0.0, d: 5.0}
|
||||
|
||||
FR_thigh_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: FR_thigh_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
FR_calf_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: FR_calf_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
# RL Controllers ---------------------------------------
|
||||
RL_hip_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: RL_hip_joint
|
||||
pid: {p: 100.0, i: 0.0, d: 5.0}
|
||||
|
||||
RL_thigh_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: RL_thigh_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
RL_calf_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: RL_calf_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
# RR Controllers ---------------------------------------
|
||||
RR_hip_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: RR_hip_joint
|
||||
pid: {p: 100.0, i: 0.0, d: 5.0}
|
||||
|
||||
RR_thigh_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: RR_thigh_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
||||
RR_calf_controller:
|
||||
type: unitree_legged_control/UnitreeJointController
|
||||
joint: RR_calf_joint
|
||||
pid: {p: 300.0, i: 0.0, d: 8.0}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<launch>
|
||||
|
||||
<param name="robot_description" textfile="$(find cyberdog_old_description)/urdf/cyberdog_old_description.urdf"/>
|
||||
|
||||
<!-- send fake joint values -->
|
||||
<!-- <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher">
|
||||
<param name="use_gui" value="TRUE"/>
|
||||
</node> -->
|
||||
|
||||
<node
|
||||
name="joint_state_publisher_gui"
|
||||
pkg="joint_state_publisher_gui"
|
||||
type="joint_state_publisher_gui" />
|
||||
|
||||
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
|
||||
<param name="publish_frequency" type="double" value="1000.0"/>
|
||||
</node>
|
||||
|
||||
<node pkg="rviz" type="rviz" name="rviz" respawn="false" output="screen"
|
||||
args="-d $(find cyberdog_old_description)/launch/test.rviz"/>
|
||||
|
||||
</launch>
|
|
@ -0,0 +1,19 @@
|
|||
<launch>
|
||||
<include file="$(find gazebo_ros)/launch/empty_world.launch" />
|
||||
<node
|
||||
name="tf_footprint_base"
|
||||
pkg="tf"
|
||||
type="static_transform_publisher"
|
||||
args="0 0 0 0 0 0 base_link base_footprint 40" />
|
||||
<node
|
||||
name="spawn_model"
|
||||
pkg="gazebo_ros"
|
||||
type="spawn_model"
|
||||
args="-file $(find cyberdog_description)/urdf/cyberdog_old_description.urdf -urdf -model cyberdog_old_description -z 0.6 -unpause"
|
||||
output="screen" />
|
||||
<node
|
||||
name="fake_joint_calibration"
|
||||
pkg="rostopic"
|
||||
type="rostopic"
|
||||
args="pub /calibrated std_msgs/Bool true" />
|
||||
</launch>
|
|
@ -0,0 +1,245 @@
|
|||
Panels:
|
||||
- Class: rviz/Displays
|
||||
Help Height: 78
|
||||
Name: Displays
|
||||
Property Tree Widget:
|
||||
Expanded:
|
||||
- /Global Options1
|
||||
- /Status1
|
||||
Splitter Ratio: 0.5
|
||||
Tree Height: 555
|
||||
- Class: rviz/Selection
|
||||
Name: Selection
|
||||
- Class: rviz/Tool Properties
|
||||
Expanded:
|
||||
- /2D Pose Estimate1
|
||||
- /2D Nav Goal1
|
||||
- /Publish Point1
|
||||
Name: Tool Properties
|
||||
Splitter Ratio: 0.5886790156364441
|
||||
- Class: rviz/Views
|
||||
Expanded:
|
||||
- /Current View1
|
||||
Name: Views
|
||||
Splitter Ratio: 0.5
|
||||
- Class: rviz/Time
|
||||
Name: Time
|
||||
SyncMode: 0
|
||||
SyncSource: ""
|
||||
Preferences:
|
||||
PromptSaveOnExit: true
|
||||
Toolbars:
|
||||
toolButtonStyle: 2
|
||||
Visualization Manager:
|
||||
Class: ""
|
||||
Displays:
|
||||
- Alpha: 0.5
|
||||
Cell Size: 1
|
||||
Class: rviz/Grid
|
||||
Color: 160; 160; 164
|
||||
Enabled: true
|
||||
Line Style:
|
||||
Line Width: 0.029999999329447746
|
||||
Value: Lines
|
||||
Name: Grid
|
||||
Normal Cell Count: 0
|
||||
Offset:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Plane: XY
|
||||
Plane Cell Count: 10
|
||||
Reference Frame: <Fixed Frame>
|
||||
Value: true
|
||||
- Alpha: 1
|
||||
Class: rviz/RobotModel
|
||||
Collision Enabled: false
|
||||
Enabled: true
|
||||
Links:
|
||||
All Links Enabled: true
|
||||
Expand Joint Details: false
|
||||
Expand Link Details: false
|
||||
Expand Tree: false
|
||||
FL_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FL_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
FR_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Link Tree Style: Links in Alphabetic Order
|
||||
RL_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RL_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_calf:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_foot:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_hip:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
RR_thigh:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
base:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
imu_link:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
trunk:
|
||||
Alpha: 1
|
||||
Show Axes: false
|
||||
Show Trail: false
|
||||
Value: true
|
||||
Name: RobotModel
|
||||
Robot Description: robot_description
|
||||
TF Prefix: ""
|
||||
Update Interval: 0
|
||||
Value: true
|
||||
Visual Enabled: true
|
||||
- Class: rviz/TF
|
||||
Enabled: false
|
||||
Frame Timeout: 15
|
||||
Frames:
|
||||
All Enabled: true
|
||||
Marker Alpha: 1
|
||||
Marker Scale: 1
|
||||
Name: TF
|
||||
Show Arrows: true
|
||||
Show Axes: true
|
||||
Show Names: true
|
||||
Tree:
|
||||
{}
|
||||
Update Interval: 0
|
||||
Value: false
|
||||
Enabled: true
|
||||
Global Options:
|
||||
Background Color: 48; 48; 48
|
||||
Default Light: true
|
||||
Fixed Frame: trunk
|
||||
Frame Rate: 30
|
||||
Name: root
|
||||
Tools:
|
||||
- Class: rviz/Interact
|
||||
Hide Inactive Objects: true
|
||||
- Class: rviz/MoveCamera
|
||||
- Class: rviz/Select
|
||||
- Class: rviz/FocusCamera
|
||||
- Class: rviz/Measure
|
||||
- Class: rviz/SetInitialPose
|
||||
Theta std deviation: 0.2617993950843811
|
||||
Topic: /initialpose
|
||||
X std deviation: 0.5
|
||||
Y std deviation: 0.5
|
||||
- Class: rviz/SetGoal
|
||||
Topic: /move_base_simple/goal
|
||||
- Class: rviz/PublishPoint
|
||||
Single click: true
|
||||
Topic: /clicked_point
|
||||
Value: true
|
||||
Views:
|
||||
Current:
|
||||
Class: rviz/Orbit
|
||||
Distance: 2.3364639282226562
|
||||
Enable Stereo Rendering:
|
||||
Stereo Eye Separation: 0.05999999865889549
|
||||
Stereo Focal Distance: 1
|
||||
Swap Stereo Eyes: false
|
||||
Value: false
|
||||
Field of View: 0.7853981852531433
|
||||
Focal Point:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Focal Shape Fixed Size: true
|
||||
Focal Shape Size: 0.05000000074505806
|
||||
Invert Z Axis: false
|
||||
Name: Current View
|
||||
Near Clip Distance: 0.009999999776482582
|
||||
Pitch: 0.16539815068244934
|
||||
Target Frame: <Fixed Frame>
|
||||
Yaw: 1.430397391319275
|
||||
Saved: ~
|
||||
Window Geometry:
|
||||
Displays:
|
||||
collapsed: false
|
||||
Height: 846
|
||||
Hide Left Dock: false
|
||||
Hide Right Dock: false
|
||||
QMainWindow State: 000000ff00000000fd000000040000000000000156000002b4fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000002b4000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002b4fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b000002b4000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000030700fffffffb0000000800540069006d006501000000000000045000000000000000000000023f000002b400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||
Selection:
|
||||
collapsed: false
|
||||
Time:
|
||||
collapsed: false
|
||||
Tool Properties:
|
||||
collapsed: false
|
||||
Views:
|
||||
collapsed: false
|
||||
Width: 1200
|
||||
X: 739
|
||||
Y: -14
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0"?>
|
||||
<package format="2">
|
||||
<name>cyberdog_old_description</name>
|
||||
<version>1.0.0</version>
|
||||
<description>The cyberdog_old_description package</description>
|
||||
<author>TODO</author>
|
||||
<maintainer email="TODO@email.com" />
|
||||
<license>BSD</license>
|
||||
<buildtool_depend>catkin</buildtool_depend>
|
||||
<depend>roscpp</depend>
|
||||
<depend>std_msgs</depend>
|
||||
|
||||
<depend>roslaunch</depend>
|
||||
<depend>robot_state_publisher</depend>
|
||||
<depend>rviz</depend>
|
||||
<depend>joint_state_publisher_gui</depend>
|
||||
<depend>gazebo</depend>
|
||||
|
||||
</package>
|
|
@ -0,0 +1,933 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<robot name="cyberdog_old_description">
|
||||
<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="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="silver">
|
||||
<color rgba="0.913725490196 0.913725490196 0.847058823529 1.0"/>
|
||||
</material>
|
||||
<material name="orange">
|
||||
<!-- <color rgba="1.0 0.423529411765 0.0392156862745 1.0"/> -->
|
||||
<color rgba="0.12 0.15 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="brown">
|
||||
<color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
|
||||
</material>
|
||||
<material name="red">
|
||||
<color rgba="0.8 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
|
||||
<!-- ros_control plugin -->
|
||||
<gazebo>
|
||||
<plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
|
||||
<robotNamespace>/cyberdog_gazebo</robotNamespace>
|
||||
<robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
<!-- Show the trajectory of body center. -->
|
||||
<gazebo>
|
||||
<plugin filename="libLinkPlot3DPlugin.so" name="3dplotbody">
|
||||
<frequency>10</frequency>
|
||||
<plot>
|
||||
<link>base</link>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<material>Gazebo/Yellow</material>
|
||||
</plot>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
<!-- Show the trajectory of foot. You can add another trajectory about another foot. -->
|
||||
<gazebo>
|
||||
<plugin filename="libLinkPlot3DPlugin.so" name="3dplot">
|
||||
<frequency>1000</frequency>
|
||||
<plot>
|
||||
<link>FR_calf</link>
|
||||
<pose>0 0 -0.217 0 0 0</pose>
|
||||
<material>Gazebo/Yellow</material>
|
||||
</plot>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
<gazebo>
|
||||
<plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force">
|
||||
<bodyName>trunk</bodyName>
|
||||
<topicName>/apply_force/trunk</topicName>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
<gazebo reference="imu_link">
|
||||
<gravity>true</gravity>
|
||||
<sensor name="imu_sensor" type="imu">
|
||||
<always_on>true</always_on>
|
||||
<update_rate>1000</update_rate>
|
||||
<visualize>true</visualize>
|
||||
<topic>__default_topic__</topic>
|
||||
<plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
|
||||
<topicName>trunk_imu</topicName>
|
||||
<bodyName>imu_link</bodyName>
|
||||
<updateRateHZ>1000.0</updateRateHZ>
|
||||
<gaussianNoise>0.0</gaussianNoise>
|
||||
<xyzOffset>0 0 0</xyzOffset>
|
||||
<rpyOffset>0 0 0</rpyOffset>
|
||||
<frameName>imu_link</frameName>
|
||||
</plugin>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<!-- Foot contacts. -->
|
||||
<gazebo reference="FR_calf">
|
||||
<sensor name="FR_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
|
||||
<contact>
|
||||
<collision>FR_calf_fixed_joint_lump__FR_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_calf">
|
||||
<sensor name="FL_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
|
||||
<contact>
|
||||
<collision>FL_calf_fixed_joint_lump__FL_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_calf">
|
||||
<sensor name="RR_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
|
||||
<contact>
|
||||
<collision>RR_calf_fixed_joint_lump__RR_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_calf">
|
||||
<sensor name="RL_foot_contact" type="contact">
|
||||
<update_rate>100</update_rate>
|
||||
<plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
|
||||
<contact>
|
||||
<collision>RL_calf_fixed_joint_lump__RL_foot_collision_1</collision>
|
||||
</contact>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<!-- Visualization of Foot contacts. -->
|
||||
<gazebo reference="FR_foot">
|
||||
<visual>
|
||||
<plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
|
||||
<topicName>FR_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_foot">
|
||||
<visual>
|
||||
<plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
|
||||
<topicName>FL_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_foot">
|
||||
<visual>
|
||||
<plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
|
||||
<topicName>RR_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_foot">
|
||||
<visual>
|
||||
<plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
|
||||
<topicName>RL_foot_contact</topicName>
|
||||
</plugin>
|
||||
</visual>
|
||||
</gazebo>
|
||||
<gazebo reference="base">
|
||||
<material>Gazebo/Green</material>
|
||||
<turnGravityOff>false</turnGravityOff>
|
||||
</gazebo>
|
||||
<gazebo reference="trunk">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="imu_link">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/Red</material>
|
||||
</gazebo>
|
||||
<!-- FR leg -->
|
||||
<gazebo reference="FR_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="FR_foot">
|
||||
<mu1>0.9</mu1>
|
||||
<mu2>0.9</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<!-- FL leg -->
|
||||
<gazebo reference="FL_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="FL_foot">
|
||||
<mu1>0.9</mu1>
|
||||
<mu2>0.9</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<!-- RR leg -->
|
||||
<gazebo reference="RR_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="RR_foot">
|
||||
<mu1>0.9</mu1>
|
||||
<mu2>0.9</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<!-- RL leg -->
|
||||
<gazebo reference="RL_hip">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_thigh">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_calf">
|
||||
<mu1>0.2</mu1>
|
||||
<mu2>0.2</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
</gazebo>
|
||||
<gazebo reference="RL_foot">
|
||||
<mu1>0.9</mu1>
|
||||
<mu2>0.9</mu2>
|
||||
<self_collide>1</self_collide>
|
||||
<material>Gazebo/DarkGrey</material>
|
||||
<kp value="1000000.0"/>
|
||||
<kd value="1.0"/>
|
||||
</gazebo>
|
||||
|
||||
<!-- 悬挂 -->
|
||||
<!-- <link name="world"/>
|
||||
<joint name="base_static_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="world"/>
|
||||
<child link="base"/>
|
||||
</joint> -->
|
||||
|
||||
<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="trunk"/>
|
||||
</joint>
|
||||
<link name="trunk">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/trunk.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/trunk.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<mass value="8.78"/>
|
||||
<inertia ixx="0.032051" ixy="-0.00023217" ixz="0.002728" iyy="0.13707" iyz="5.6623E-05" izz="0.14946"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="trunk"/>
|
||||
<child link="imu_link"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<link name="imu_link">
|
||||
<inertial>
|
||||
<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>
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="red"/>
|
||||
</visual>
|
||||
<!-- <collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<box size=".001 .001 .001"/>
|
||||
</geometry>
|
||||
</collision> -->
|
||||
</link>
|
||||
|
||||
<joint name="FR_hip_joint" type="revolute">
|
||||
<origin xyz="0.23536 -0.05 0" rpy="0 0 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="FR_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit effort="17" lower="-0.75" upper="0.75" velocity="12"/>
|
||||
</joint>
|
||||
<link name="FR_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip_mirror.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip_mirror.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 -0.053575 0" rpy="0 0 0"/>
|
||||
<mass value="0.509"/>
|
||||
<inertia ixx="0.00038097" ixy="1.2523E-05" ixz="-1.1653E-05" iyy="0.00069383" iyz="5.071E-06" izz="0.00047336"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.10 0"/>
|
||||
<parent link="FR_hip"/>
|
||||
<child link="FR_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="FR_thigh_shoulder">
|
||||
</link>
|
||||
<joint name="FR_thigh_joint" type="revolute">
|
||||
<origin xyz="0 -0.10715 0" rpy="0 0 0"/>
|
||||
<parent link="FR_hip"/>
|
||||
<child link="FR_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-1.257" upper="4.363" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="FR_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.1" rpy="0 0 0"/>
|
||||
<mass value="0.664"/>
|
||||
<inertia ixx="0.0033376" ixy="-7.1504E-07" ixz="-0.00019282" iyy="0.0026385" iyz="-9.3033E-06" izz="0.0013093"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_calf_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.2" rpy="0 0 0"/>
|
||||
<parent link="FR_thigh"/>
|
||||
<child link="FR_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-2.478" upper="-0.506" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="FR_calf">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.11439" rpy="0 0 0"/>
|
||||
<mass value="0.114"/>
|
||||
<inertia ixx="0.0014553" ixy="-3.2376E-08" ixz="8.3885E-05" iyy="0.0021522" iyz="5.1259E-07" izz="0.00070545"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FR_foot_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.217"/>
|
||||
<parent link="FR_calf"/>
|
||||
<child link="FR_foot"/>
|
||||
</joint>
|
||||
<link name="FR_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.026"/>
|
||||
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<transmission name="FR_hip_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FR_hip_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FR_hip_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FR_thigh_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FR_thigh_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FR_thigh_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FR_calf_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FR_calf_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FR_calf_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<joint name="FL_hip_joint" type="revolute">
|
||||
<origin xyz="0.23536 0.05 0" rpy="0 0 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="FL_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-0.75" upper="0.75" effort="17" velocity="12"/>
|
||||
</joint>
|
||||
<link name="FL_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0.053575 0" rpy="0 0 0"/>
|
||||
<mass value="0.509"/>
|
||||
<inertia ixx="0.00038097" ixy="1.2523E-05" ixz="-1.1653E-05" iyy="0.00069383" iyz="5.071E-06" izz="0.00047336"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.10 0"/>
|
||||
<parent link="FL_hip"/>
|
||||
<child link="FL_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="FL_thigh_shoulder">
|
||||
</link>
|
||||
<joint name="FL_thigh_joint" type="revolute">
|
||||
<origin xyz="0 0.10715 0" rpy="0 0 0"/>
|
||||
<parent link="FL_hip"/>
|
||||
<child link="FL_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-1.257" upper="4.363" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="FL_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.1" rpy="0 0 0"/>
|
||||
<mass value="0.664"/>
|
||||
<inertia ixx="0.0033376" ixy="-7.150375E-07" ixz="-0.00019282" iyy="0.0026385" iyz="-9.3033E-06" izz="0.0013093"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_calf_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.2" rpy="0 0 0"/>
|
||||
<parent link="FL_thigh"/>
|
||||
<child link="FL_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-2.478" upper="-0.506" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="FL_calf">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.11439" rpy="0 0 0"/>
|
||||
<mass value="0.114"/>
|
||||
<inertia ixx="0.0014553" ixy="-3.2376E-08" ixz="8.3885E-05" iyy="0.0021522" iyz="5.1259E-07" izz="0.00070545"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="FL_foot_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.217"/>
|
||||
<parent link="FL_calf"/>
|
||||
<child link="FL_foot"/>
|
||||
</joint>
|
||||
<link name="FL_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.026"/>
|
||||
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<transmission name="FL_hip_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FL_hip_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FL_hip_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FL_thigh_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FL_thigh_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FL_thigh_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="FL_calf_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="FL_calf_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="FL_calf_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<joint name="RR_hip_joint" type="revolute">
|
||||
<origin xyz="-0.23536 -0.05 0" rpy="0 0 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="RR_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-0.75" upper="0.75" effort="17" velocity="12"/>
|
||||
</joint>
|
||||
<link name="RR_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip_mirror.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip_mirror.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 -0.053575 0" rpy="0 0 0"/>
|
||||
<mass value="0.509"/>
|
||||
<inertia ixx="0.00038097" ixy="1.2523E-05" ixz="-1.1653E-05" iyy="0.00069383" iyz="5.071E-06" izz="0.00047336"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 -0.10 0"/>
|
||||
<parent link="RR_hip"/>
|
||||
<child link="RR_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="RR_thigh_shoulder">
|
||||
</link>
|
||||
<joint name="RR_thigh_joint" type="revolute">
|
||||
<origin xyz="0 -0.10715 0" rpy="0 0 0"/>
|
||||
<parent link="RR_hip"/>
|
||||
<child link="RR_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-2.01" upper="3.49" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="RR_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.1" rpy="0 0 0"/>
|
||||
<mass value="0.664"/>
|
||||
<inertia ixx="0.0033376" ixy="-7.150375E-07" ixz="-0.00019282" iyy="0.0026385" iyz="-9.3033E-06" izz="0.0013093"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_calf_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.2" rpy="0 0 0"/>
|
||||
<parent link="RR_thigh"/>
|
||||
<child link="RR_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-2.478" upper="-0.506" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="RR_calf">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.11439" rpy="0 0 0"/>
|
||||
<mass value="0.114"/>
|
||||
<inertia ixx="0.0014553" ixy="-3.2376E-08" ixz="8.3885E-05" iyy="0.0021522" iyz="5.1259E-07" izz="0.00070545"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RR_foot_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.217"/>
|
||||
<parent link="RR_calf"/>
|
||||
<child link="RR_foot"/>
|
||||
</joint>
|
||||
<link name="RR_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.026"/>
|
||||
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<transmission name="BR_hip_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="RR_hip_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="BR_hip_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="BR_thigh_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="RR_thigh_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="BR_thigh_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="BR_calf_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="RR_calf_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="BR_calf_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
<joint name="RL_hip_joint" type="revolute">
|
||||
<origin xyz="-0.23536 0.05 0" rpy="0 0 0"/>
|
||||
<parent link="trunk"/>
|
||||
<child link="RL_hip"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-0.75" upper="0.75" effort="17" velocity="12"/>
|
||||
</joint>
|
||||
<link name="RL_hip">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/hip.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0.053575 0" rpy="0 0 0"/>
|
||||
<mass value="0.509"/>
|
||||
<inertia ixx="0.00038097" ixy="1.2523E-05" ixz="-1.1653E-05" iyy="0.00069383" iyz="5.071E-06" izz="0.00047336"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_hip_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0.10 0"/>
|
||||
<parent link="RL_hip"/>
|
||||
<child link="RL_thigh_shoulder"/>
|
||||
</joint>
|
||||
<link name="RL_thigh_shoulder">
|
||||
</link>
|
||||
<joint name="RL_thigh_joint" type="revolute">
|
||||
<origin xyz="0 0.10715 0" rpy="0 0 0"/>
|
||||
<parent link="RL_hip"/>
|
||||
<child link="RL_thigh"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-2.01" upper="3.49" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="RL_thigh">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/thigh.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.1" rpy="0 0 0"/>
|
||||
<mass value="0.664"/>
|
||||
<inertia ixx="0.0033376" ixy="-7.1504E-07" ixz="-0.00019282" iyy="0.0026385" iyz="-9.3033E-06" izz="0.0013093"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_calf_joint" type="revolute">
|
||||
<origin xyz="0 0 -0.2" rpy="0 0 0"/>
|
||||
<parent link="RL_thigh"/>
|
||||
<child link="RL_calf"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
<limit lower="-2.478" upper="-0.506" effort="24" velocity="12"/>
|
||||
</joint>
|
||||
<link name="RL_calf">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL" scale="1 1 1"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="package://cyberdog_description/meshes/calf.STL"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin xyz="0 0 -0.11439" rpy="0 0 0"/>
|
||||
<mass value="0.114"/>
|
||||
<inertia ixx="0.0014553" ixy="-3.2376E-08" ixz="8.3885E-05" iyy="0.0021522" iyz="5.1259E-07" izz="0.00070545"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="RL_foot_fixed" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.217"/>
|
||||
<parent link="RL_calf"/>
|
||||
<child link="RL_foot"/>
|
||||
</joint>
|
||||
<link name="RL_foot">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.025"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.026"/>
|
||||
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
|
||||
</inertial>
|
||||
</link>
|
||||
|
||||
<transmission name="BL_hip_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="RL_hip_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="BL_hip_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="BL_thigh_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="RL_thigh_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="BL_thigh_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
<transmission name="BL_calf_tran">
|
||||
<type>transmission_interface/SimpleTransmission</type>
|
||||
<joint name="RL_calf_joint">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
</joint>
|
||||
<actuator name="BL_calf_motor">
|
||||
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||
<mechanicalReduction>1</mechanicalReduction>
|
||||
</actuator>
|
||||
</transmission>
|
||||
|
||||
</robot>
|
||||
|
Loading…
Reference in New Issue