🔧 Delete robot 1 and add config for robot 2

This commit is contained in:
Ilya Uraev 2022-01-17 02:25:44 +04:00
parent 6d712ca4c1
commit e8cd58256b
39 changed files with 1062 additions and 990 deletions

View file

@ -1,30 +0,0 @@
cmake_minimum_required(VERSION 3.5)
project(rasms_description)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)
# Install launch files.
install(DIRECTORY urdf DESTINATION share/${PROJECT_NAME})
install(DIRECTORY meshes DESTINATION share/${PROJECT_NAME})
install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.dsv")
ament_package()

View file

@ -1 +0,0 @@
controller_joint_names: ['', 'Joint1', 'Joint3', 'Joint4', 'Joint5', 'Joint6', 'Joint7', ]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1 +0,0 @@
prepend-non-duplicate;GAZEBO_MODEL_PATH;share

View file

@ -1,71 +0,0 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="rasms_gazebo">
<xacro:property name="gravity_disable" value="true" />
<!-- ros_control-plugin -->
<gazebo>
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
<robot_sim_type>gazebo_ros2_control/GazeboSystem</robot_sim_type>
<parameters>$(find rasms_moveit_config)/config/rasms_controllers.yml</parameters>
</plugin>
</gazebo>
<!-- link 0 -->
<gazebo reference="base">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
<!-- link 1 -->
<gazebo reference="link1">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
<!-- link 2 -->
<gazebo reference="link2">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
<!-- link 3 -->
<gazebo reference="link3">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
<!-- link 4 -->
<gazebo reference="link4">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
<!-- link 5 -->
<gazebo reference="link5">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
<!-- link 6 -->
<gazebo reference="link6">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/White</material>
<turnGravityOff>gravity_disable</turnGravityOff>
</gazebo>
</xacro:macro>
</robot>

View file

@ -1,395 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com)
Commit Version: 1.6.0-1-g15f4949 Build Version: 1.6.7594.29634
For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robot
name="rasms">
<link
name="base">
<inertial>
<origin
xyz="-0.00033212 0.00010743 -0.036421"
rpy="0 0 0" />
<mass
value="1.3101" />
<inertia
ixx="0.0025958"
ixy="9.7863E-07"
ixz="-1.4731E-05"
iyy="0.0023883"
iyz="5.8191E-07"
izz="0.0043068" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/base.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/base.STL" />
</geometry>
</collision>
</link>
<link
name="link1">
<inertial>
<origin
xyz="0.080526 -0.028752 -0.00018483"
rpy="0 0 0" />
<mass
value="0.52648" />
<inertia
ixx="0.00038929"
ixy="3.5255E-05"
ixz="2.2864E-07"
iyy="0.00076496"
iyz="6.2982E-08"
izz="0.00075521" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link1.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link1.STL" />
</geometry>
</collision>
</link>
<joint
name="joint1"
type="revolute">
<origin
xyz="0 0 0"
rpy="3.1352 -1.5708 0" />
<parent
link="base" />
<child
link="link1" />
<axis
xyz="1 0 0" />
<limit
lower="-3.1416"
upper="3.1416"
effort="0"
velocity="0" />
</joint>
<link
name="link2">
<inertial>
<origin
xyz="0.025632 0.0098422 6.3301E-05"
rpy="0 0 0" />
<mass
value="0.46645" />
<inertia
ixx="0.00030236"
ixy="6.3961E-06"
ixz="4.0548E-08"
iyy="0.00025015"
iyz="-9.5727E-08"
izz="0.00026486" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link2.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link2.STL" />
</geometry>
</collision>
</link>
<joint
name="joint2"
type="continuous">
<origin
xyz="0.14172 0 0"
rpy="0 0 0" />
<parent
link="link1" />
<child
link="link2" />
<axis
xyz="0 1 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link3">
<inertial>
<origin
xyz="0.069442 -0.021508 -0.00029297"
rpy="0 0 0" />
<mass
value="0.70817" />
<inertia
ixx="0.00048214"
ixy="3.6229E-05"
ixz="4.9555E-07"
iyy="0.00086485"
iyz="6.0984E-08"
izz="0.0008604" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link3.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link3.STL" />
</geometry>
</collision>
</link>
<joint
name="joint3"
type="continuous">
<origin
xyz="0.081346 0 0"
rpy="0 0 0" />
<parent
link="link2" />
<child
link="link3" />
<axis
xyz="1 0 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link4">
<inertial>
<origin
xyz="0.025632 0.0098415 0.0001341"
rpy="0 0 0" />
<mass
value="0.46645" />
<inertia
ixx="0.00030236"
ixy="6.3957E-06"
ixz="8.6559E-08"
iyy="0.00025015"
iyz="-2.0152E-07"
izz="0.00026486" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link4.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link4.STL" />
</geometry>
</collision>
</link>
<joint
name="joint4"
type="continuous">
<origin
xyz="0.14438 0 0"
rpy="0 0 0" />
<parent
link="link3" />
<child
link="link4" />
<axis
xyz="0 1 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link5">
<inertial>
<origin
xyz="0.069442 -0.021508 -0.00029297"
rpy="0 0 0" />
<mass
value="0.70817" />
<inertia
ixx="0.00048214"
ixy="3.6229E-05"
ixz="4.9555E-07"
iyy="0.00086485"
iyz="6.0984E-08"
izz="0.0008604" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link5.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link5.STL" />
</geometry>
</collision>
</link>
<joint
name="joint5"
type="continuous">
<origin
xyz="0.081346 0 0"
rpy="0 0 0" />
<parent
link="link4" />
<child
link="link5" />
<axis
xyz="1 0 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link6">
<inertial>
<origin
xyz="0.033705 0.010795 0.00015348"
rpy="0 0 0" />
<mass
value="0.59936" />
<inertia
ixx="0.00035851"
ixy="5.7985E-06"
ixz="7.8497E-08"
iyy="0.00028631"
iyz="-1.8291E-07"
izz="0.00029514" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link6.STL" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link6.STL" />
</geometry>
</collision>
</link>
<joint
name="joint6"
type="continuous">
<origin
xyz="0.14438 0 0"
rpy="0 0 0" />
<parent
link="link5" />
<child
link="link6" />
<axis
xyz="0 1 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
</robot>

View file

@ -1,409 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<robot name="rasms" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find rasms_description)/urdf/rasms.gazebo.xacro"/>
<xacro:include filename="$(find rasms_description)/urdf/rasms.control.xacro"/>
<link name="world"/>
<joint name="to_world" type="fixed">
<parent link="world"/>
<child link="base"/>
<origin xyz="0.0 0.0 0.07" rpy="0.0 0.0 0.0"/>
</joint>
<link
name="base">
<inertial>
<origin
xyz="-0.00033212 0.00010743 -0.036421"
rpy="0 0 0" />
<mass
value="1.3101" />
<inertia
ixx="0.0025958"
ixy="9.7863E-07"
ixz="-1.4731E-05"
iyy="0.0023883"
iyz="5.8191E-07"
izz="0.0043068" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/base.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/base.stl" />
</geometry>
</collision>
</link>
<link
name="link1">
<inertial>
<origin
xyz="0.080526 -0.028752 -0.00018483"
rpy="0 0 0" />
<mass
value="0.52648" />
<inertia
ixx="0.00038929"
ixy="3.5255E-05"
ixz="2.2864E-07"
iyy="0.00076496"
iyz="6.2982E-08"
izz="0.00075521" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link1.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link1.stl" />
</geometry>
</collision>
</link>
<joint
name="joint1"
type="revolute">
<origin
xyz="0 0 0"
rpy="0 -1.5708 0" />
<parent
link="base" />
<child
link="link1" />
<axis
xyz="1 0 0" />
<limit
lower="-3.1416"
upper="3.1416"
effort="0"
velocity="0" />
</joint>
<link
name="link2">
<inertial>
<origin
xyz="0.025632 0.0098422 6.3301E-05"
rpy="0 0 0" />
<mass
value="0.46645" />
<inertia
ixx="0.00030236"
ixy="6.3961E-06"
ixz="4.0548E-08"
iyy="0.00025015"
iyz="-9.5727E-08"
izz="0.00026486" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link2.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link2.stl" />
</geometry>
</collision>
</link>
<joint
name="joint2"
type="revolute">
<origin
xyz="0.14172 0 0"
rpy="0 0 0" />
<parent
link="link1" />
<child
link="link2" />
<axis
xyz="0 1 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link3">
<inertial>
<origin
xyz="0.069442 -0.021508 -0.00029297"
rpy="0 0 0" />
<mass
value="0.70817" />
<inertia
ixx="0.00048214"
ixy="3.6229E-05"
ixz="4.9555E-07"
iyy="0.00086485"
iyz="6.0984E-08"
izz="0.0008604" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link3.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link3.stl" />
</geometry>
</collision>
</link>
<joint
name="joint3"
type="revolute">
<origin
xyz="0.081346 0 0"
rpy="0 0 0" />
<parent
link="link2" />
<child
link="link3" />
<axis
xyz="1 0 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link4">
<inertial>
<origin
xyz="0.025632 0.0098415 0.0001341"
rpy="0 0 0" />
<mass
value="0.46645" />
<inertia
ixx="0.00030236"
ixy="6.3957E-06"
ixz="8.6559E-08"
iyy="0.00025015"
iyz="-2.0152E-07"
izz="0.00026486" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link4.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link4.stl" />
</geometry>
</collision>
</link>
<joint
name="joint4"
type="revolute">
<origin
xyz="0.14438 0 0"
rpy="0 0 0" />
<parent
link="link3" />
<child
link="link4" />
<axis
xyz="0 1 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link5">
<inertial>
<origin
xyz="0.069442 -0.021508 -0.00029297"
rpy="0 0 0" />
<mass
value="0.70817" />
<inertia
ixx="0.00048214"
ixy="3.6229E-05"
ixz="4.9555E-07"
iyy="0.00086485"
iyz="6.0984E-08"
izz="0.0008604" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link5.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link5.stl" />
</geometry>
</collision>
</link>
<joint
name="joint5"
type="revolute">
<origin
xyz="0.081346 0 0"
rpy="0 0 0" />
<parent
link="link4" />
<child
link="link5" />
<axis
xyz="1 0 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link
name="link6">
<inertial>
<origin
xyz="0.033705 0.010795 0.00015348"
rpy="0 0 0" />
<mass
value="0.59936" />
<inertia
ixx="0.00035851"
ixy="5.7985E-06"
ixz="7.8497E-08"
iyy="0.00028631"
iyz="-1.8291E-07"
izz="0.00029514" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link6.stl" />
</geometry>
<material
name="rasms_color">
<color
rgba="0.79216 0.81961 0.93333 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasms_description/meshes/link6.stl" />
</geometry>
</collision>
</link>
<joint
name="joint6"
type="revolute">
<origin
xyz="0.14438 0 0"
rpy="0 0 0" />
<parent
link="link5" />
<child
link="link6" />
<axis
xyz="0 1 0" />
<limit
lower="-2.0944"
upper="2.0944"
effort="0"
velocity="0" />
</joint>
<link name="tool0"/>
<joint name="to_tool0" type="fixed">
<parent link="link6"/>
<child link="tool0"/>
<origin xyz="0.101 0 0" rpy="0 1.5708 0"/>
</joint>
<xacro:rasms_hi/>
<xacro:rasms_gazebo/>
</robot>

View file

@ -0,0 +1,39 @@
cmake_minimum_required(VERSION 3.5)
project(rasmt_support)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(urdf REQUIRED)
find_package(xacro REQUIRED)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
# the following line skips the linter which checks for copyrights
# uncomment the line when a copyright and license is not present in all source files
#set(ament_cmake_copyright_FOUND TRUE)
# the following line skips cpplint (only works in a git repo)
# uncomment the line when this package is not in a git repo
#set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
install(DIRECTORY urdf DESTINATION share/${PROJECT_NAME})
install(DIRECTORY meshes DESTINATION share/${PROJECT_NAME})
install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
install(DIRECTORY launch DESTINATION share/${PROJECT_NAME})
ament_package()

View file

@ -42,70 +42,29 @@ Visualization Manager:
Plane Cell Count: 10 Plane Cell Count: 10
Reference Frame: <Fixed Frame> Reference Frame: <Fixed Frame>
Value: true Value: true
- Class: moveit_rviz_plugin/PlanningScene - 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 Enabled: true
Move Group Namespace: "" Links:
Name: PlanningScene All Links Enabled: true
Planning Scene Topic: /monitored_planning_scene Expand Joint Details: false
Robot Description: robot_description Expand Link Details: false
Scene Geometry: Expand Tree: false
Scene Alpha: 0.8999999761581421 Link Tree Style: ""
Scene Color: 50; 230; 50 Name: RobotModel
Scene Display Time: 0.009999999776482582 TF Prefix: ""
Show Scene Geometry: true Update Interval: 0
Voxel Coloring: Z-Axis
Voxel Rendering: Occupied Voxels
Scene Robot:
Attached Body Color: 150; 50; 150
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
base:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link1:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link2:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link3:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link4:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link5:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link6:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
world:
Alpha: 1
Show Axes: false
Show Trail: false
Robot Alpha: 1
Show Robot Collision: false
Show Robot Visual: true
Value: true Value: true
Visual Enabled: true
Enabled: true Enabled: true
Global Options: Global Options:
Background Color: 48; 48; 48 Background Color: 48; 48; 48
@ -164,10 +123,10 @@ Visualization Manager:
Invert Z Axis: false Invert Z Axis: false
Name: Current View Name: Current View
Near Clip Distance: 0.009999999776482582 Near Clip Distance: 0.009999999776482582
Pitch: 0.7903980612754822 Pitch: 0.680398166179657
Target Frame: <Fixed Frame> Target Frame: <Fixed Frame>
Value: Orbit (rviz) Value: Orbit (rviz)
Yaw: 5.348577976226807 Yaw: 5.493580341339111
Saved: ~ Saved: ~
Window Geometry: Window Geometry:
Displays: Displays:

View file

@ -0,0 +1,21 @@
controller_manager:
ros__parameters:
update_rate: 1000 # Hz
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
hand_position_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
hand_position_trajectory_controller:
ros__parameters:
joints:
- rasmt_Slide_1
- rasmt_Slide_2
command_interfaces:
- position
state_interfaces:
- position
state_publish_rate: 50.0
action_monitor_rate: 20.0

View file

@ -0,0 +1,25 @@
controller_manager:
ros__parameters:
update_rate: 1000 # Hz
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
position_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
position_trajectory_controller:
ros__parameters:
joints:
- rasmt_Rot_Z_1
- rasmt_Rot_Y_1
- rasmt_Rot_Z_2
- rasmt_Rot_Y_2
- rasmt_Rot_Z_3
- rasmt_Rot_Y_4
command_interfaces:
- position
state_interfaces:
- position
state_publish_rate: 50.0
action_monitor_rate: 20.0

View file

@ -0,0 +1,54 @@
from launch.launch_description import LaunchDescription
from launch.actions import IncludeLaunchDescription, DeclareLaunchArgument
from launch.substitutions import PathJoinSubstitution, LaunchConfiguration, FindExecutable, Command
from launch_ros.substitutions import FindPackageShare
from launch_ros.actions import Node
from launch.launch_description_sources import PythonLaunchDescriptionSource
import xacro
import os
from ament_index_python import get_package_share_directory
def generate_launch_description():
# Launch Gazebo
gazebo = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
PathJoinSubstitution([
FindPackageShare("gazebo_ros"),
"launch",
"gazebo.launch.py"
])
)
)
xacro_file = os.path.join(get_package_share_directory("rasmt_support"),"urdf/","rasmt.xacro")
# get error if xacro file if missing
assert os.path.exists(xacro_file), "The xacro file of rasmt.xacro doesnt exist"+str(xacro_file)
sdf_file = os.path.join(get_package_share_directory("rasmt_support"),"urdf/","cube5x.sdf")
spawn_entity = Node(
package="gazebo_ros",
executable="spawn_entity.py",
arguments=[
"-file", xacro_file,
"-entity", "rasmt"
],
output="screen"
)
cube_spawn = Node(
package="gazebo_ros",
executable="spawn_entity.py",
arguments=[
"-file", sdf_file,
"-entity", "cube_station"
]
)
return LaunchDescription(
[
gazebo,
spawn_entity,
#cube_spawn
])

View file

@ -0,0 +1,77 @@
from multiprocessing import context
from webbrowser import get
from launch.actions.declare_launch_argument import DeclareLaunchArgument
from launch.launch_description import LaunchDescription
#from launch.substitutions.launch_configuration import LaunchConfiguration
from launch_ros.actions import Node
import xacro
import os
from ament_index_python import get_package_share_directory
def generate_launch_description():
launch_args = []
launch_args.append(
DeclareLaunchArgument(
name="grip",
default_value="true",
description="On or OFF gripper for launch"
)
)
launch_args.append(
DeclareLaunchArgument(
name="sim",
default_value="true",
description="On or OFF simulation"
)
)
launch_args.append(
DeclareLaunchArgument(
name="robot_name",
default_value="rasmt",
description="Robot name"
)
)
# For convert LaunchConfiguration to string
# grip = LaunchConfiguration("grip").perform(context)
# get xacro file path
xacro_file = os.path.join(get_package_share_directory("rasmt_support"),"urdf/","rasmt.xacro")
# get error if xacro file if missing
assert os.path.exists(xacro_file), "The xacro file of neptun_description doesnt exist"+str(xacro_file)
# parse xacro file from file with arguments
robot_description = xacro.process_file(xacro_file, mappings={'grip':"true",'sim':"false",'robot_name':"rasmt"})
# convert file to xml format
robot_description_content = robot_description.toxml()
rviz_config_file = os.path.join(get_package_share_directory("rasmt_support"),"config/","rasmt.rviz")
rviz = Node(
package="rviz2",
executable="rviz2",
parameters=[{'robot_description': robot_description_content}],
arguments=[
'-d', rviz_config_file
]
)
robot_state_publisher = Node(
package="robot_state_publisher",
executable="robot_state_publisher",
output="screen",
parameters=[{'robot_description': robot_description_content}]
)
joint_state_publisher =Node(
package="joint_state_publisher_gui",
executable="joint_state_publisher_gui",
output="log",
arguments=["--ros-args"],
)
launch_nodes = []
launch_nodes.append(rviz)
launch_nodes.append(robot_state_publisher)
launch_nodes.append(joint_state_publisher)
#launch_nodes.add_action(launch_args)
return LaunchDescription(launch_nodes)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,18 +1,16 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3"> <package format="3">
<name>rasms_description</name> <name>rasmt_support</name>
<version>0.0.0</version> <version>0.0.0</version>
<description>TODO: Package description</description> <description>TODO: Package description</description>
<maintainer email="bill-finger@todo.todo">bill-finger</maintainer> <maintainer email="ur.narmak@gmail.com">bill-finger</maintainer>
<license>TODO: License declaration</license> <license>TODO: License declaration</license>
<buildtool_depend>ament_cmake</buildtool_depend> <buildtool_depend>ament_cmake</buildtool_depend>
<exec_depend>xacro</exec_depend> <depend>urdf</depend>
<exec_depend>joint_state_publisher_gui</exec_depend> <depend>xacro</depend>
<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>rviz2</exec_depend>
<test_depend>ament_lint_auto</test_depend> <test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend> <test_depend>ament_lint_common</test_depend>
@ -20,4 +18,4 @@
<export> <export>
<build_type>ament_cmake</build_type> <build_type>ament_cmake</build_type>
</export> </export>
</package> </package>

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<sdf version='1.7'>
<model name='cube_model'>
<static>1</static>
<link name='cube'>
<inertial>
<pose>0.004475 0 0.577443 0 0 0</pose>
<mass>229.703</mass>
<inertia>
<ixx>0.861062</ixx>
<ixy>2.44052e-16</ixy>
<ixz>-7.22504e-17</ixz>
<iyy>0.861062</iyy>
<iyz>3.40174e-17</iyz>
<izz>1.16487</izz>
</inertia>
</inertial>
<collision name='cube_5x5x5_collision'>
<pose>0 0 0 0 0 1.5707</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://neptun_description/meshes/cube5x.STL</uri>
</mesh>
</geometry>
</collision>
<visual name='cube_5x5x5_visual'>
<pose>0 0 0 0 0 1.5707</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://neptun_description/meshes/cube5x.STL</uri>
</mesh>
</geometry>
</visual>
</link>
</model>
</sdf>

View file

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="rasmt">
<xacro:arg name="grip" default="false"/>
<xacro:arg name="sim" default="true"/>
<xacro:arg name="robot_name" default="rasmt"/>
<link name="world"/>
<xacro:include filename="$(find rasmt_support)/urdf/robot/rasmt_single_macro.xacro"/>
<xacro:rasmt_single prefix="$(arg robot_name)" parent="world" sim="$(arg sim)"/>
<xacro:if value="$(arg grip)">
<xacro:include filename="$(find rasmt_support)/urdf/tools/rasmt_hand_macro.xacro"/>
<xacro:rasmt_hand prefix="$(arg robot_name)" sim="$(arg sim)"/>
</xacro:if>
</robot>

View file

@ -1,13 +1,22 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro"> <robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="rasms_hi"> <xacro:macro name="rasmt_single_control" params="prefix sim">
<!-- arg for control mode --> <!-- arg for control mode -->
<ros2_control name="rasms_hi" type="system"> <ros2_control name="rasmt_single_hi" type="system">
<hardware>
<plugin>gazebo_ros2_control/GazeboSystem</plugin> <xacro:if value="${sim}">
</hardware> <hardware>
<!-- define joints and command/state interfaces for each joint --> <plugin>gazebo_ros2_control/GazeboSystem</plugin>
<joint name="joint1"> </hardware>
</xacro:if>
<xacro:unless value="${sim}">
<hardware>
<plugin>fake_components/GenericSystem</plugin>
</hardware>
</xacro:unless>
<joint name="${prefix}_Rot_Z_1">
<command_interface name="position"> <command_interface name="position">
<!-- better to use radians as min max first --> <!-- better to use radians as min max first -->
<param name="min">-1</param> <param name="min">-1</param>
@ -17,7 +26,8 @@
<state_interface name="velocity"/> <state_interface name="velocity"/>
<state_interface name="effort"/> <state_interface name="effort"/>
</joint> </joint>
<joint name="joint2">
<joint name="${prefix}_Rot_Y_1">
<command_interface name="position"> <command_interface name="position">
<param name="min">-1</param> <param name="min">-1</param>
<param name="max"> 1</param> <param name="max"> 1</param>
@ -26,7 +36,8 @@
<state_interface name="velocity"/> <state_interface name="velocity"/>
<state_interface name="effort"/> <state_interface name="effort"/>
</joint> </joint>
<joint name="joint3">
<joint name="${prefix}_Rot_Z_2">
<command_interface name="position"> <command_interface name="position">
<param name="min">-1</param> <param name="min">-1</param>
<param name="max"> 1</param> <param name="max"> 1</param>
@ -35,7 +46,8 @@
<state_interface name="velocity"/> <state_interface name="velocity"/>
<state_interface name="effort"/> <state_interface name="effort"/>
</joint> </joint>
<joint name="joint4">
<joint name="${prefix}_Rot_Y_2">
<command_interface name="position"> <command_interface name="position">
<param name="min">-1</param> <param name="min">-1</param>
<param name="max"> 1</param> <param name="max"> 1</param>
@ -44,7 +56,8 @@
<state_interface name="velocity"/> <state_interface name="velocity"/>
<state_interface name="effort"/> <state_interface name="effort"/>
</joint> </joint>
<joint name="joint5">
<joint name="${prefix}_Rot_Z_3">
<command_interface name="position"> <command_interface name="position">
<param name="min">-1</param> <param name="min">-1</param>
<param name="max"> 1</param> <param name="max"> 1</param>
@ -53,7 +66,8 @@
<state_interface name="velocity"/> <state_interface name="velocity"/>
<state_interface name="effort"/> <state_interface name="effort"/>
</joint> </joint>
<joint name="joint6">
<joint name="${prefix}_Rot_Y_4">
<command_interface name="position"> <command_interface name="position">
<param name="min">-1</param> <param name="min">-1</param>
<param name="max"> 1</param> <param name="max"> 1</param>
@ -62,6 +76,7 @@
<state_interface name="velocity"/> <state_interface name="velocity"/>
<state_interface name="effort"/> <state_interface name="effort"/>
</joint> </joint>
</ros2_control> </ros2_control>
</xacro:macro> </xacro:macro>
</robot> </robot>

