Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update MH5: Add Short & Long Variants (based on pull request #380) #518

Open
wants to merge 9 commits into
base: kinetic-devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions motoman_mh5_support/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@
Changelog for package motoman_mh5_support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.6 (UNRELEASED)
------------------
** Added support for MH5 SHORT and LONG variants
* Each variant has unique launch, test, urdf, and (L & U) mesh files. Config/joint_names and remaining mesh files are shared.
* Fixed collision meshes
* Fixed tab/spacing in all code
* Renamed links & joints to ros-i convention
* Updated appropriate motoman controllers list (fs100, dx100, dx200)
* Rotated BASE_LINK mesh 180deg about Z-axis (allowing code to match convention)
* Macro level definition of material_color properties
* Added tool0, flange, base
* Added Max Accel/Deccel (provided by EricMarcil)
Contributors: acbuynak

0.3.5 (2016-07-03)
------------------
* No changes
Expand Down
3 changes: 2 additions & 1 deletion motoman_mh5_support/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ catkin_package()

if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(test/launch_test.xml)
roslaunch_add_file_check(test/launch_test_mh5.xml)
roslaunch_add_file_check(test/launch_test_mh5l.xml)
endif()

install(DIRECTORY config launch meshes urdf
Expand Down
2 changes: 1 addition & 1 deletion motoman_mh5_support/config/joint_names_mh5.yaml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
controller_joint_names: ['joint_s', 'joint_l', 'joint_u', 'joint_r', 'joint_b', 'joint_t']
controller_joint_names: ['joint_1_s', 'joint_2_l', 'joint_3_u', 'joint_4_r', 'joint_5_b', 'joint_6_t']
20 changes: 20 additions & 0 deletions motoman_mh5_support/config/opw_parameters_mh5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#
# Parameters for use with IK solvers which support OPW (Ortho-Parallel Wrist)
# kinematic configurations, as described in the paper "An Analytical Solution
# of the Inverse Kinematics Problem of Industrial Serial Manipulators with an
# Ortho-parallel Basis and a Spherical Wrist" by Mathias Brandstötter, Arthur
# Angerer, and Michael Hofbaur (Proceedings of the Austrian Robotics Workshop
# 2014, 22-23 May, 2014, Linz, Austria).
#
# The moveit_opw_kinematics_plugin package provides such a solver.
#
opw_kinematics_geometric_parameters:
a1: 0.088
a2: -0.040
b: 0.000
c1: 0.330
c2: 0.310
c3: 0.305
c4: 0.080
opw_kinematics_joint_offsets: [0.0, 0.0, deg(-90.0), 0.0, 0.0, deg(180.0)]
opw_kinematics_joint_sign_corrections: [1, 1, -1, -1, -1, -1]
20 changes: 20 additions & 0 deletions motoman_mh5_support/config/opw_parameters_mh5l.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#
# Parameters for use with IK solvers which support OPW (Ortho-Parallel Wrist)
# kinematic configurations, as described in the paper "An Analytical Solution
# of the Inverse Kinematics Problem of Industrial Serial Manipulators with an
# Ortho-parallel Basis and a Spherical Wrist" by Mathias Brandstötter, Arthur
# Angerer, and Michael Hofbaur (Proceedings of the Austrian Robotics Workshop
# 2014, 22-23 May, 2014, Linz, Austria).
#
# The moveit_opw_kinematics_plugin package provides such a solver.
#
opw_kinematics_geometric_parameters:
a1: 0.088
a2: -0.040
b: 0.000
c1: 0.330
c2: 0.400
c3: 0.405
c4: 0.080
opw_kinematics_joint_offsets: [0.0, 0.0, deg(-90.0), 0.0, 0.0, deg(180.0)]
opw_kinematics_joint_sign_corrections: [1, 1, -1, -1, -1, -1]
2 changes: 1 addition & 1 deletion motoman_mh5_support/launch/load_mh5.launch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

<launch>
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find motoman_mh5_support)/urdf/mh5.xacro'" />
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find motoman_mh5_support)/urdf/mh5.xacro'" />
</launch>
4 changes: 4 additions & 0 deletions motoman_mh5_support/launch/load_mh5l.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

<launch>
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find motoman_mh5_support)/urdf/mh5l.xacro'" />
</launch>
25 changes: 11 additions & 14 deletions motoman_mh5_support/launch/robot_interface_streaming_mh5.launch
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@

<!--
Manipulator specific version of 'robot_interface_streaming.launch'.

Defaults provided for mh5:
- 7 joints

Defaults provided for MH5:
- 6 joints
Usage:
robot_interface_streaming_mh5.launch robot_ip:=<value> controller:=<fs100|dx100>
robot_interface_streaming_mh5.launch robot_ip:=<value> controller:=<fs100|dx100|dx200>
-->
<launch>
<arg name="robot_ip" doc="IP of controller" />
<!-- controller: Controller name (fs100 or dx100) -->
<arg name="controller" doc="Series of the controller (dx100, dx200, fs100 or yrc1000)"/>
<arg name="robot_ip" doc="IP of controller" />

<!-- controller: Controller name (fs100,dx100, dx200) -->
<arg name="controller" doc="Series of the controller (fs100, dx100, dx200)"/>

<rosparam command="load" file="$(find motoman_mh5_support)/config/joint_names_mh5.yaml" />
<rosparam command="load" file="$(find motoman_mh5_support)/config/joint_names_mh5.yaml" />

<include file="$(find motoman_driver)/launch/robot_interface_streaming_$(arg controller).launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
</include>
<include file="$(find motoman_driver)/launch/robot_interface_streaming_$(arg controller).launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
</include>
</launch>
19 changes: 19 additions & 0 deletions motoman_mh5_support/launch/robot_interface_streaming_mh5l.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!--
Manipulator specific version of 'robot_interface_streaming.launch'.
Defaults provided for MH5L:
- 6 joints
Usage:
robot_interface_streaming_mh5l.launch robot_ip:=<value> controller:=<fs100|dx100|dx200>
-->
<launch>
<arg name="robot_ip" doc="IP of controller" />

<!-- controller: Controller name (fs100,dx100, dx200) -->
<arg name="controller" doc="Series of the controller (fs100, dx100, dx200)"/>

<rosparam command="load" file="$(find motoman_mh5_support)/config/joint_names_mh5.yaml" />

<include file="$(find motoman_driver)/launch/robot_interface_streaming_$(arg controller).launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
</include>
</launch>
30 changes: 13 additions & 17 deletions motoman_mh5_support/launch/robot_state_visualize_mh5.launch
Original file line number Diff line number Diff line change
@@ -1,29 +1,25 @@

<!--
Manipulator specific version of the state visualizer.

Defaults provided for mh5:
- 7 joints

Defaults provided for MH5:
- 6 joints
Usage:
robot_state_visualize_sia20d.launch robot_ip:=<value> controller:=<fs100|dx100>
robot_state_visualize_mh5.launch robot_ip:=<value> controller:=<fs100|dx100|dx200>
-->
<launch>
<arg name="robot_ip" doc="IP of controller" />
<arg name="robot_ip" doc="IP of controller" />

<!-- controller: Controller name (fs100 or dx100) -->
<arg name="controller" doc="Series of the controller (dx100, dx200, fs100 or yrc1000)"/>
<!-- controller: Controller name (fs100,dx100, dx200) -->
<arg name="controller" doc="Series of the controller (fs100, dx100, dx200)"/>

<rosparam command="load" file="$(find motoman_mh5_support)/config/joint_names_mh5.yaml" />
<rosparam command="load" file="$(find motoman_mh5_support)/config/joint_names_mh5.yaml" />

<include file="$(find motoman_driver)/launch/robot_state_$(arg controller).launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
</include>
<include file="$(find motoman_driver)/launch/robot_state_$(arg controller).launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
</include>

<node name="robot_state_publisher" pkg="robot_state_publisher"
type="robot_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

<include file="$(find motoman_mh5_support)/launch/load_mh5.launch" />
<include file="$(find motoman_mh5_support)/launch/load_mh5.launch" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
</launch>
25 changes: 25 additions & 0 deletions motoman_mh5_support/launch/robot_state_visualize_mh5l.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!--
Manipulator specific version of the state visualizer.
Defaults provided for MH5L:
- 6 joints
Usage:
robot_state_visualize_mh5l.launch robot_ip:=<value> controller:=<fs100|dx100|dx200>
-->
<launch>
<arg name="robot_ip" doc="IP of controller" />

<!-- controller: Controller name (fs100,dx100, dx200) -->
<arg name="controller" doc="Series of the controller (fs100, dx100, dx200)"/>

<rosparam command="load" file="$(find motoman_mh5_support)/config/joint_names_mh5.yaml" />

<include file="$(find motoman_driver)/launch/robot_state_$(arg controller).launch">
<arg name="robot_ip" value="$(arg robot_ip)" />
</include>

<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

<include file="$(find motoman_mh5_support)/launch/load_mh5l.launch" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
</launch>
12 changes: 6 additions & 6 deletions motoman_mh5_support/launch/test_mh5.launch
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

<launch>
<include file="$(find motoman_mh5_support)/launch/load_mh5.launch" />
<param name="use_gui" value="true" />
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
<include file="$(find motoman_mh5_support)/launch/load_mh5.launch" />

<node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
</launch>
8 changes: 8 additions & 0 deletions motoman_mh5_support/launch/test_mh5l.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<launch>
<include file="$(find motoman_mh5_support)/launch/load_mh5l.launch" />

<node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" />
</launch>
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed motoman_mh5_support/meshes/mh5/visual/MH5_R_AXIS.stl
Binary file not shown.
Binary file removed motoman_mh5_support/meshes/mh5/visual/MH5_S_AXIS.stl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
21 changes: 12 additions & 9 deletions motoman_mh5_support/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,27 @@
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2">
<name>motoman_mh5_support</name>
<version>0.3.5</version>
<version>0.3.6</version>
<description>
<p>ROS-Industrial support for the Motoman MH5 (and variants).</p>
<p>ROS-Industrial support for Motoman MH5 variants.</p>
<p>
This package contains configuration data, 3D models and launch files
for Motoman MH5 manipulators.
for Motoman MH5 variants.
</p>
<p>
<b>Specifications</b>
</p>
<ul>
<li>MH5 - Default</li>
<li>MH5 - Short Variants: MH5F(FS100), MH5SII(DX200), MH5S(DX100)</li>
<li>MH5L - Long Variants: MH5LF(FS100), MH5SLII(DX200), MH5SL(DX100)</li>
</ul>
<p>Models within each short / long variant are the same (physically and parameters).</p>
<p>
Joint limits and maximum joint velocities are based on the information
found in the online
http://www.motoman.com/datasheets/mh5.pdf
All urdfs are based on the default motion and joint velocity limits,
Maximum joint velocities are based on the information
found online https://www.motoman.com/en-us/products/robots/industrial/assembly-handling/mh-series/mh5ls-ii
Joint limits and inertial values were provided by Motoman support and found
under ros-industrial/motoman issue # 377. See explanation in issue.
All urdfs are based on the default motion and joint velocity limits,
unless noted otherwise.
</p>
<p>
Expand All @@ -41,7 +44,7 @@

<test_depend>roslaunch</test_depend>

<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>joint_state_publisher_gui</exec_depend>
<exec_depend>motoman_driver</exec_depend>
<exec_depend>motoman_resources</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
Expand Down
75 changes: 0 additions & 75 deletions motoman_mh5_support/test/launch_test.xml

This file was deleted.

Loading