Add openarm_grip_description and openarm_moveit_config
This commit is contained in:
commit
1418c85537
30
LICENSE
Normal file
30
LICENSE
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
BSD 3-Clause License
|
||||||
|
|
||||||
|
Copyright (c) 2025, Reazon Holdings, Inc.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
8
README.md
Normal file
8
README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# ROS integration for OpenArm robots
|
||||||
|
|
||||||
|
- openarm_grip_description: urdf with gripper actuator
|
||||||
|
- openarm_moveit_config: motion planning with [moveit2](https://github.com/moveit/moveit2)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
All packages of `openarm_ros` are licensed under the [BSD-3-Clause](https://opensource.org/license/bsd-3-clause).
|
||||||
215
openarm_grip_description/config/display.rviz
Normal file
215
openarm_grip_description/config/display.rviz
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
Panels:
|
||||||
|
- Class: rviz_common/Displays
|
||||||
|
Help Height: 138
|
||||||
|
Name: Displays
|
||||||
|
Property Tree Widget:
|
||||||
|
Expanded:
|
||||||
|
- /Global Options1
|
||||||
|
- /Status1
|
||||||
|
- /RobotModel1
|
||||||
|
- /RobotModel1/Description Topic1
|
||||||
|
Splitter Ratio: 0.5
|
||||||
|
Tree Height: 1025
|
||||||
|
- Class: rviz_common/Selection
|
||||||
|
Name: Selection
|
||||||
|
- Class: rviz_common/Tool Properties
|
||||||
|
Expanded:
|
||||||
|
- /2D Goal Pose1
|
||||||
|
- /Publish Point1
|
||||||
|
Name: Tool Properties
|
||||||
|
Splitter Ratio: 0.5886790156364441
|
||||||
|
- Class: rviz_common/Views
|
||||||
|
Expanded:
|
||||||
|
- /Current View1
|
||||||
|
Name: Views
|
||||||
|
Splitter Ratio: 0.5
|
||||||
|
- Class: rviz_common/Time
|
||||||
|
Experimental: false
|
||||||
|
Name: Time
|
||||||
|
SyncMode: 0
|
||||||
|
SyncSource: ""
|
||||||
|
Visualization Manager:
|
||||||
|
Class: ""
|
||||||
|
Displays:
|
||||||
|
- Alpha: 0.5
|
||||||
|
Cell Size: 1
|
||||||
|
Class: rviz_default_plugins/Grid
|
||||||
|
Color: 160; 160; 164
|
||||||
|
Enabled: true
|
||||||
|
Line Style:
|
||||||
|
Line Width: 0.029999999329447746
|
||||||
|
Value: Lines
|
||||||
|
Name: Grid
|
||||||
|
Normal Cell Count: 0
|
||||||
|
Offset:
|
||||||
|
X: 0
|
||||||
|
Y: 0
|
||||||
|
Z: 0
|
||||||
|
Plane: XY
|
||||||
|
Plane Cell Count: 10
|
||||||
|
Reference Frame: <Fixed Frame>
|
||||||
|
Value: true
|
||||||
|
- Alpha: 1
|
||||||
|
Class: rviz_default_plugins/RobotModel
|
||||||
|
Collision Enabled: false
|
||||||
|
Description File: ""
|
||||||
|
Description Source: Topic
|
||||||
|
Description Topic:
|
||||||
|
Depth: 5
|
||||||
|
Durability Policy: Volatile
|
||||||
|
History Policy: Keep Last
|
||||||
|
Reliability Policy: Reliable
|
||||||
|
Value: /robot_description
|
||||||
|
Enabled: true
|
||||||
|
Links:
|
||||||
|
All Links Enabled: true
|
||||||
|
Expand Joint Details: false
|
||||||
|
Expand Link Details: false
|
||||||
|
Expand Tree: false
|
||||||
|
J2_v1_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
J3_v1_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
J4_v1_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
J5_v1_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
J6_v1_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
J7_v1_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
Link Tree Style: Links in Alphabetic Order
|
||||||
|
base_link:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
dummy:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
grip_attach_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
left_jaw_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
right_jaw_1:
|
||||||
|
Alpha: 1
|
||||||
|
Show Axes: false
|
||||||
|
Show Trail: false
|
||||||
|
Value: true
|
||||||
|
Mass Properties:
|
||||||
|
Inertia: false
|
||||||
|
Mass: false
|
||||||
|
Name: RobotModel
|
||||||
|
TF Prefix: ""
|
||||||
|
Update Interval: 0
|
||||||
|
Value: true
|
||||||
|
Visual Enabled: true
|
||||||
|
Enabled: true
|
||||||
|
Global Options:
|
||||||
|
Background Color: 48; 48; 48
|
||||||
|
Fixed Frame: base_link
|
||||||
|
Frame Rate: 30
|
||||||
|
Name: root
|
||||||
|
Tools:
|
||||||
|
- Class: rviz_default_plugins/Interact
|
||||||
|
Hide Inactive Objects: true
|
||||||
|
- Class: rviz_default_plugins/MoveCamera
|
||||||
|
- Class: rviz_default_plugins/Select
|
||||||
|
- Class: rviz_default_plugins/FocusCamera
|
||||||
|
- Class: rviz_default_plugins/Measure
|
||||||
|
Line color: 128; 128; 0
|
||||||
|
- Class: rviz_default_plugins/SetInitialPose
|
||||||
|
Covariance x: 0.25
|
||||||
|
Covariance y: 0.25
|
||||||
|
Covariance yaw: 0.06853891909122467
|
||||||
|
Topic:
|
||||||
|
Depth: 5
|
||||||
|
Durability Policy: Volatile
|
||||||
|
History Policy: Keep Last
|
||||||
|
Reliability Policy: Reliable
|
||||||
|
Value: /initialpose
|
||||||
|
- Class: rviz_default_plugins/SetGoal
|
||||||
|
Topic:
|
||||||
|
Depth: 5
|
||||||
|
Durability Policy: Volatile
|
||||||
|
History Policy: Keep Last
|
||||||
|
Reliability Policy: Reliable
|
||||||
|
Value: /goal_pose
|
||||||
|
- Class: rviz_default_plugins/PublishPoint
|
||||||
|
Single click: true
|
||||||
|
Topic:
|
||||||
|
Depth: 5
|
||||||
|
Durability Policy: Volatile
|
||||||
|
History Policy: Keep Last
|
||||||
|
Reliability Policy: Reliable
|
||||||
|
Value: /clicked_point
|
||||||
|
Transformation:
|
||||||
|
Current:
|
||||||
|
Class: rviz_default_plugins/TF
|
||||||
|
Value: true
|
||||||
|
Views:
|
||||||
|
Current:
|
||||||
|
Class: rviz_default_plugins/Orbit
|
||||||
|
Distance: 0.8663532137870789
|
||||||
|
Enable Stereo Rendering:
|
||||||
|
Stereo Eye Separation: 0.05999999865889549
|
||||||
|
Stereo Focal Distance: 1
|
||||||
|
Swap Stereo Eyes: false
|
||||||
|
Value: false
|
||||||
|
Focal Point:
|
||||||
|
X: 0
|
||||||
|
Y: 0
|
||||||
|
Z: 0
|
||||||
|
Focal Shape Fixed Size: true
|
||||||
|
Focal Shape Size: 0.05000000074505806
|
||||||
|
Invert Z Axis: false
|
||||||
|
Name: Current View
|
||||||
|
Near Clip Distance: 0.009999999776482582
|
||||||
|
Pitch: 0.5453979969024658
|
||||||
|
Target Frame: <Fixed Frame>
|
||||||
|
Value: Orbit (rviz)
|
||||||
|
Yaw: 0.7153980731964111
|
||||||
|
Saved: ~
|
||||||
|
Window Geometry:
|
||||||
|
Displays:
|
||||||
|
collapsed: false
|
||||||
|
Height: 1531
|
||||||
|
Hide Left Dock: false
|
||||||
|
Hide Right Dock: false
|
||||||
|
QMainWindow State: 000000ff00000000fd0000000400000000000001f4000004f9fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b000000b000fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000006e000004f90000018200fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000015d000004f9fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000006e000004f90000013200fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000a970000005afc0100000002fb0000000800540069006d0065010000000000000a970000047a00fffffffb0000000800540069006d006501000000000000045000000000000000000000072e000004f900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||||
|
Selection:
|
||||||
|
collapsed: false
|
||||||
|
Time:
|
||||||
|
collapsed: false
|
||||||
|
Tool Properties:
|
||||||
|
collapsed: false
|
||||||
|
Views:
|
||||||
|
collapsed: false
|
||||||
|
Width: 2711
|
||||||
|
X: 60
|
||||||
|
Y: 64
|
||||||
40
openarm_grip_description/launch/urdf_preview.launch.py
Normal file
40
openarm_grip_description/launch/urdf_preview.launch.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import os
|
||||||
|
import launch
|
||||||
|
import launch_ros
|
||||||
|
import xacro
|
||||||
|
|
||||||
|
from ament_index_python import get_package_share_directory
|
||||||
|
|
||||||
|
def get_package_file(package, file_path):
|
||||||
|
"""Get the location of a file installed in an ament package"""
|
||||||
|
package_path = get_package_share_directory(package)
|
||||||
|
absolute_file_path = os.path.join(package_path, file_path)
|
||||||
|
return absolute_file_path
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
xacro_file = get_package_file('openarm_grip_description', 'urdf/openarm_grip.xacro')
|
||||||
|
urdf = xacro.process_file(xacro_file).toprettyxml(indent=' ')
|
||||||
|
rviz_config_file = get_package_file('openarm_grip_description', 'config/display.rviz')
|
||||||
|
|
||||||
|
return launch.LaunchDescription([
|
||||||
|
launch_ros.actions.Node(
|
||||||
|
name='robot_state_publisher',
|
||||||
|
package='robot_state_publisher',
|
||||||
|
executable='robot_state_publisher',
|
||||||
|
output='screen',
|
||||||
|
parameters=[{'robot_description': urdf}],
|
||||||
|
),
|
||||||
|
launch_ros.actions.Node(
|
||||||
|
name='joint_state_publisher_gui',
|
||||||
|
package='joint_state_publisher_gui',
|
||||||
|
executable='joint_state_publisher_gui',
|
||||||
|
output='screen',
|
||||||
|
),
|
||||||
|
launch_ros.actions.Node(
|
||||||
|
name='rviz',
|
||||||
|
package='rviz2',
|
||||||
|
executable='rviz2',
|
||||||
|
output='screen',
|
||||||
|
arguments=['-d', rviz_config_file]
|
||||||
|
)
|
||||||
|
])
|
||||||
BIN
openarm_grip_description/meshes/J2_v1_1.stl
Normal file
BIN
openarm_grip_description/meshes/J2_v1_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/J3_v1_1.stl
Normal file
BIN
openarm_grip_description/meshes/J3_v1_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/J4_v1_1.stl
Normal file
BIN
openarm_grip_description/meshes/J4_v1_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/J5_v1_1.stl
Normal file
BIN
openarm_grip_description/meshes/J5_v1_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/J6_v1_1.stl
Normal file
BIN
openarm_grip_description/meshes/J6_v1_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/J7_v1_1.stl
Normal file
BIN
openarm_grip_description/meshes/J7_v1_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/base_link.stl
Normal file
BIN
openarm_grip_description/meshes/base_link.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/grip_attach_1.stl
Normal file
BIN
openarm_grip_description/meshes/grip_attach_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/left_jaw_1.stl
Normal file
BIN
openarm_grip_description/meshes/left_jaw_1.stl
Normal file
Binary file not shown.
BIN
openarm_grip_description/meshes/right_jaw_1.stl
Normal file
BIN
openarm_grip_description/meshes/right_jaw_1.stl
Normal file
Binary file not shown.
24
openarm_grip_description/package.xml
Normal file
24
openarm_grip_description/package.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
||||||
|
<package format="3">
|
||||||
|
<name>openarm_grip_description</name>
|
||||||
|
<version>0.0.0</version>
|
||||||
|
<description>The openarm_grip_description package</description>
|
||||||
|
<maintainer email="t95zhou@uwaterloo.ca">Thomason Zhou</maintainer>
|
||||||
|
<license>BSD-3-Clause</license>
|
||||||
|
|
||||||
|
<depend>xacro</depend>
|
||||||
|
<depend>rviz2</depend>
|
||||||
|
<depend>robot_state_publisher</depend>
|
||||||
|
<depend>joint_state_publisher</depend>
|
||||||
|
<depend>joint_state_publisher_gui</depend>
|
||||||
|
|
||||||
|
<test_depend>ament_copyright</test_depend>
|
||||||
|
<test_depend>ament_flake8</test_depend>
|
||||||
|
<test_depend>ament_pep257</test_depend>
|
||||||
|
<test_depend>python3-pytest</test_depend>
|
||||||
|
|
||||||
|
<export>
|
||||||
|
<build_type>ament_python</build_type>
|
||||||
|
</export>
|
||||||
|
</package>
|
||||||
4
openarm_grip_description/setup.cfg
Normal file
4
openarm_grip_description/setup.cfg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[develop]
|
||||||
|
script_dir=$base/lib/openarm_grip_description
|
||||||
|
[install]
|
||||||
|
install_scripts=$base/lib/openarm_grip_description
|
||||||
31
openarm_grip_description/setup.py
Normal file
31
openarm_grip_description/setup.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
from setuptools import setup
|
||||||
|
import os
|
||||||
|
from glob import glob
|
||||||
|
|
||||||
|
package_name = 'openarm_grip_description'
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name=package_name,
|
||||||
|
version='0.0.0',
|
||||||
|
packages=[package_name],
|
||||||
|
data_files=[
|
||||||
|
('share/ament_index/resource_index/packages',
|
||||||
|
['resource/' + package_name]),
|
||||||
|
('share/' + package_name, ['package.xml']),
|
||||||
|
(os.path.join('share', package_name, 'launch'), glob('launch/*.launch.py')),
|
||||||
|
(os.path.join('share', package_name, 'urdf'), glob('urdf/*')),
|
||||||
|
(os.path.join('share', package_name, 'meshes'), glob('meshes/*')),
|
||||||
|
(os.path.join('share', package_name, 'config'), glob('config/*'))
|
||||||
|
],
|
||||||
|
install_requires=['setuptools'],
|
||||||
|
zip_safe=True,
|
||||||
|
maintainer='author',
|
||||||
|
maintainer_email='todo@todo.com',
|
||||||
|
description='The ' + package_name + ' package',
|
||||||
|
license='TODO: License declaration',
|
||||||
|
tests_require=['pytest'],
|
||||||
|
entry_points={
|
||||||
|
'console_scripts': [
|
||||||
|
],
|
||||||
|
},
|
||||||
|
)
|
||||||
23
openarm_grip_description/test/test_copyright.py
Normal file
23
openarm_grip_description/test/test_copyright.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2015 Open Source Robotics Foundation, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
from ament_copyright.main import main
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.copyright
|
||||||
|
@pytest.mark.linter
|
||||||
|
def test_copyright():
|
||||||
|
rc = main(argv=['.', 'test'])
|
||||||
|
assert rc == 0, 'Found errors'
|
||||||
25
openarm_grip_description/test/test_flake8.py
Normal file
25
openarm_grip_description/test/test_flake8.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 2017 Open Source Robotics Foundation, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
from ament_flake8.main import main_with_errors
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.flake8
|
||||||
|
@pytest.mark.linter
|
||||||
|
def test_flake8():
|
||||||
|
rc, errors = main_with_errors(argv=[])
|
||||||
|
assert rc == 0, \
|
||||||
|
'Found %d code style errors / warnings:\n' % len(errors) + \
|
||||||
|
'\n'.join(errors)
|
||||||
23
openarm_grip_description/test/test_pep257.py
Normal file
23
openarm_grip_description/test/test_pep257.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2015 Open Source Robotics Foundation, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
from ament_pep257.main import main
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.linter
|
||||||
|
@pytest.mark.pep257
|
||||||
|
def test_pep257():
|
||||||
|
rc = main(argv=['.', 'test'])
|
||||||
|
assert rc == 0, 'Found code style errors / warnings'
|
||||||
8
openarm_grip_description/urdf/materials.xacro
Normal file
8
openarm_grip_description/urdf/materials.xacro
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<robot name="openarm_grip" xmlns:xacro="http://www.ros.org/wiki/xacro" >
|
||||||
|
|
||||||
|
<material name="silver">
|
||||||
|
<color rgba="0.700 0.700 0.700 1.000"/>
|
||||||
|
</material>
|
||||||
|
|
||||||
|
</robot>
|
||||||
80
openarm_grip_description/urdf/openarm_grip.gazebo
Normal file
80
openarm_grip_description/urdf/openarm_grip.gazebo
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<robot name="openarm_grip" xmlns:xacro="http://www.ros.org/wiki/xacro" >
|
||||||
|
|
||||||
|
<xacro:property name="body_color" value="Gazebo/Silver" />
|
||||||
|
|
||||||
|
<gazebo>
|
||||||
|
<plugin name="control" filename="libgazebo_ros_control.so"/>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="base_link">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
<gravity>true</gravity>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="J2_v1_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="J3_v1_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="J4_v1_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="J5_v1_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="J6_v1_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="J7_v1_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="grip_attach_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="left_jaw_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
<gazebo reference="right_jaw_1">
|
||||||
|
<material>${body_color}</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
|
||||||
|
</robot>
|
||||||
103
openarm_grip_description/urdf/openarm_grip.trans
Normal file
103
openarm_grip_description/urdf/openarm_grip.trans
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<robot name="openarm_grip" xmlns:xacro="http://www.ros.org/wiki/xacro" >
|
||||||
|
|
||||||
|
<transmission name="rev1_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev1">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev1_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="rev2_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev2">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev2_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="rev3_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev3">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev3_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="rev4_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev4">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev4_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="rev5_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev5">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev5_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="rev6_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev6">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev6_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="rev7_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev7">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev7_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="slider_left_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="slider_left">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="slider_left_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
<transmission name="slider_right_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="slider_right">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="slider_right_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
|
||||||
|
</robot>
|
||||||
432
openarm_grip_description/urdf/openarm_grip.urdf
Normal file
432
openarm_grip_description/urdf/openarm_grip.urdf
Normal file
@ -0,0 +1,432 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!-- =================================================================================== -->
|
||||||
|
<!-- | This document was autogenerated by xacro from openarm_grip.xacro | -->
|
||||||
|
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||||
|
<!-- =================================================================================== -->
|
||||||
|
<robot name="openarm_grip">
|
||||||
|
<material name="silver">
|
||||||
|
<color rgba="0.700 0.700 0.700 1.000"/>
|
||||||
|
</material>
|
||||||
|
<transmission name="rev1_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev1">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev1_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="rev2_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev2">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev2_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="rev3_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev3">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev3_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="rev4_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev4">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev4_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="rev5_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev5">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev5_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="rev6_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev6">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev6_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="rev7_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="rev7">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="rev7_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="slider_left_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="slider_left">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="slider_left_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="slider_right_tran">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="slider_right">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="slider_right_actr">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<gazebo>
|
||||||
|
<plugin filename="libgazebo_ros_control.so" name="control"/>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="base_link">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
<gravity>true</gravity>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="J2_v1_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="J3_v1_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="J4_v1_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="J5_v1_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="J6_v1_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="J7_v1_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="grip_attach_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="left_jaw_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<gazebo reference="right_jaw_1">
|
||||||
|
<material>Gazebo/Silver</material>
|
||||||
|
<mu1>0.2</mu1>
|
||||||
|
<mu2>0.2</mu2>
|
||||||
|
<self_collide>true</self_collide>
|
||||||
|
</gazebo>
|
||||||
|
<link name="dummy"/>
|
||||||
|
<joint name="dummy_joint" type="fixed">
|
||||||
|
<parent link="dummy"/>
|
||||||
|
<child link="base_link"/>
|
||||||
|
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
|
||||||
|
</joint>
|
||||||
|
<link name="base_link">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="1.659663993709495e-08 0.00015470291788827239 -0.03159176823669262"/>
|
||||||
|
<mass value="0.9159780860248254"/>
|
||||||
|
<inertia ixx="0.000802" ixy="-0.0" ixz="0.0" iyy="0.000799" iyz="-0.0" izz="0.001037"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/base_link.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/base_link.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="J2_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="0.002300730781673588 -0.00021691236314287158 0.02760602616888808"/>
|
||||||
|
<mass value="0.49220952328993495"/>
|
||||||
|
<inertia ixx="0.000316" ixy="0.0" ixz="-2.2e-05" iyy="0.000717" iyz="-3e-06" izz="0.00059"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0 -0.0 0.00225"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J2_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0 -0.0 0.00225"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J2_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="J3_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.029725947365562236 0.014084733811091961 0.002458883521108013"/>
|
||||||
|
<mass value="0.6372830939810512"/>
|
||||||
|
<inertia ixx="0.000647" ixy="4e-06" ixz="2e-06" iyy="0.000437" iyz="-5.2e-05" izz="0.00075"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.02975 0.0 -0.0425"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J3_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.02975 0.0 -0.0425"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J3_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="J4_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="8.405076184644401e-05 0.1358717615053826 0.018429965102241944"/>
|
||||||
|
<mass value="1.1025467379280594"/>
|
||||||
|
<inertia ixx="0.011905" ixy="-1e-06" ixz="-4e-06" iyy="0.00114" iyz="-0.001657" izz="0.011791"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 -0.06041 -0.052607"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J4_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 -0.06041 -0.052607"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J4_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="J5_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.028086778609557873 -0.06237848032279486 0.015103464347573828"/>
|
||||||
|
<mass value="0.7296865736952145"/>
|
||||||
|
<inertia ixx="0.002473" ixy="-7e-05" ixz="1.8e-05" iyy="0.000853" iyz="0.00038" izz="0.002847"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.029755 -0.298846 -0.0925"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J5_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.029755 -0.298846 -0.0925"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J5_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="J6_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="0.016428123043712856 -0.04271549352047854 0.009023923091251038"/>
|
||||||
|
<mass value="1.0339114396114095"/>
|
||||||
|
<inertia ixx="0.000881" ixy="0.000136" ixz="-1.1e-05" iyy="0.000614" iyz="0.000102" izz="0.001054"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 -0.167496 -0.118765"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J6_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 -0.167496 -0.118765"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J6_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="J7_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.03510690863628159 0.0004066264284608781 0.001093657345024951"/>
|
||||||
|
<mass value="0.33288025570396623"/>
|
||||||
|
<inertia ixx="0.00014" ixy="-0.0" ixz="2e-06" iyy="0.000179" iyz="7e-06" izz="0.000207"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0355 -0.048796 -0.1425"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J7_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0355 -0.048796 -0.1425"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J7_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="grip_attach_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="-3.544262443517109e-05 -0.08091067772872827 0.004061313352520662"/>
|
||||||
|
<mass value="0.8188472642682024"/>
|
||||||
|
<inertia ixx="0.001113" ixy="1e-06" ixz="2e-06" iyy="0.00061" iyz="-2.2e-05" izz="0.001556"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 -0.051826 -0.15765"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/grip_attach_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 -0.051826 -0.15765"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/grip_attach_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="left_jaw_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="0.01737096632831872 -0.017398412728963003 0.004062150876211923"/>
|
||||||
|
<mass value="0.2869555939898112"/>
|
||||||
|
<inertia ixx="0.000209" ixy="1.6e-05" ixz="-4e-06" iyy="9.7e-05" iyz="3e-06" izz="0.000185"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0775 0.069829 -0.169736"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/left_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="0.0775 0.069829 -0.169736"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/left_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<link name="right_jaw_1">
|
||||||
|
<inertial>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0173972747583793 -0.018685385724924758 -0.0017497641003002828"/>
|
||||||
|
<mass value="0.285094009790996"/>
|
||||||
|
<inertia ixx="0.000211" ixy="-1.6e-05" ixz="4e-06" iyy="0.000115" iyz="3.9e-05" izz="0.000169"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0775 0.069829 -0.169736"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/right_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0775 0.069829 -0.169736"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/right_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
<joint name="rev1" type="revolute">
|
||||||
|
<origin rpy="0 0 0" xyz="0.0 0.0 -0.00225"/>
|
||||||
|
<parent link="base_link"/>
|
||||||
|
<child link="J2_v1_1"/>
|
||||||
|
<axis xyz="0.0 0.0 1.0"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-2.356194" upper="2.356194" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev2" type="revolute">
|
||||||
|
<origin rpy="0 0 0" xyz="0.02975 -0.0 0.04475"/>
|
||||||
|
<parent link="J2_v1_1"/>
|
||||||
|
<child link="J3_v1_1"/>
|
||||||
|
<axis xyz="-1.0 -0.0 0.0"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-3.054326" upper="0.0" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev3" type="revolute">
|
||||||
|
<origin rpy="0 0 0" xyz="-0.02975 0.06041 0.010107"/>
|
||||||
|
<parent link="J3_v1_1"/>
|
||||||
|
<child link="J4_v1_1"/>
|
||||||
|
<axis xyz="-0.0 0.986291 0.165017"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-2.094395" upper="2.094395" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev4" type="revolute">
|
||||||
|
<origin rpy="0 0 0" xyz="0.029755 0.238436 0.039893"/>
|
||||||
|
<parent link="J4_v1_1"/>
|
||||||
|
<child link="J5_v1_1"/>
|
||||||
|
<axis xyz="1.0 0.0 0.0"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-3.141593" upper="0.0" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev5" type="revolute">
|
||||||
|
<origin rpy="0 0 0" xyz="-0.029755 -0.13135 0.026265"/>
|
||||||
|
<parent link="J5_v1_1"/>
|
||||||
|
<child link="J6_v1_1"/>
|
||||||
|
<axis xyz="0.0 -0.980588 0.196078"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-2.094395" upper="2.094395" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev6" type="revolute">
|
||||||
|
<origin rpy="0 0 0" xyz="0.0355 -0.1187 0.023735"/>
|
||||||
|
<parent link="J6_v1_1"/>
|
||||||
|
<child link="J7_v1_1"/>
|
||||||
|
<axis xyz="-1.0 0.0 -0.0"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-1.570796" upper="1.570796" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev7" type="continuous">
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0355 0.00303 0.01515"/>
|
||||||
|
<parent link="J7_v1_1"/>
|
||||||
|
<child link="grip_attach_1"/>
|
||||||
|
<axis xyz="0.0 0.196078 0.980588"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="slider_left" type="prismatic">
|
||||||
|
<origin rpy="0 0 0" xyz="-0.0775 -0.121655 0.012086"/>
|
||||||
|
<parent link="grip_attach_1"/>
|
||||||
|
<child link="left_jaw_1"/>
|
||||||
|
<axis xyz="-1.0 0.0 -0.0"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-0.0455" upper="0.0" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="slider_left" type="prismatic">
|
||||||
|
<origin rpy="0 0 0" xyz="0.0775 -0.121655 0.012086"/>
|
||||||
|
<parent link="grip_attach_1"/>
|
||||||
|
<child link="right_jaw_1"/>
|
||||||
|
<axis xyz="1.0 -0.0 0.0"/>
|
||||||
|
<limit acceleration="0.5" effort="100" lower="-0.0455" upper="0.0" velocity="1.0"/>
|
||||||
|
</joint>
|
||||||
|
</robot>
|
||||||
296
openarm_grip_description/urdf/openarm_grip.xacro
Normal file
296
openarm_grip_description/urdf/openarm_grip.xacro
Normal file
@ -0,0 +1,296 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<robot name="openarm_grip" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||||
|
|
||||||
|
<xacro:include filename="$(find openarm_grip_description)/urdf/materials.xacro" />
|
||||||
|
<xacro:include filename="$(find openarm_grip_description)/urdf/openarm_grip.trans" />
|
||||||
|
<xacro:include filename="$(find openarm_grip_description)/urdf/openarm_grip.gazebo" />
|
||||||
|
<link name="dummy"/>
|
||||||
|
<joint name="dummy_joint" type="fixed">
|
||||||
|
<parent link="dummy"/>
|
||||||
|
<child link="base_link"/>
|
||||||
|
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="base_link">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="1.659663993709495e-08 0.00015470291788827239 -0.03159176823669262" rpy="0 0 0"/>
|
||||||
|
<mass value="0.9159780860248254"/>
|
||||||
|
<inertia ixx="0.000802" iyy="0.000799" izz="0.001037" ixy="-0.0" iyz="-0.0" ixz="0.0"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/base_link.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/base_link.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="J2_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="0.002300730781673588 -0.00021691236314287158 0.02760602616888808" rpy="0 0 0"/>
|
||||||
|
<mass value="0.49220952328993495"/>
|
||||||
|
<inertia ixx="0.000316" iyy="0.000717" izz="0.00059" ixy="0.0" iyz="-3e-06" ixz="-2.2e-05"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="-0.0 -0.0 0.00225" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J2_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="-0.0 -0.0 0.00225" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J2_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="J3_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="-0.029725947365562236 0.014084733811091961 0.002458883521108013" rpy="0 0 0"/>
|
||||||
|
<mass value="0.6372830939810512"/>
|
||||||
|
<inertia ixx="0.000647" iyy="0.000437" izz="0.00075" ixy="4e-06" iyz="-5.2e-05" ixz="2e-06"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="-0.02975 0.0 -0.0425" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J3_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="-0.02975 0.0 -0.0425" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J3_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="J4_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="8.405076184644401e-05 0.1358717615053826 0.018429965102241944" rpy="0 0 0"/>
|
||||||
|
<mass value="1.1025467379280594"/>
|
||||||
|
<inertia ixx="0.011905" iyy="0.00114" izz="0.011791" ixy="-1e-06" iyz="-0.001657" ixz="-4e-06"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="0.0 -0.06041 -0.052607" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J4_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 -0.06041 -0.052607" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J4_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="J5_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="-0.028086778609557873 -0.06237848032279486 0.015103464347573828" rpy="0 0 0"/>
|
||||||
|
<mass value="0.7296865736952145"/>
|
||||||
|
<inertia ixx="0.002473" iyy="0.000853" izz="0.002847" ixy="-7e-05" iyz="0.00038" ixz="1.8e-05"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="-0.029755 -0.298846 -0.0925" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J5_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="-0.029755 -0.298846 -0.0925" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J5_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="J6_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="0.016428123043712856 -0.04271549352047854 0.009023923091251038" rpy="0 0 0"/>
|
||||||
|
<mass value="1.0339114396114095"/>
|
||||||
|
<inertia ixx="0.000881" iyy="0.000614" izz="0.001054" ixy="0.000136" iyz="0.000102" ixz="-1.1e-05"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="0.0 -0.167496 -0.118765" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J6_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 -0.167496 -0.118765" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J6_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="J7_v1_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="-0.03510690863628159 0.0004066264284608781 0.001093657345024951" rpy="0 0 0"/>
|
||||||
|
<mass value="0.33288025570396623"/>
|
||||||
|
<inertia ixx="0.00014" iyy="0.000179" izz="0.000207" ixy="-0.0" iyz="7e-06" ixz="2e-06"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="-0.0355 -0.048796 -0.1425" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J7_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="-0.0355 -0.048796 -0.1425" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/J7_v1_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="grip_attach_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="-3.544262443517109e-05 -0.08091067772872827 0.004061313352520662" rpy="0 0 0"/>
|
||||||
|
<mass value="0.8188472642682024"/>
|
||||||
|
<inertia ixx="0.001113" iyy="0.00061" izz="0.001556" ixy="1e-06" iyz="-2.2e-05" ixz="2e-06"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="0.0 -0.051826 -0.15765" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/grip_attach_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 -0.051826 -0.15765" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/grip_attach_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="left_jaw_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="0.01737096632831872 -0.017398412728963003 0.004062150876211923" rpy="0 0 0"/>
|
||||||
|
<mass value="0.2869555939898112"/>
|
||||||
|
<inertia ixx="0.000209" iyy="9.7e-05" izz="0.000185" ixy="1.6e-05" iyz="3e-06" ixz="-4e-06"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="0.0775 0.069829 -0.169736" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/left_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0775 0.069829 -0.169736" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/left_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="right_jaw_1">
|
||||||
|
<inertial>
|
||||||
|
<origin xyz="-0.0173972747583793 -0.018685385724924758 -0.0017497641003002828" rpy="0 0 0"/>
|
||||||
|
<mass value="0.285094009790996"/>
|
||||||
|
<inertia ixx="0.000211" iyy="0.000115" izz="0.000169" ixy="-1.6e-05" iyz="3.9e-05" ixz="4e-06"/>
|
||||||
|
</inertial>
|
||||||
|
<visual>
|
||||||
|
<origin xyz="-0.0775 0.069829 -0.169736" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/right_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
<material name="silver"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="-0.0775 0.069829 -0.169736" rpy="0 0 0"/>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://openarm_grip_description/meshes/right_jaw_1.stl" scale="0.001 0.001 0.001"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<joint name="rev1" type="revolute">
|
||||||
|
<origin xyz="0.0 0.0 -0.00225" rpy="0 0 0"/>
|
||||||
|
<parent link="base_link"/>
|
||||||
|
<child link="J2_v1_1"/>
|
||||||
|
<axis xyz="0.0 0.0 1.0"/>
|
||||||
|
<limit upper="2.356194" lower="-2.356194" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="rev2" type="revolute">
|
||||||
|
<origin xyz="0.02975 -0.0 0.04475" rpy="0 0 0"/>
|
||||||
|
<parent link="J2_v1_1"/>
|
||||||
|
<child link="J3_v1_1"/>
|
||||||
|
<axis xyz="-1.0 -0.0 0.0"/>
|
||||||
|
<limit upper="0.0" lower="-3.054326" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="rev3" type="revolute">
|
||||||
|
<origin xyz="-0.02975 0.06041 0.010107" rpy="0 0 0"/>
|
||||||
|
<parent link="J3_v1_1"/>
|
||||||
|
<child link="J4_v1_1"/>
|
||||||
|
<axis xyz="-0.0 0.986291 0.165017"/>
|
||||||
|
<limit upper="2.094395" lower="-2.094395" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="rev4" type="revolute">
|
||||||
|
<origin xyz="0.029755 0.238436 0.039893" rpy="0 0 0"/>
|
||||||
|
<parent link="J4_v1_1"/>
|
||||||
|
<child link="J5_v1_1"/>
|
||||||
|
<axis xyz="1.0 0.0 0.0"/>
|
||||||
|
<limit upper="0.0" lower="-3.141593" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="rev5" type="revolute">
|
||||||
|
<origin xyz="-0.029755 -0.13135 0.026265" rpy="0 0 0"/>
|
||||||
|
<parent link="J5_v1_1"/>
|
||||||
|
<child link="J6_v1_1"/>
|
||||||
|
<axis xyz="0.0 -0.980588 0.196078"/>
|
||||||
|
<limit upper="2.094395" lower="-2.094395" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="rev6" type="revolute">
|
||||||
|
<origin xyz="0.0355 -0.1187 0.023735" rpy="0 0 0"/>
|
||||||
|
<parent link="J6_v1_1"/>
|
||||||
|
<child link="J7_v1_1"/>
|
||||||
|
<axis xyz="-1.0 0.0 -0.0"/>
|
||||||
|
<limit upper="1.570796" lower="-1.570796" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="rev7" type="continuous">
|
||||||
|
<origin xyz="-0.0355 0.00303 0.01515" rpy="0 0 0"/>
|
||||||
|
<parent link="J7_v1_1"/>
|
||||||
|
<child link="grip_attach_1"/>
|
||||||
|
<axis xyz="0.0 0.196078 0.980588"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="slider_left" type="prismatic">
|
||||||
|
<origin xyz="-0.0775 -0.121655 0.012086" rpy="0 0 0"/>
|
||||||
|
<parent link="grip_attach_1"/>
|
||||||
|
<child link="left_jaw_1"/>
|
||||||
|
<axis xyz="-1.0 0.0 -0.0"/>
|
||||||
|
<limit upper="0.0" lower="-0.0455" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="slider_left" type="prismatic">
|
||||||
|
<origin xyz="0.0775 -0.121655 0.012086" rpy="0 0 0"/>
|
||||||
|
<parent link="grip_attach_1"/>
|
||||||
|
<child link="right_jaw_1"/>
|
||||||
|
<axis xyz="1.0 -0.0 0.0"/>
|
||||||
|
<limit upper="0.0" lower="-0.0455" effort="100" velocity="1.0" acceleration="0.5"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
</robot>
|
||||||
27
openarm_moveit_config/.setup_assistant
Normal file
27
openarm_moveit_config/.setup_assistant
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
moveit_setup_assistant_config:
|
||||||
|
urdf:
|
||||||
|
package: openarm_grip_description
|
||||||
|
relative_path: urdf/openarm_grip.urdf
|
||||||
|
srdf:
|
||||||
|
relative_path: config/openarm_grip.srdf
|
||||||
|
package_settings:
|
||||||
|
author_name: Thomason Zhou
|
||||||
|
author_email: t95zhou@uwaterloo.ca
|
||||||
|
generated_timestamp: 1738914276
|
||||||
|
control_xacro:
|
||||||
|
command:
|
||||||
|
- position
|
||||||
|
- velocity
|
||||||
|
state:
|
||||||
|
- position
|
||||||
|
- velocity
|
||||||
|
modified_urdf:
|
||||||
|
xacros:
|
||||||
|
- control_xacro
|
||||||
|
control_xacro:
|
||||||
|
command:
|
||||||
|
- position
|
||||||
|
- velocity
|
||||||
|
state:
|
||||||
|
- position
|
||||||
|
- velocity
|
||||||
16
openarm_moveit_config/CMakeLists.txt
Normal file
16
openarm_moveit_config/CMakeLists.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.22)
|
||||||
|
project(openarm_moveit_config)
|
||||||
|
|
||||||
|
find_package(ament_cmake REQUIRED)
|
||||||
|
|
||||||
|
ament_package()
|
||||||
|
|
||||||
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/launch")
|
||||||
|
install(
|
||||||
|
DIRECTORY launch
|
||||||
|
DESTINATION share/${PROJECT_NAME}
|
||||||
|
PATTERN "setup_assistant.launch" EXCLUDE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
|
||||||
|
install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME})
|
||||||
12
openarm_moveit_config/config/initial_positions.yaml
Normal file
12
openarm_moveit_config/config/initial_positions.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Default initial positions for openarm_grip's ros2_control fake system
|
||||||
|
|
||||||
|
initial_positions:
|
||||||
|
slider_left: 0
|
||||||
|
slider_right: 0
|
||||||
|
rev1: 0
|
||||||
|
rev2: 0
|
||||||
|
rev3: 0
|
||||||
|
rev4: 0
|
||||||
|
rev5: 0
|
||||||
|
rev6: 0
|
||||||
|
rev7: 0
|
||||||
55
openarm_moveit_config/config/joint_limits.yaml
Normal file
55
openarm_moveit_config/config/joint_limits.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
|
||||||
|
|
||||||
|
# For beginners, we downscale velocity and acceleration limits.
|
||||||
|
# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
|
||||||
|
default_velocity_scaling_factor: 0.1
|
||||||
|
default_acceleration_scaling_factor: 0.1
|
||||||
|
|
||||||
|
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
|
||||||
|
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
|
||||||
|
joint_limits:
|
||||||
|
slider_left:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 100.0
|
||||||
|
has_acceleration_limits: false
|
||||||
|
max_acceleration: 0.0
|
||||||
|
slider_right:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 100.0
|
||||||
|
has_acceleration_limits: false
|
||||||
|
max_acceleration: 0.0
|
||||||
|
rev1:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 0.5
|
||||||
|
has_acceleration_limits: true
|
||||||
|
max_acceleration: 0.5
|
||||||
|
rev2:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 0.5
|
||||||
|
has_acceleration_limits: true
|
||||||
|
max_acceleration: 0.5
|
||||||
|
rev3:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 0.5
|
||||||
|
has_acceleration_limits: true
|
||||||
|
max_acceleration: 0.5
|
||||||
|
rev4:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 0.5
|
||||||
|
has_acceleration_limits: true
|
||||||
|
max_acceleration: 0.5
|
||||||
|
rev5:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 0.5
|
||||||
|
has_acceleration_limits: true
|
||||||
|
max_acceleration: 0.5
|
||||||
|
rev6:
|
||||||
|
has_velocity_limits: true
|
||||||
|
max_velocity: 0.5
|
||||||
|
has_acceleration_limits: true
|
||||||
|
max_acceleration: 0.5
|
||||||
|
rev7:
|
||||||
|
has_velocity_limits: false
|
||||||
|
max_velocity: 0.0
|
||||||
|
has_acceleration_limits: false
|
||||||
|
max_acceleration: 0.0
|
||||||
4
openarm_moveit_config/config/kinematics.yaml
Normal file
4
openarm_moveit_config/config/kinematics.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
openarm_arm:
|
||||||
|
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||||
|
kinematics_solver_search_resolution: 0.0050000000000000001
|
||||||
|
kinematics_solver_timeout: 0.0050000000000000001
|
||||||
51
openarm_moveit_config/config/moveit.rviz
Normal file
51
openarm_moveit_config/config/moveit.rviz
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
Panels:
|
||||||
|
- Class: rviz_common/Displays
|
||||||
|
Name: Displays
|
||||||
|
Property Tree Widget:
|
||||||
|
Expanded:
|
||||||
|
- /MotionPlanning1
|
||||||
|
- Class: rviz_common/Help
|
||||||
|
Name: Help
|
||||||
|
- Class: rviz_common/Views
|
||||||
|
Name: Views
|
||||||
|
Visualization Manager:
|
||||||
|
Displays:
|
||||||
|
- Class: rviz_default_plugins/Grid
|
||||||
|
Name: Grid
|
||||||
|
Value: true
|
||||||
|
- Class: moveit_rviz_plugin/MotionPlanning
|
||||||
|
Name: MotionPlanning
|
||||||
|
Planned Path:
|
||||||
|
Loop Animation: true
|
||||||
|
State Display Time: 0.05 s
|
||||||
|
Trajectory Topic: display_planned_path
|
||||||
|
Planning Scene Topic: monitored_planning_scene
|
||||||
|
Robot Description: robot_description
|
||||||
|
Scene Geometry:
|
||||||
|
Scene Alpha: 1
|
||||||
|
Scene Robot:
|
||||||
|
Robot Alpha: 0.5
|
||||||
|
Value: true
|
||||||
|
Global Options:
|
||||||
|
Fixed Frame: dummy
|
||||||
|
Tools:
|
||||||
|
- Class: rviz_default_plugins/Interact
|
||||||
|
- Class: rviz_default_plugins/MoveCamera
|
||||||
|
- Class: rviz_default_plugins/Select
|
||||||
|
Value: true
|
||||||
|
Views:
|
||||||
|
Current:
|
||||||
|
Class: rviz_default_plugins/Orbit
|
||||||
|
Distance: 2.0
|
||||||
|
Focal Point:
|
||||||
|
X: -0.1
|
||||||
|
Y: 0.25
|
||||||
|
Z: 0.30
|
||||||
|
Name: Current View
|
||||||
|
Pitch: 0.5
|
||||||
|
Target Frame: dummy
|
||||||
|
Yaw: -0.623
|
||||||
|
Window Geometry:
|
||||||
|
Height: 975
|
||||||
|
QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||||
|
Width: 1200
|
||||||
28
openarm_moveit_config/config/moveit_controllers.yaml
Normal file
28
openarm_moveit_config/config/moveit_controllers.yaml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# MoveIt uses this configuration for controller management
|
||||||
|
|
||||||
|
moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager
|
||||||
|
|
||||||
|
moveit_simple_controller_manager:
|
||||||
|
controller_names:
|
||||||
|
- openarm_arm_controller
|
||||||
|
- gripper_controller
|
||||||
|
|
||||||
|
openarm_arm_controller:
|
||||||
|
type: FollowJointTrajectory
|
||||||
|
joints:
|
||||||
|
- rev1
|
||||||
|
- rev2
|
||||||
|
- rev3
|
||||||
|
- rev4
|
||||||
|
- rev5
|
||||||
|
- rev6
|
||||||
|
action_ns: follow_joint_trajectory
|
||||||
|
default: true
|
||||||
|
gripper_controller:
|
||||||
|
type: FollowJointTrajectory
|
||||||
|
joints:
|
||||||
|
- rev7
|
||||||
|
- slider_left
|
||||||
|
- slider_right
|
||||||
|
action_ns: follow_joint_trajectory
|
||||||
|
default: true
|
||||||
86
openarm_moveit_config/config/openarm_grip.ros2_control.xacro
Normal file
86
openarm_moveit_config/config/openarm_grip.ros2_control.xacro
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||||
|
<xacro:macro name="openarm_grip_ros2_control" params="name initial_positions_file">
|
||||||
|
<xacro:property name="initial_positions" value="${xacro.load_yaml(initial_positions_file)['initial_positions']}"/>
|
||||||
|
|
||||||
|
<ros2_control name="${name}" type="system">
|
||||||
|
<hardware>
|
||||||
|
<!-- By default, set up controllers for simulation. This won't work on real hardware -->
|
||||||
|
<plugin>mock_components/GenericSystem</plugin>
|
||||||
|
</hardware>
|
||||||
|
<joint name="rev1">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev1']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev2">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev2']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev3">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev3']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev4">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev4']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev5">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev5']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev6">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev6']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="rev7">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['rev7']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="slider_left">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['slider_left']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
<joint name="slider_right">
|
||||||
|
<command_interface name="position"/>
|
||||||
|
<command_interface name="velocity"/>
|
||||||
|
<state_interface name="position">
|
||||||
|
<param name="initial_value">${initial_positions['slider_right']}</param>
|
||||||
|
</state_interface>
|
||||||
|
<state_interface name="velocity"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
</ros2_control>
|
||||||
|
</xacro:macro>
|
||||||
|
</robot>
|
||||||
55
openarm_moveit_config/config/openarm_grip.srdf
Normal file
55
openarm_moveit_config/config/openarm_grip.srdf
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--This does not replace URDF, and is not an extension of URDF.
|
||||||
|
This is a format for representing semantic information about the robot structure.
|
||||||
|
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
||||||
|
-->
|
||||||
|
<robot name="openarm_grip">
|
||||||
|
<!--GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc-->
|
||||||
|
<!--LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included-->
|
||||||
|
<!--JOINTS: When a joint is specified, the child link of that joint (which will always exist) is automatically included-->
|
||||||
|
<!--CHAINS: When a chain is specified, all the links along the chain (including endpoints) are included in the group. Additionally, all the joints that are parents to included links are also included. This means that joints along the chain and the parent joint of the base link are included in the group-->
|
||||||
|
<!--SUBGROUPS: Groups can also be formed by referencing to already defined group names-->
|
||||||
|
<group name="openarm_arm">
|
||||||
|
<joint name="dummy_joint"/>
|
||||||
|
<joint name="rev1"/>
|
||||||
|
<joint name="rev2"/>
|
||||||
|
<joint name="rev3"/>
|
||||||
|
<joint name="rev4"/>
|
||||||
|
<joint name="rev5"/>
|
||||||
|
<joint name="rev6"/>
|
||||||
|
</group>
|
||||||
|
<group name="gripper">
|
||||||
|
<link name="grip_attach_1"/>
|
||||||
|
<link name="left_jaw_1"/>
|
||||||
|
<link name="right_jaw_1"/>
|
||||||
|
</group>
|
||||||
|
<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
|
||||||
|
<end_effector name="gripper" parent_link="J7_v1_1" group="gripper"/>
|
||||||
|
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
|
||||||
|
<virtual_joint name="world_to_dummy" type="fixed" parent_frame="world" child_link="dummy"/>
|
||||||
|
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
|
||||||
|
<disable_collisions link1="J2_v1_1" link2="J3_v1_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J2_v1_1" link2="J4_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J2_v1_1" link2="J5_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J2_v1_1" link2="J6_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J2_v1_1" link2="J7_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J2_v1_1" link2="base_link" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J3_v1_1" link2="J4_v1_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J3_v1_1" link2="J5_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J3_v1_1" link2="J6_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J3_v1_1" link2="J7_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J3_v1_1" link2="base_link" reason="Never"/>
|
||||||
|
<disable_collisions link1="J4_v1_1" link2="J5_v1_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J4_v1_1" link2="J7_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J4_v1_1" link2="base_link" reason="Never"/>
|
||||||
|
<disable_collisions link1="J5_v1_1" link2="J6_v1_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J5_v1_1" link2="J7_v1_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J5_v1_1" link2="base_link" reason="Never"/>
|
||||||
|
<disable_collisions link1="J6_v1_1" link2="J7_v1_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J7_v1_1" link2="grip_attach_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="J7_v1_1" link2="left_jaw_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="J7_v1_1" link2="right_jaw_1" reason="Never"/>
|
||||||
|
<disable_collisions link1="grip_attach_1" link2="left_jaw_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="grip_attach_1" link2="right_jaw_1" reason="Adjacent"/>
|
||||||
|
<disable_collisions link1="left_jaw_1" link2="right_jaw_1" reason="Never"/>
|
||||||
|
</robot>
|
||||||
14
openarm_moveit_config/config/openarm_grip.urdf.xacro
Normal file
14
openarm_moveit_config/config/openarm_grip.urdf.xacro
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="openarm_grip">
|
||||||
|
<xacro:arg name="initial_positions_file" default="initial_positions.yaml" />
|
||||||
|
|
||||||
|
<!-- Import openarm_grip urdf file -->
|
||||||
|
<xacro:include filename="$(find openarm_grip_description)/urdf/openarm_grip.urdf" />
|
||||||
|
|
||||||
|
<!-- Import control_xacro -->
|
||||||
|
<xacro:include filename="openarm_grip.ros2_control.xacro" />
|
||||||
|
|
||||||
|
|
||||||
|
<xacro:openarm_grip_ros2_control name="FakeSystem" initial_positions_file="$(arg initial_positions_file)"/>
|
||||||
|
|
||||||
|
</robot>
|
||||||
6
openarm_moveit_config/config/pilz_cartesian_limits.yaml
Normal file
6
openarm_moveit_config/config/pilz_cartesian_limits.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Limits for the Pilz planner
|
||||||
|
cartesian_limits:
|
||||||
|
max_trans_vel: 1.0
|
||||||
|
max_trans_acc: 2.25
|
||||||
|
max_trans_dec: -5.0
|
||||||
|
max_rot_vel: 1.57
|
||||||
35
openarm_moveit_config/config/ros2_controllers.yaml
Normal file
35
openarm_moveit_config/config/ros2_controllers.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# This config file is used by ros2_control
|
||||||
|
controller_manager:
|
||||||
|
ros__parameters:
|
||||||
|
update_rate: 100 # Hz
|
||||||
|
|
||||||
|
openarm_arm_controller:
|
||||||
|
type: joint_trajectory_controller/JointTrajectoryController
|
||||||
|
|
||||||
|
|
||||||
|
gripper_controller:
|
||||||
|
type: position_controllers/GripperActionController
|
||||||
|
|
||||||
|
|
||||||
|
joint_state_broadcaster:
|
||||||
|
type: joint_state_broadcaster/JointStateBroadcaster
|
||||||
|
|
||||||
|
openarm_arm_controller:
|
||||||
|
ros__parameters:
|
||||||
|
joints:
|
||||||
|
- rev1
|
||||||
|
- rev2
|
||||||
|
- rev3
|
||||||
|
- rev4
|
||||||
|
- rev5
|
||||||
|
- rev6
|
||||||
|
command_interfaces:
|
||||||
|
- position
|
||||||
|
- velocity
|
||||||
|
state_interfaces:
|
||||||
|
- position
|
||||||
|
- velocity
|
||||||
|
allow_nonzero_velocity_at_trajectory_end: true
|
||||||
|
gripper_controller:
|
||||||
|
ros__parameters:
|
||||||
|
joint: rev7
|
||||||
7
openarm_moveit_config/launch/demo.launch.py
Normal file
7
openarm_moveit_config/launch/demo.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_demo_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_demo_launch(moveit_config)
|
||||||
7
openarm_moveit_config/launch/move_group.launch.py
Normal file
7
openarm_moveit_config/launch/move_group.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_move_group_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_move_group_launch(moveit_config)
|
||||||
7
openarm_moveit_config/launch/moveit_rviz.launch.py
Normal file
7
openarm_moveit_config/launch/moveit_rviz.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_moveit_rviz_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_moveit_rviz_launch(moveit_config)
|
||||||
7
openarm_moveit_config/launch/rsp.launch.py
Normal file
7
openarm_moveit_config/launch/rsp.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_rsp_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_rsp_launch(moveit_config)
|
||||||
7
openarm_moveit_config/launch/setup_assistant.launch.py
Normal file
7
openarm_moveit_config/launch/setup_assistant.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_setup_assistant_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_setup_assistant_launch(moveit_config)
|
||||||
7
openarm_moveit_config/launch/spawn_controllers.launch.py
Normal file
7
openarm_moveit_config/launch/spawn_controllers.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_spawn_controllers_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_spawn_controllers_launch(moveit_config)
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_static_virtual_joint_tfs_launch(moveit_config)
|
||||||
7
openarm_moveit_config/launch/warehouse_db.launch.py
Normal file
7
openarm_moveit_config/launch/warehouse_db.launch.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from moveit_configs_utils import MoveItConfigsBuilder
|
||||||
|
from moveit_configs_utils.launches import generate_warehouse_db_launch
|
||||||
|
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
moveit_config = MoveItConfigsBuilder("openarm_grip", package_name="openarm_moveit_config").to_moveit_configs()
|
||||||
|
return generate_warehouse_db_launch(moveit_config)
|
||||||
52
openarm_moveit_config/package.xml
Normal file
52
openarm_moveit_config/package.xml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
||||||
|
<package format="3">
|
||||||
|
<name>openarm_moveit_config</name>
|
||||||
|
<version>0.3.0</version>
|
||||||
|
<description>
|
||||||
|
An automatically generated package with all the configuration and launch files for using the openarm_grip with the MoveIt Motion Planning Framework
|
||||||
|
</description>
|
||||||
|
<maintainer email="t95zhou@uwaterloo.ca">Thomason Zhou</maintainer>
|
||||||
|
|
||||||
|
<license>BSD-3-Clause</license>
|
||||||
|
|
||||||
|
<url type="website">http://moveit.ros.org/</url>
|
||||||
|
<url type="bugtracker">https://github.com/moveit/moveit2/issues</url>
|
||||||
|
<url type="repository">https://github.com/moveit/moveit2</url>
|
||||||
|
|
||||||
|
<author email="t95zhou@uwaterloo.ca">Thomason Zhou</author>
|
||||||
|
|
||||||
|
<buildtool_depend>ament_cmake</buildtool_depend>
|
||||||
|
|
||||||
|
<exec_depend>moveit_ros_move_group</exec_depend>
|
||||||
|
<exec_depend>moveit_kinematics</exec_depend>
|
||||||
|
<exec_depend>moveit_planners</exec_depend>
|
||||||
|
<exec_depend>moveit_simple_controller_manager</exec_depend>
|
||||||
|
<exec_depend>joint_state_publisher</exec_depend>
|
||||||
|
<exec_depend>joint_state_publisher_gui</exec_depend>
|
||||||
|
<exec_depend>tf2_ros</exec_depend>
|
||||||
|
<exec_depend>xacro</exec_depend>
|
||||||
|
<!-- The next 2 packages are required for the gazebo simulation.
|
||||||
|
We don't include them by default to prevent installing gazebo and all its dependencies. -->
|
||||||
|
<!-- <exec_depend>joint_trajectory_controller</exec_depend> -->
|
||||||
|
<!-- <exec_depend>gazebo_ros_control</exec_depend> -->
|
||||||
|
<exec_depend>controller_manager</exec_depend>
|
||||||
|
<exec_depend>moveit_configs_utils</exec_depend>
|
||||||
|
<exec_depend>moveit_ros_move_group</exec_depend>
|
||||||
|
<exec_depend>moveit_ros_visualization</exec_depend>
|
||||||
|
<exec_depend>moveit_ros_warehouse</exec_depend>
|
||||||
|
<exec_depend>moveit_setup_assistant</exec_depend>
|
||||||
|
<exec_depend>openarm_grip_description</exec_depend>
|
||||||
|
<exec_depend>robot_state_publisher</exec_depend>
|
||||||
|
<exec_depend>rviz2</exec_depend>
|
||||||
|
<exec_depend>rviz_common</exec_depend>
|
||||||
|
<exec_depend>rviz_default_plugins</exec_depend>
|
||||||
|
<exec_depend>tf2_ros</exec_depend>
|
||||||
|
<exec_depend>warehouse_ros_mongo</exec_depend>
|
||||||
|
<exec_depend>xacro</exec_depend>
|
||||||
|
|
||||||
|
|
||||||
|
<export>
|
||||||
|
<build_type>ament_cmake</build_type>
|
||||||
|
</export>
|
||||||
|
</package>
|
||||||
Loading…
Reference in New Issue
Block a user