View file

@ -0,0 +1,63 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="rasmt_single_gazebo" params="prefix">
<!-- ros_control-plugin -->
<gazebo>
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
<!--robot_sim_type>gazebo_ros2_control/GazeboSystem</robot_sim_type-->
<parameters>$(find rasmt_support)/config/rasmt_single_controllers.yaml</parameters>
<robotNamespace>/${prefix}</robotNamespace>
</plugin>
</gazebo>
<!-- link 0 -->
<gazebo reference="${prefix}_Base_Link">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 1 -->
<gazebo reference="${prefix}_Fork_1">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 2 -->
<gazebo reference="${prefix}_Link_1">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 3 -->
<gazebo reference="${prefix}_Fork_2">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 4 -->
<gazebo reference="${prefix}_Link_2">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 5 -->
<gazebo reference="${prefix}_Fork_3">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 6 -->
<gazebo reference="${prefix}_Dock_Link">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
</xacro:macro>
</robot>

View file

@ -0,0 +1,405 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find rasmt_support)/urdf/robot/rasmt_single_control.xacro"/>
<xacro:include filename="$(find rasmt_support)/urdf/robot/rasmt_single_gazebo.xacro"/>
<xacro:macro name="rasmt_single" params="prefix parent sim:=^|true">
<joint name="to_${parent}" type="fixed">
<parent link="${parent}"/>
<child link="${prefix}_Base_Link"/>
<!--origin xyz="0 0 1.15" rpy="3.14159 0 3.14159"/-->
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 0 0"/>
</joint>
<link name="${prefix}_Base_Link">
<inertial>
<origin xyz="-0.0030651 -3.2739E-05 0.082353" rpy="0 0 0" />
<mass value="5.2929" />
<inertia
ixx="0.0076169"
ixy="1.0121E-05"
ixz="-0.00010622"
iyy="0.0076597"
iyz="6.5117E-05"
izz="0.01165" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://rasmt_support/meshes/collision/Base_Link.STL" />
</geometry>
<material
name="">
<color rgba="0.75294 0.75294 0.75294 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://rasmt_support/meshes/collision/Base_Link.STL" />
</geometry>
</collision>
</link>
<link name="${prefix}_Fork_1">
<inertial>
<origin xyz="0.043764 -0.0066984 -0.032285" rpy="0 0 0" />
<mass value="0.67797" />
<inertia
ixx="0.0014091"
ixy="-6.2674E-05"
ixz="0.00057897"
iyy="0.0017329"
iyz="4.7826E-05"
izz="0.0019056" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://rasmt_support/meshes/collision/Fork_1.STL" />
</geometry>
<material
name="">
<color
rgba="0.75294 0.75294 0.75294 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Fork_1.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Rot_Z_1"
type="revolute">
<origin
xyz="0 0 0.2533"
rpy="-3.1416 0 0" />
<parent
link="${prefix}_Base_Link" />
<child
link="${prefix}_Fork_1" />
<axis
xyz="0 0 1" />
<limit
lower="-3.1416"
upper="3.1416"
effort="5.149"
velocity="0.99903" />
</joint>
<link
name="${prefix}_Link_1">
<inertial>
<origin
xyz="-0.00042264 0.0 0.075171"
rpy="0 0 0" />
<mass
value="1.8959" />
<inertia
ixx="0.0029317"
ixy="-9.417E-06"
ixz="5.5248E-05"
iyy="0.0031666"
iyz="-9.3067E-05"
izz="0.0015477" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Link_1.STL" />
</geometry>
<material
name="">
<color
rgba="0.75294 0.75294 0.75294 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Link_1.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Rot_Y_1"
type="revolute">
<origin
xyz="0.1045 0.0 -0.0795"
rpy="3.1416 0 0" />
<parent
link="${prefix}_Fork_1" />
<child
link="${prefix}_Link_1" />
<axis
xyz="0 1 0" />
<limit
lower="-1.5707"
upper="2.2863"
effort="5.149"
velocity="0.99903" />
</joint>
<link
name="${prefix}_Fork_2">
<inertial>
<origin
xyz="0.043764 0.0066984 0.032285"
rpy="0 0 0" />
<mass
value="0.67797" />
<inertia
ixx="0.0014091"
ixy="6.2674E-05"
ixz="-0.00057897"
iyy="0.0017329"
iyz="4.7826E-05"
izz="0.0019056" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Fork_2.STL" />
</geometry>
<material
name="">
<color
rgba="0.75294 0.75294 0.75294 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Fork_2.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Rot_Z_2"
type="revolute">
<origin
xyz="0 0.0 0.17502"
rpy="0 0 0" />
<parent
link="${prefix}_Link_1" />
<child
link="${prefix}_Fork_2" />
<axis
xyz="0 0 1" />
<limit
lower="-3.1416"
upper="3.1416"
effort="5.149"
velocity="0.99903" />
</joint>
<link
name="${prefix}_Link_2">
<inertial>
<origin
xyz="-0.00042264 0.0 0.075171"
rpy="0 0 0" />
<mass
value="1.8959" />
<inertia
ixx="0.0029317"
ixy="-9.4171E-06"
ixz="5.5248E-05"
iyy="0.0031666"
iyz="-9.3067E-05"
izz="0.0015477" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Link_2.STL" />
</geometry>
<material
name="">
<color
rgba="0.75294 0.75294 0.75294 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Link_2.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Rot_Y_2"
type="revolute">
<origin
xyz="0.1045 0.0 0.0795"
rpy="0 0 0" />
<parent
link="${prefix}_Fork_2" />
<child
link="${prefix}_Link_2" />
<axis
xyz="0 1 0" />
<limit
lower="-1.5707"
upper="2.2863"
effort="5.149"
velocity="0.99903" />
</joint>
<link
name="${prefix}_Fork_3">
<inertial>
<origin
xyz="0.0437644555284691 0.00669835350471771 0.0322846229336455"
rpy="0 0 0" />
<mass
value="0.677972982551887" />
<inertia
ixx="0.00140908677953665"
ixy="6.26743492445164E-05"
ixz="-0.000578970009504215"
iyy="0.00173285340301686"
iyz="4.78263030621606E-05"
izz="0.00190561919128035" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Fork_3.STL" />
</geometry>
<material
name="">
<color
rgba="0.752941176470588 0.752941176470588 0.752941176470588 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Fork_3.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Rot_Z_3"
type="revolute">
<origin
xyz="0 0.0 0.175"
rpy="0 0 0" />
<parent
link="${prefix}_Link_2" />
<child
link="${prefix}_Fork_3" />
<axis
xyz="0 0 1" />
<limit
lower="-3.14159"
upper="3.14159"
effort="5.149"
velocity="0.99903" />
</joint>
<link
name="${prefix}_Dock_Link">
<inertial>
<origin
xyz="1.08992929317431E-05 0.0 0.0566747528784688"
rpy="0 0 0" />
<mass
value="1.81040750781824" />
<inertia
ixx="0.00136087225665183"
ixy="-1.57915998142718E-06"
ixz="-1.31398366941724E-06"
iyy="0.00136397029450427"
iyz="-0.00010058418524025"
izz="0.00124273705160787" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Dock_Link.STL" />
</geometry>
<material
name="">
<color
rgba="0.752941176470588 0.752941176470588 0.752941176470588 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Dock_Link.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Rot_Y_4"
type="revolute">
<origin
xyz="0.1045 0.0 0.0795"
rpy="0 0 0" />
<parent
link="${prefix}_Fork_3" />
<child
link="${prefix}_Dock_Link" />
<axis
xyz="0 1 0" />
<limit
lower="-1.5707"
upper="2.2863"
effort="5.149"
velocity="0.99903" />
</joint>
<xacro:rasmt_single_gazebo prefix="${prefix}"/>
<xacro:rasmt_single_control prefix="${prefix}" sim="${sim}"/>
</xacro:macro>
</robot>

