add mujoco model
This commit is contained in:
parent
61726ee3c0
commit
60874727b6
37 changed files with 3829 additions and 0 deletions
32
rbs_simulation/launch/get_urdf.launch.py
Normal file
32
rbs_simulation/launch/get_urdf.launch.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
import os
|
||||
import xacro
|
||||
import launch
|
||||
import launch_ros.actions
|
||||
from ament_index_python.packages import get_package_share_directory
|
||||
|
||||
|
||||
def generate_launch_description():
|
||||
|
||||
initial_joint_controllers_file_path = os.path.join(
|
||||
get_package_share_directory('ur_moveit_config'), 'config', 'ur_controllers.yaml'
|
||||
)
|
||||
|
||||
doc = xacro.process_file(os.path.join(get_package_share_directory("ur_description"), 'urdf', 'ur.urdf.xacro'), mappings={
|
||||
"safety_limits": "true",
|
||||
"safety_pos_margin": "0.15",
|
||||
"safety_k_position": "20",
|
||||
"name": "ur",
|
||||
"ur_type": "ur5e",
|
||||
"prefix": "",
|
||||
"sim_mujoco": "true",
|
||||
"simulation_controllers": str(initial_joint_controllers_file_path),
|
||||
"with_gripper": "false"
|
||||
})
|
||||
|
||||
robot_desc = doc.toprettyxml(indent=' ')
|
||||
part1, part2 = robot_desc.split('?>')
|
||||
m_encoding = 'UTF-8'
|
||||
with open("current.urdf", 'w') as xfile:
|
||||
xfile.write(part1 + 'encoding=\"{}\"?>\n'.format(m_encoding) + part2)
|
||||
xfile.close()
|
||||
return launch.LaunchDescription()
|
517
rbs_simulation/mujoco_model/current.urdf
Normal file
517
rbs_simulation/mujoco_model/current.urdf
Normal file
|
@ -0,0 +1,517 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from /home/bill-finger/rasms_ws/install/ur_description/share/ur_description/urdf/ur.urdf.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<robot name="ur">
|
||||
<!--
|
||||
Base UR robot series xacro macro.
|
||||
|
||||
NOTE this is NOT a URDF. It cannot directly be loaded by consumers
|
||||
expecting a flattened '.urdf' file. See the top-level '.xacro' for that
|
||||
(but note that .xacro must still be processed by the xacro command).
|
||||
|
||||
This file models the base kinematic chain of a UR robot, which then gets
|
||||
parameterised by various configuration files to convert it into a UR3(e),
|
||||
UR5(e), UR10(e) or UR16e.
|
||||
|
||||
NOTE the default kinematic parameters (i.e., link lengths, frame locations,
|
||||
offsets, etc) do not correspond to any particular robot. They are defaults
|
||||
only. There WILL be non-zero offsets between the Forward Kinematics results
|
||||
in TF (i.e., robot_state_publisher) and the values reported by the Teach
|
||||
Pendant.
|
||||
|
||||
For accurate (and robot-specific) transforms, the 'kinematics_parameters_file'
|
||||
parameter MUST point to a .yaml file containing the appropriate values for
|
||||
the targeted robot.
|
||||
|
||||
If using the UniversalRobots/Universal_Robots_ROS_Driver, follow the steps
|
||||
described in the readme of that repository to extract the kinematic
|
||||
calibration from the controller and generate the required .yaml file.
|
||||
|
||||
Main author of the migration to yaml configs Ludovic Delval.
|
||||
|
||||
Contributors to previous versions (in no particular order)
|
||||
|
||||
- Denis Stogl
|
||||
- Lovro Ivanov
|
||||
- Felix Messmer
|
||||
- Kelsey Hawkins
|
||||
- Wim Meeussen
|
||||
- Shaun Edwards
|
||||
- Nadia Hammoudeh Garcia
|
||||
- Dave Hershberger
|
||||
- G. vd. Hoorn
|
||||
- Philip Long
|
||||
- Dave Coleman
|
||||
- Miguel Prada
|
||||
- Mathias Luedtke
|
||||
- Marcel Schnirring
|
||||
- Felix von Drigalski
|
||||
- Felix Exner
|
||||
- Jimmy Da Silva
|
||||
- Ajit Krisshna N L
|
||||
- Muhammad Asif Rana
|
||||
-->
|
||||
<!--
|
||||
NOTE the macro defined in this file is NOT part of the public API of this
|
||||
package. Users CANNOT rely on this file being available, or stored in
|
||||
this location. Nor can they rely on the existence of the macro.
|
||||
-->
|
||||
|
||||
<mujoco>
|
||||
<compiler
|
||||
meshdir="meshes"
|
||||
balanceinertia="true"
|
||||
discardvisual="false" />
|
||||
</mujoco>
|
||||
|
||||
<link name="box1_place"/>
|
||||
<joint name="box1_place_joint" type="fixed">
|
||||
<parent link="world"/>
|
||||
<child link="box1_place"/>
|
||||
<origin rpy="-3.1415927 0.0 0.0" xyz="-0.45 -0.055 0.46"/>
|
||||
</joint>
|
||||
<link name="box2_place"/>
|
||||
<joint name="box2_place_joint" type="fixed">
|
||||
<parent link="world"/>
|
||||
<child link="box2_place"/>
|
||||
<origin rpy="-3.1415927 0.0 0.0" xyz="-0.45 0.0 0.46"/>
|
||||
</joint>
|
||||
<link name="box3_place"/>
|
||||
<joint name="box3_place_joint" type="fixed">
|
||||
<parent link="world"/>
|
||||
<child link="box3_place"/>
|
||||
<origin rpy="-3.1415927 0.0 0.0" xyz="-0.45 0.055 0.46"/>
|
||||
</joint>
|
||||
<link name="box4_place"/>
|
||||
<joint name="box4_place_joint" type="fixed">
|
||||
<parent link="world"/>
|
||||
<child link="box4_place"/>
|
||||
<origin rpy="-3.1415927 0.0 0.0" xyz="-0.45 0.0275 0.49"/>
|
||||
</joint>
|
||||
<link name="box5_place"/>
|
||||
<joint name="box5_place_joint" type="fixed">
|
||||
<parent link="world"/>
|
||||
<child link="box5_place"/>
|
||||
<origin rpy="-3.1415927 0.0 0.0" xyz="-0.45 -0.0275 0.49"/>
|
||||
</joint>
|
||||
<link name="box6_place"/>
|
||||
<joint name="box6_place_joint" type="fixed">
|
||||
<parent link="world"/>
|
||||
<child link="box6_place"/>
|
||||
<origin rpy="-3.1415927 0.0 0.0" xyz="-0.45 0 0.56"/>
|
||||
</joint>
|
||||
<!-- create link fixed to the "world" -->
|
||||
<link name="world"/>
|
||||
<ros2_control name="ur" type="system">
|
||||
<hardware>
|
||||
<plugin>ign_ros2_control/IgnitionSystem</plugin>
|
||||
</hardware>
|
||||
<joint name="shoulder_pan_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.15</param>
|
||||
<param name="max">3.15</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="shoulder_lift_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.15</param>
|
||||
<param name="max">3.15</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="elbow_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-pi}</param>
|
||||
<param name="max">{pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.15</param>
|
||||
<param name="max">3.15</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="wrist_1_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.2</param>
|
||||
<param name="max">3.2</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="wrist_2_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.2</param>
|
||||
<param name="max">3.2</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
<joint name="wrist_3_joint">
|
||||
<command_interface name="position">
|
||||
<param name="min">{-2*pi}</param>
|
||||
<param name="max">{2*pi}</param>
|
||||
</command_interface>
|
||||
<command_interface name="velocity">
|
||||
<param name="min">-3.2</param>
|
||||
<param name="max">3.2</param>
|
||||
</command_interface>
|
||||
<state_interface name="position">
|
||||
<!-- initial position for the FakeSystem and simulation -->
|
||||
<param name="initial_value">0.0</param>
|
||||
</state_interface>
|
||||
<state_interface name="velocity"/>
|
||||
<state_interface name="effort"/>
|
||||
</joint>
|
||||
</ros2_control>
|
||||
<!-- Add URDF transmission elements (for ros_control) -->
|
||||
<!--<xacro:ur_arm_transmission prefix="${prefix}" hw_interface="${transmission_hw_interface}" />-->
|
||||
<!-- Placeholder for ros2_control transmission which don't yet exist -->
|
||||
<!-- links - main serial chain -->
|
||||
<link name="base_link"/>
|
||||
<link name="base_link_inertia">
|
||||
<visual>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/base.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/base.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="4.0"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.00443333156" ixy="0.0" ixz="0.0" iyy="0.00443333156" iyz="0.0" izz="0.0072"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="shoulder_link">
|
||||
<visual>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/shoulder.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/shoulder.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="3.7"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.010267495893" ixy="0.0" ixz="0.0" iyy="0.010267495893" iyz="0.0" izz="0.00666"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="upper_arm_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.138"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/upperarm.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.138"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/upperarm.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="8.393"/>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="-0.2125 0.0 0.138"/>
|
||||
<inertia ixx="0.1338857818623325" ixy="0.0" ixz="0.0" iyy="0.1338857818623325" iyz="0.0" izz="0.0151074"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="forearm_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.007"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/forearm.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0.007"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/forearm.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="2.275"/>
|
||||
<origin rpy="0 1.5707963267948966 0" xyz="-0.1961 0.0 0.007"/>
|
||||
<inertia ixx="0.031209355099586295" ixy="0.0" ixz="0.0" iyy="0.031209355099586295" iyz="0.0" izz="0.004095"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="wrist_1_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.127"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/wrist1.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.127"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/wrist1.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="1.219"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.0025598989760400002" ixy="0.0" ixz="0.0" iyy="0.0025598989760400002" iyz="0.0" izz="0.0021942"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="wrist_2_link">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.0997"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/wrist2.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 -0.0997"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/wrist2.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="1.219"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<inertia ixx="0.0025598989760400002" ixy="0.0" ixz="0.0" iyy="0.0025598989760400002" iyz="0.0" izz="0.0021942"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<link name="wrist_3_link">
|
||||
<visual>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.0989"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/visual/wrist3.dae"/>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.5707963267948966 0 0" xyz="0 0 -0.0989"/>
|
||||
<geometry>
|
||||
<mesh filename="file:///home/bill-finger/rasms_ws/install/ur_description/share/ur_description/meshes/ur5e/collision/wrist3.stl"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.1879"/>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 -0.0229"/>
|
||||
<inertia ixx="9.890410052167731e-05" ixy="0.0" ixz="0.0" iyy="9.890410052167731e-05" iyz="0.0" izz="0.0001321171875"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- base_joint fixes base_link to the environment -->
|
||||
<joint name="base_joint" type="fixed">
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<parent link="world"/>
|
||||
<child link="base_link"/>
|
||||
</joint>
|
||||
<!-- joints - main serial chain -->
|
||||
<joint name="base_link-base_link_inertia" type="fixed">
|
||||
<parent link="base_link"/>
|
||||
<child link="base_link_inertia"/>
|
||||
<!-- 'base_link' is REP-103 aligned (so X+ forward), while the internal
|
||||
frames of the robot/controller have X+ pointing backwards.
|
||||
Use the joint between 'base_link' and 'base_link_inertia' (a dummy
|
||||
link/frame) to introduce the necessary rotation over Z (of pi rad).
|
||||
-->
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<joint name="shoulder_pan_joint" type="revolute">
|
||||
<parent link="base_link_inertia"/>
|
||||
<child link="shoulder_link"/>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.1625"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="150.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
|
||||
<safety_controller k_position="20" k_velocity="0.0" soft_lower_limit="-6.133185307179586" soft_upper_limit="6.133185307179586"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="shoulder_lift_joint" type="revolute">
|
||||
<parent link="shoulder_link"/>
|
||||
<child link="upper_arm_link"/>
|
||||
<origin rpy="1.570796327 1.570796327 0" xyz="0 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="150.0" lower="-1.5707963267948966" upper="1.5707963267948966" velocity="3.141592653589793"/>
|
||||
<safety_controller k_position="20" k_velocity="0.0" soft_lower_limit="-1.4207963267948966" soft_upper_limit="1.4207963267948966"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="elbow_joint" type="revolute">
|
||||
<parent link="upper_arm_link"/>
|
||||
<child link="forearm_link"/>
|
||||
<origin rpy="0 0 0" xyz="-0.425 0 0"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="150.0" lower="-2.7576202181510405" upper="2.7576202181510405" velocity="3.141592653589793"/>
|
||||
<safety_controller k_position="20" k_velocity="0.0" soft_lower_limit="-2.6076202181510406" soft_upper_limit="2.6076202181510406"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="wrist_1_joint" type="revolute">
|
||||
<parent link="forearm_link"/>
|
||||
<child link="wrist_1_link"/>
|
||||
<origin rpy="0 0 -1.570796327" xyz="-0.3922 0 0.1333"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="28.0" lower="-2.2689280275926285" upper="2.2689280275926285" velocity="3.141592653589793"/>
|
||||
<safety_controller k_position="20" k_velocity="0.0" soft_lower_limit="-2.1189280275926285" soft_upper_limit="2.1189280275926285"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="wrist_2_joint" type="revolute">
|
||||
<parent link="wrist_1_link"/>
|
||||
<child link="wrist_2_link"/>
|
||||
<origin rpy="1.570796327 0 0" xyz="0 -0.0997 -2.044881182297852e-11"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="28.0" lower="-2.530727415391778" upper="2.530727415391778" velocity="3.141592653589793"/>
|
||||
<safety_controller k_position="20" k_velocity="0.0" soft_lower_limit="-2.380727415391778" soft_upper_limit="2.380727415391778"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<joint name="wrist_3_joint" type="revolute">
|
||||
<parent link="wrist_2_link"/>
|
||||
<child link="wrist_3_link"/>
|
||||
<origin rpy="1.570796326589793 3.141592653589793 3.141592653589793" xyz="0 0.0996 -2.042830148012698e-11"/>
|
||||
<axis xyz="0 0 1"/>
|
||||
<limit effort="28.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
|
||||
<safety_controller k_position="20" k_velocity="0.0" soft_lower_limit="-6.133185307179586" soft_upper_limit="6.133185307179586"/>
|
||||
<dynamics damping="0" friction="0"/>
|
||||
</joint>
|
||||
<link name="ft_frame"/>
|
||||
<joint name="wrist_3_link-ft_frame" type="fixed">
|
||||
<parent link="wrist_3_link"/>
|
||||
<child link="ft_frame"/>
|
||||
<origin rpy="3.141592653589793 0 0" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<!-- ROS-Industrial 'base' frame - base_link to UR 'Base' Coordinates transform -->
|
||||
<link name="base"/>
|
||||
<joint name="base_link-base_fixed_joint" type="fixed">
|
||||
<!-- Note the rotation over Z of pi radians - as base_link is REP-103
|
||||
aligned (i.e., has X+ forward, Y+ left and Z+ up), this is needed
|
||||
to correctly align 'base' with the 'Base' coordinate system of
|
||||
the UR controller.
|
||||
-->
|
||||
<origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
|
||||
<parent link="base_link"/>
|
||||
<child link="base"/>
|
||||
</joint>
|
||||
<!-- ROS-Industrial 'flange' frame - attachment point for EEF models -->
|
||||
<link name="flange"/>
|
||||
<joint name="wrist_3-flange" type="fixed">
|
||||
<parent link="wrist_3_link"/>
|
||||
<child link="flange"/>
|
||||
<origin rpy="0 -1.5707963267948966 -1.5707963267948966" xyz="0 0 0"/>
|
||||
</joint>
|
||||
<!-- ROS-Industrial 'tool0' frame - all-zeros tool frame -->
|
||||
<link name="tool0"/>
|
||||
<joint name="flange-tool0" type="fixed">
|
||||
<!-- default toolframe - X+ left, Y+ up, Z+ front -->
|
||||
<origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0 0 0"/>
|
||||
<parent link="flange"/>
|
||||
<child link="tool0"/>
|
||||
</joint>
|
||||
<!-- <xacro:plane parent="world">
|
||||
<origin xyz="0 0 -0.001" rpy="0 0 0"/>
|
||||
</xacro:plane>
|
||||
<xacro:rack parent="world">
|
||||
<origin xyz="0.0 0.7 0.0" rpy="0.0 0.0 0.0"/>
|
||||
</xacro:rack>
|
||||
|
||||
<xacro:table parent="world">
|
||||
<origin xyz="-0.75 0.0 0.2" rpy="0.0 0.0 0.0"/>
|
||||
</xacro:table> -->
|
||||
<link name="rgbd_camera">
|
||||
<inertial>
|
||||
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
|
||||
<mass value="0.1"/>
|
||||
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/>
|
||||
</inertial>
|
||||
<visual name="">
|
||||
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
|
||||
<geometry>
|
||||
<box size="0.01 0.01 0.01"/>
|
||||
</geometry>
|
||||
<material name="">
|
||||
<color rgba="0.0 0.0 0.0 1.0"/>
|
||||
<texture filename=""/>
|
||||
</material>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
|
||||
<geometry>
|
||||
<box size="0.01 0.01 0.01"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
</link>
|
||||
<gazebo reference="rgbd_camera">
|
||||
<sensor name="rgbd_camera" type="rgbd_camera">
|
||||
<camera>
|
||||
<horizontal_fov>1.047</horizontal_fov>
|
||||
<image>
|
||||
<width>320</width>
|
||||
<height>240</height>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>100</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>30</update_rate>
|
||||
<visualize>true</visualize>
|
||||
<topic>rgbd_camera</topic>
|
||||
<enable_metrics>true</enable_metrics>
|
||||
</sensor>
|
||||
</gazebo>
|
||||
<joint name="plane_base_joint" type="fixed">
|
||||
<parent link="tool0"/>
|
||||
<child link="rgbd_camera"/>
|
||||
<origin rpy="1.57 -1.57 0" xyz="0 -0.05 0.07"/>
|
||||
</joint>
|
||||
<gazebo reference="world">
|
||||
</gazebo>
|
||||
<gazebo>
|
||||
<plugin filename="libign_ros2_control-system.so" name="ign_ros2_control::IgnitionROS2ControlPlugin">
|
||||
<parameters>/home/bill-finger/rasms_ws/install/ur_moveit_config/share/ur_moveit_config/config/ur_controllers.yaml</parameters>
|
||||
<controller_manager_node_name>controller_manager</controller_manager_node_name>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
</robot>
|
64
rbs_simulation/mujoco_model/current_mj.xml
Normal file
64
rbs_simulation/mujoco_model/current_mj.xml
Normal file
|
@ -0,0 +1,64 @@
|
|||
<mujoco model="ur">
|
||||
<compiler angle="radian" meshdir="meshes/"/>
|
||||
<default/>
|
||||
<asset>
|
||||
<mesh name="base" file="base.stl"/>
|
||||
<mesh name="shoulder" file="shoulder.stl"/>
|
||||
<mesh name="upperarm" file="upperarm.stl"/>
|
||||
<mesh name="forearm" file="forearm.stl"/>
|
||||
<mesh name="wrist1" file="wrist1.stl"/>
|
||||
<mesh name="wrist2" file="wrist2.stl"/>
|
||||
<mesh name="wrist3" file="wrist3.stl"/>
|
||||
</asset>
|
||||
<worldbody>
|
||||
<geom quat="-1 0 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="base"/>
|
||||
<geom quat="-1 0 0 0" type="mesh" mesh="base"/>
|
||||
<body name="shoulder_link" pos="0 0 0.1625" quat="0 0 0 1" >
|
||||
<inertial pos="0 0 0" mass="3.7" diaginertia="0.0102675 0.0102675 0.00666"/>
|
||||
<joint name="shoulder_pan_joint" pos="0 0 0" axis="0 0 1" limited="true" range="-6.28319 6.28319"/>
|
||||
<geom quat="0 0 0 1" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="shoulder"/>
|
||||
<geom quat="0 0 0 1" type="mesh" mesh="shoulder"/>
|
||||
<body name="upper_arm_link" pos="0 0 0" quat="0.5 0.5 0.5 -0.5" >
|
||||
<inertial pos="-0.2125 0 0.138" quat="0.707107 0 0.707107 0" mass="8.393" diaginertia="0.133886 0.133886 0.0151074"/>
|
||||
<joint name="shoulder_lift_joint" pos="0 0 0" axis="0 0 1" limited="true" range="-1.5708 1.5708"/>
|
||||
<geom pos="0 0 0.138" quat="0.5 0.5 -0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="upperarm"/>
|
||||
<geom pos="0 0 0.138" quat="0.5 0.5 -0.5 -0.5" type="mesh" mesh="upperarm"/>
|
||||
<body name="forearm_link" pos="-0.425 0 0" >
|
||||
<inertial pos="-0.1961 0 0.007" quat="0.707107 0 0.707107 0" mass="2.275" diaginertia="0.0312094 0.0312094 0.004095"/>
|
||||
<joint name="elbow_joint" pos="0 0 0" axis="0 0 1" limited="true" range="-2.75762 2.75762"/>
|
||||
<geom pos="0 0 0.007" quat="0.5 0.5 -0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="forearm"/>
|
||||
<geom pos="0 0 0.007" quat="0.5 0.5 -0.5 -0.5" type="mesh" mesh="forearm"/>
|
||||
<body name="wrist_1_link" pos="-0.3922 0 0.1333" quat="0.707107 0 0 -0.707107" >
|
||||
<inertial pos="0 0 0" mass="1.219" diaginertia="0.0025599 0.0025599 0.0021942"/>
|
||||
<joint name="wrist_1_joint" pos="0 0 0" axis="0 0 1" limited="true" range="-2.26893 2.26893"/>
|
||||
<geom pos="0 0 -0.127" quat="0.707107 0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="wrist1"/>
|
||||
<geom pos="0 0 -0.127" quat="0.707107 0.707107 0 0" type="mesh" mesh="wrist1"/>
|
||||
<body name="wrist_2_link" pos="0 -0.0997 -2.04488e-11" quat="0.707107 0.707107 0 0" >
|
||||
<inertial pos="0 0 0" mass="1.219" diaginertia="0.0025599 0.0025599 0.0021942"/>
|
||||
<joint name="wrist_2_joint" pos="0 0 0" axis="0 0 1" limited="true" range="-2.53073 2.53073"/>
|
||||
<geom pos="0 0 -0.0997" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="wrist2"/>
|
||||
<geom pos="0 0 -0.0997" type="mesh" mesh="wrist2"/>
|
||||
<body name="wrist_3_link" pos="0 0.0996 -2.04283e-11" quat="0.707107 -0.707107 0 0" >
|
||||
<inertial pos="0 -0.0173671 0.00936815" quat="0.683945 0.179497 -0.179497 0.683945" mass="0.2879" diaginertia="0.000833069 0.000825338 0.000124386"/>
|
||||
<joint name="wrist_3_joint" pos="0 0 0" axis="0 0 1" limited="true" range="-6.28319 6.28319"/>
|
||||
<geom pos="0 0 -0.0989" quat="0.707107 0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" mesh="wrist3"/>
|
||||
<geom pos="0 0 -0.0989" quat="0.707107 0.707107 0 0" type="mesh" mesh="wrist3"/>
|
||||
<geom size="0.005 0.005 0.005" pos="0 -0.05 0.07" quat="0.500398 0.5 -0.5 0.499602" type="box" contype="0" conaffinity="0" group="1" density="0" rgba="0 0 0 1"/>
|
||||
<geom size="0.005 0.005 0.005" pos="0 -0.05 0.07" quat="0.500398 0.5 -0.5 0.499602" type="box" rgba="0 0 0 1"/>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
</worldbody>
|
||||
|
||||
<actuator>
|
||||
<motor name="shoulder_pan_joint" gear="1" joint="shoulder_pan_joint"/>
|
||||
<motor name="shoulder_lift_joint" gear="1" joint="shoulder_lift_joint"/>
|
||||
<motor name="elbow_joint" gear="1" joint="elbow_joint"/>
|
||||
<motor name="wrist_1_joint" gear="1" joint="wrist_1_joint"/>
|
||||
<motor name="wrist_2_joint" gear="1" joint="wrist_2_joint"/>
|
||||
<motor name="wrist_3_joint" gear="1" joint="wrist_3_joint"/>
|
||||
</actuator>
|
||||
</mujoco>
|
172
rbs_simulation/mujoco_model/meshes/base.dae
Normal file
172
rbs_simulation/mujoco_model/meshes/base.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/base.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/base.stl
Normal file
Binary file not shown.
445
rbs_simulation/mujoco_model/meshes/forearm.dae
Normal file
445
rbs_simulation/mujoco_model/meshes/forearm.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/forearm.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/forearm.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/left_finger.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/left_finger.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/left_finger.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/left_finger.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/left_finger_tip.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/left_finger_tip.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/left_finger_tip.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/left_finger_tip.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/left_inner_knuckle.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/left_inner_knuckle.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/left_inner_knuckle.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/left_inner_knuckle.stl
Normal file
Binary file not shown.
98
rbs_simulation/mujoco_model/meshes/left_knuckle.dae
Normal file
98
rbs_simulation/mujoco_model/meshes/left_knuckle.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/left_knuckle.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/left_knuckle.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/right_finger.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/right_finger.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/right_finger.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/right_finger.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/right_finger_tip.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/right_finger_tip.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/right_finger_tip.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/right_finger_tip.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/right_inner_knuckle.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/right_inner_knuckle.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/right_inner_knuckle.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/right_inner_knuckle.stl
Normal file
Binary file not shown.
98
rbs_simulation/mujoco_model/meshes/right_knuckle.dae
Normal file
98
rbs_simulation/mujoco_model/meshes/right_knuckle.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/right_knuckle.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/right_knuckle.stl
Normal file
Binary file not shown.
133
rbs_simulation/mujoco_model/meshes/robotiq_base.dae
Normal file
133
rbs_simulation/mujoco_model/meshes/robotiq_base.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/robotiq_base.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/robotiq_base.stl
Normal file
Binary file not shown.
248
rbs_simulation/mujoco_model/meshes/shoulder.dae
Normal file
248
rbs_simulation/mujoco_model/meshes/shoulder.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/shoulder.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/shoulder.stl
Normal file
Binary file not shown.
496
rbs_simulation/mujoco_model/meshes/upperarm.dae
Normal file
496
rbs_simulation/mujoco_model/meshes/upperarm.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/upperarm.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/upperarm.stl
Normal file
Binary file not shown.
136
rbs_simulation/mujoco_model/meshes/ur_to_robotiq_adapter.dae
Normal file
136
rbs_simulation/mujoco_model/meshes/ur_to_robotiq_adapter.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/ur_to_robotiq_adapter.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/ur_to_robotiq_adapter.stl
Normal file
Binary file not shown.
248
rbs_simulation/mujoco_model/meshes/wrist1.dae
Normal file
248
rbs_simulation/mujoco_model/meshes/wrist1.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/wrist1.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/wrist1.stl
Normal file
Binary file not shown.
244
rbs_simulation/mujoco_model/meshes/wrist2.dae
Normal file
244
rbs_simulation/mujoco_model/meshes/wrist2.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/wrist2.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/wrist2.stl
Normal file
Binary file not shown.
100
rbs_simulation/mujoco_model/meshes/wrist3.dae
Normal file
100
rbs_simulation/mujoco_model/meshes/wrist3.dae
Normal file
File diff suppressed because one or more lines are too long
BIN
rbs_simulation/mujoco_model/meshes/wrist3.stl
Normal file
BIN
rbs_simulation/mujoco_model/meshes/wrist3.stl
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue