Skip to content

Commit a90f9a3

Browse files
committed
Add Yumi model
1 parent 66f099e commit a90f9a3

36 files changed

+1987
-0
lines changed

roboticstoolbox/models/URDF/YuMi.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
from roboticstoolbox.robot.ERobot import ERobot
5+
6+
7+
class YuMi(ERobot):
8+
"""
9+
Class that imports an ABB YuMi URDF model
10+
11+
``YuMi()`` is a class which imports an ABB YuMi (IRB14000) robot definition
12+
from a URDF file. The model describes its kinematic and graphical
13+
characteristics.
14+
15+
.. runblock:: pycon
16+
17+
>>> import roboticstoolbox as rtb
18+
>>> robot = rtb.models.URDF.YuMi()
19+
>>> print(robot)
20+
21+
Defined joint configurations are:
22+
23+
- qz, zero joint angle configuration, 'L' shaped configuration
24+
- qr, vertical 'READY' configuration
25+
26+
:reference:
27+
- `https://github.com/OrebroUniversity/yumi <https://github.com/OrebroUniversity/yumi>`_
28+
29+
.. codeauthor:: Jesse Haviland
30+
.. sectionauthor:: Peter Corke
31+
"""
32+
def __init__(self):
33+
34+
args = super().urdf_to_ets_args(
35+
"yumi_description/urdf/yumi.urdf.xacro")
36+
37+
super().__init__(
38+
args[0],
39+
name=args[1],
40+
manufacturer='Interbotix'
41+
)
42+
43+
self.addconfiguration(
44+
"qz", np.array([0, 0, 0, 0, 0, 0, 0]))
45+
self.addconfiguration(
46+
"qr", np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4]))
47+
48+
49+
if __name__ == '__main__': # pragma nocover
50+
51+
robot = YuMi()
52+
print(robot)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Urdf & Gazebo files for the ABB YuMi (IRB 14000) robot
2+
3+
### Dependencies
4+
This package depends on ros-industrial which is not released on kinetic yet. So skip step 2 if you have already install ros-industrial.
5+
6+
#### Step 1
7+
Install all of these:
8+
```
9+
sudo apt-get install ros-kinetic-control-toolbox ros-kinetic-controller-interface ros-kinetic-controller-manager ros-kinetic-joint-limits-interface ros-kinetic-transmission-interface ros-kinetic-moveit-core ros-kinetic-moveit-planners ros-kinetic-moveit-ros-planning
10+
```
11+
12+
#### Step 2
13+
Build the industrial_core package from source. To do that, clone OrebroUniversity's fork of the package from: https://github.com/OrebroUniversity/industrial_core.git into your ros workspace and run `catkin_make`.
14+
15+
#### Step 3
16+
If your industrial_core is in a different workspace, source the workspace containing industrial_core.
17+
Finally, `catkin_make` the workspace containing the clone of this package.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The joint numbering for each arm follows ABB's strange convention, namely (in physical order starting with the joint connecting to the body): 1, 2, 7, 3, 4, 5, 6
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Copyright (c) 2016, Robert Krug & Todor Stoyanov, AASS Research Center, Orebro University, Sweden
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5+
6+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7+
8+
2. 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.
9+
10+
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.
Binary file not shown.

rtb-data/rtbdata/xacro/yumi_description/meshes/coarse/.gitignore

Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)