View file

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="rasmt_hand_hi" params="prefix sim">
<!-- arg for control mode -->
<ros2_control name="rasmt_hand_hi" type="system">
<xacro:if value="${sim}">
<hardware>
<plugin>gazebo_ros2_control/GazeboSystem</plugin>
</hardware>
</xacro:if>
<xacro:unless value="${sim}">
<hardware>
<plugin>fake_components/GenericSystem</plugin>
</hardware>
</xacro:unless>
<joint name="${prefix}_Slide_1">
<command_interface name="position">
<!-- better to use radians as min max first -->
<param name="min">-1</param>
<param name="max"> 1</param>
</command_interface>
<state_interface name="position"/>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
<joint name="${prefix}_Slide_2">
<command_interface name="position">
<param name="min">-1</param>
<param name="max"> 1</param>
</command_interface>
<state_interface name="position"/>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
</ros2_control>
</xacro:macro>
</robot>

View file

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="rasmt_hand_gazebo" params="prefix">
<!-- ros_control-plugin -->
<gazebo>
<plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
<!--robot_sim_type>gazebo_ros2_control/GazeboSystem</robot_sim_type-->
<parameters>$(find rasmt_support)/config/rasmt_hand_controllers.yaml</parameters>
<robotNamespace>/${prefix}</robotNamespace>
</plugin>
</gazebo>
<!-- link 0 -->
<gazebo reference="${prefix}_Grip_Body">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 1 -->
<gazebo reference="${prefix}_Grip_L">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
<!-- link 2 -->
<gazebo reference="${prefix}_Grip_R">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<turnGravityOff>true</turnGravityOff>
</gazebo>
</xacro:macro>
</robot>

