forked from RussTedrake/manipulation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstation.html
138 lines (99 loc) · 7.19 KB
/
station.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html>
<html>
<head>
<title>Ch. 11 - Setting up your own "Manipulation Station"</title>
<meta name="Ch. 11 - Setting up your own "Manipulation Station"" content="text/html; charset=utf-8;" />
<link rel="canonical" href="http://manipulation.csail.mit.edu/station.html" />
<script src="https://hypothes.is/embed.js" async></script>
<script type="text/javascript" src="chapters.js"></script>
<script type="text/javascript" src="htmlbook/book.js"></script>
<script src="htmlbook/mathjax-config.js" defer></script>
<script type="text/javascript" id="MathJax-script" defer
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js">
</script>
<script>window.MathJax || document.write('<script type="text/javascript" src="htmlbook/MathJax/es5/tex-chtml.js" defer><\/script>')</script>
<link rel="stylesheet" href="htmlbook/highlight/styles/default.css">
<script src="htmlbook/highlight/highlight.pack.js"></script> <!-- http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html#language-names-and-aliases -->
<script>hljs.initHighlightingOnLoad();</script>
<link rel="stylesheet" type="text/css" href="htmlbook/book.css" />
</head>
<body onload="loadChapter('manipulation');">
<div data-type="titlepage" pdf="no">
<header>
<h1><a href="index.html" style="text-decoration:none;">Robotic Manipulation</a></h1>
<p data-type="subtitle">Perception, Planning, and Control</p>
<p style="font-size: 18px;"><a href="http://people.csail.mit.edu/russt/">Russ Tedrake</a></p>
<p style="font-size: 14px; text-align: right;">
© Russ Tedrake, 2020-2022<br/>
Last modified <span id="last_modified"></span>.</br>
<script>
var d = new Date(document.lastModified);
document.getElementById("last_modified").innerHTML = d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate();</script>
<a href="misc.html">How to cite these notes, use annotations, and give feedback.</a><br/>
</p>
</header>
</div>
<p pdf="no"><b>Note:</b> These are working notes used for <a
href="http://manipulation.csail.mit.edu/Fall2022/">a course being taught
at MIT</a>. They will be updated throughout the Fall 2022 semester. <!-- <a
href="https://www.youtube.com/channel/UChfUOAhz7ynELF-s_1LPpWg">Lecture videos are available on YouTube</a>.--></p>
<table style="width:100%;" pdf="no"><tr style="width:100%">
<td style="width:33%;text-align:left;"><a class="previous_chapter" href=drake.html>Previous Chapter</a></td>
<td style="width:33%;text-align:center;"><a href=index.html>Table of contents</a></td>
<td style="width:33%;text-align:right;"><a class="next_chapter" href=misc.html>Next Chapter</a></td>
</tr></table>
<script type="text/javascript">document.write(notebook_header('station'))
</script>
<!-- EVERYTHING ABOVE THIS LINE IS OVERWRITTEN BY THE INSTALL SCRIPT -->
<chapter class="appendix" style="counter-reset: chapter 1"><h1>Setting up your own "Manipulation Station"</h1>
<p>Simulation is an extremely powerful tool, and the fact that we can give it away freely makes it a powerful equalizer. Just a few years ago, nobody believed that you could develop a manipulation system in simulation and expect it to work in reality. Nowadays, though, we are seeing consistent evidence that our simulation fidelity is high enough that if can achieve <i>robust</i> performance in simulation, then we are optimistic that it can transfer to reality.</p>
<p>Of course, there is no substitute to watching your ideas/code bring life to a real physical robot. The goal of this chapter is to help commoditize the robot hardware infrastructure, to the extent possible, by proving the bill of materials, the low-level drivers, and basic setup instructions to get you up and running with your very own manipulation station.</p>
<section><h1>Message Passing</h1>
<p><drake></drake> supports multiple message passing subsystems (including ROS1), and for the most part I have no strong opinions about what you should use. We use <a href="https://lcm-proj.github.io/">LCM</a> for this class because (1) it is lightweight as a dependency (it would be very painful/restrictive to have ROS as a mandatory dependency for <drake></drake>) and (2) we prefer multicast UDP to tcp/ip for the lowest level communications to/from the robot.</p>
<p>As a result, the primary drivers we list/provide below are based on LCM. I'll try to point to ROS equivalents when possible. If you already have an established ROS workflow and still want to use our drivers, then it is also possible to use simple lcm2ros/ros2lcm "bridge" executables <todo>point to some code</todo>to e.g. publish the LCM messages on a ROS topic (for logging, etc).</p>
</section>
<section><h1>Kuka LBR iiwa + Schunk WSG Gripper</h1>
<p>We have made extensive use of both the iiwa7 R800 and the iiwa14 R820; <drake></drake> provides URDFs for both models and the drivers should work for either. We use the iiwa7 for the labs in this course because it is slightly smaller and we do not need the end-effector payload.</p>
<ul>
<li><a href="https://github.com/RobotLocomotion/drake-iiwa-driver">IIWA LCM driver</a></li>
</ul>
<p>We've been quite happy with the Schunk WSG 50 gripper as a reliable and accurate two-fingered gripper solution.</p>
<ul>
<li><a href="https://github.com/RobotLocomotion/drake-schunk-driver">Schunk LCM driver</a></li>
</ul>
<p>Note: We are evaluating the Franka Panda as an alternative platform (and are likely to provide drivers for it here soon).</p>
</section>
<section><h1>Intel Realsense D415 Depth Cameras</h1>
<p>The D415 has been the camera of choice because of it's relatively good
minimum range and due to the fact that multiple cameras do not interfere
with each other when viewing the same scene.</p>
<ul>
<li><a
href="https://github.com/RobotLocomotion/realsense2-lcm-driver">LCM
Driver</a></li>
<li><a
href="https://github.com/ToyotaResearchInstitute/handical">Camera
calibration toolbox</a>.</li>
</ul>
</section>
<section><h1>Miscellaneous hardware.</h1>
<p>For the purposes of having a common workstation that we can use in the labs, we have included here the simple environment in which we mount the robot. The robot just barely fits in the arena -- it was designed with the dimensions limited so that it can be moved (via a manual pallet jack) through standard office doors. </p>
<p>CAD and bill of materials coming soon.</p>
</section>
</chapter>
<!-- EVERYTHING BELOW THIS LINE IS OVERWRITTEN BY THE INSTALL SCRIPT -->
<div id="references"></div>
<table style="width:100%;" pdf="no"><tr style="width:100%">
<td style="width:33%;text-align:left;"><a class="previous_chapter" href=drake.html>Previous Chapter</a></td>
<td style="width:33%;text-align:center;"><a href=index.html>Table of contents</a></td>
<td style="width:33%;text-align:right;"><a class="next_chapter" href=misc.html>Next Chapter</a></td>
</tr></table>
<div id="footer" pdf="no">
<hr>
<table style="width:100%;">
<tr><td><a href="https://accessibility.mit.edu/">Accessibility</a></td><td style="text-align:right">© Russ
Tedrake, 2022</td></tr>
</table>
</div>
</body>
</html>