View file

@ -0,0 +1,189 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find rasmt_support)/urdf/tools/rasmt_hand_gazebo.xacro"/>
<xacro:include filename="$(find rasmt_support)/urdf/tools/rasmt_hand_control.xacro"/>
<xacro:macro name="rasmt_hand" params="prefix sim">
<link
name="${prefix}_Grip_Body">
<inertial>
<origin
xyz="0.0016793 -0.00053126 -0.024041"
rpy="0 0 0" />
<mass
value="0.72351" />
<inertia
ixx="0.00045979"
ixy="-2.1983E-08"
ixz="-6.5154E-06"
iyy="0.00048572"
iyz="8.3162E-07"
izz="0.00082469" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Grip_Body.STL" />
</geometry>
<material
name="">
<color
rgba="0.50196 1 0.50196 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Grip_Body.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Fix"
type="fixed">
<origin
xyz="0 0.0 0.12324"
rpy="-3.14159265358979 0 -1.5707963267949" />
<parent
link="${prefix}_Dock_Link" />
<child
link="${prefix}_Grip_Body" />
<axis
xyz="0 0 0" />
</joint>
<link
name="${prefix}_Grip_L">
<inertial>
<origin
xyz="-0.010118 0.010281 -0.0038252"
rpy="0 0 0" />
<mass
value="0.021223" />
<inertia
ixx="6.5436E-06"
ixy="-3.114E-06"
ixz="2.8479E-06"
iyy="1.9726E-05"
iyz="1.6432E-06"
izz="1.6355E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Grip_L.STL" />
</geometry>
<material
name="">
<color
rgba="0.75294 1 1 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Grip_L.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Slide_1"
type="prismatic">
<origin
xyz="0 0 -0.09305"
rpy="3.1416 0 -1.5708" />
<parent
link="${prefix}_Grip_Body" />
<child
link="${prefix}_Grip_L" />
<axis
xyz="1 0 0" />
<limit
effort="20"
lower="-0.02"
upper="0.04"
velocity="0.2"/>
</joint>
<link
name="${prefix}_Grip_R">
<inertial>
<origin
xyz="-0.010118 0.010281 -0.0038252"
rpy="0 0 0" />
<mass
value="0.021223" />
<inertia
ixx="6.5436E-06"
ixy="-3.114E-06"
ixz="2.8479E-06"
iyy="1.9726E-05"
iyz="1.6432E-06"
izz="1.6355E-05" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Grip_R.STL" />
</geometry>
<material
name="">
<color
rgba="0.75294 1 1 1" />
</material>
</visual>
<collision>
<origin
xyz="0 1 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://rasmt_support/meshes/collision/Grip_R.STL" />
</geometry>
</collision>
</link>
<joint
name="${prefix}_Slide_2"
type="prismatic">
<origin
xyz="0 0 -0.09305"
rpy="3.1416 0 1.5708" />
<parent
link="${prefix}_Grip_Body" />
<child
link="${prefix}_Grip_R" />
<axis
xyz="1 0 0" />
<limit
effort="20"
lower="-0.02"
upper="0.04"
velocity="0.2"/>
<mimic joint="${prefix}_Slide_1"/>
</joint>
<xacro:rasmt_hand_hi prefix="${prefix}" sim="${sim}"/>
<xacro:rasmt_hand_gazebo prefix="${prefix}"/>
</xacro:macro>
</robot>