forked from RobotLocomotion/drake
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmanipulation_franka_panda.h
More file actions
350 lines (320 loc) · 16.9 KB
/
manipulation_franka_panda.h
File metadata and controls
350 lines (320 loc) · 16.9 KB
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
#pragma once
// GENERATED FILE DO NOT EDIT
// This file contains docstrings for the Python bindings that were
// automatically extracted by mkdoc.py.
#include <array>
#include <utility>
#if defined(__GNUG__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
#endif
// #include "drake/manipulation/franka_panda/panda_command_receiver.h"
// #include "drake/manipulation/franka_panda/panda_command_sender.h"
// #include "drake/manipulation/franka_panda/panda_constants.h"
// #include "drake/manipulation/franka_panda/panda_status_receiver.h"
// #include "drake/manipulation/franka_panda/panda_status_sender.h"
// Symbol: pydrake_doc_manipulation_franka_panda
constexpr struct /* pydrake_doc_manipulation_franka_panda */ {
// Symbol: drake
struct /* drake */ {
// Symbol: drake::manipulation
struct /* manipulation */ {
// Symbol: drake::manipulation::franka_panda
struct /* franka_panda */ {
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver
struct /* PandaCommandReceiver */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc =
R"""(Handles lcmt_panda_command message from a LcmSubscriberSystem.
Note that this system does not actually subscribe to an LCM channel.
To receive the message, the input of this system should be connected
to a LcmSubscriberSystem::Make<drake::lcmt_panda_command>().
It has one required input port, "lcmt_panda_command". It has several
output ports, each one of size num_joints.
.. pydrake_system::
name: PandaCommandReceiver
input_ports:
- lcmt_panda_command
- position_measured
output_ports:
- position (*)
- velocity (*)
- torque (*)
(*) Each output port is present iff the control_mode passed to the
constructor set the corresponding CONTROL_MODE bit.
Prior to receiving a valid lcmt_panda_command message, the "position"
output (if present) initially feeds through from the
"position_measured" input, and both the "velocity" and "torque"
outputs (if present) are zero.
If discrete update events are enabled (e.g., during simulation), the
system latches the "position_measured" input into state during the
first event, and the "position" output (if present) comes from the
latched state, not the input.
The lcmt_panda_command input must match the num_joints and
control_mode that were passed to the constructor: the message's
control_mode_expected must be set to the same value as the
constructor's control_mode, and the message's position, velocity,
torque vectors must be sized to match the constructor's num_joint iff
the corresponding bit of the control_mode is set or must be zero-sized
otherwise. TODO(jeremy.nimmer) The control_mode_expected is not
actually validated yet at runtime, but will be in the future (once we
fix our code to stop setting it incorrectly).)""";
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::LatchInitialPosition
struct /* LatchInitialPosition */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc =
R"""((Advanced.) Copies the current "position_measured" input into Context
state, and changes the behavior of the "position" output to produce
the latched state if no message has been received yet. The latching
already happens automatically during the first discrete update event
(e.g., when using a Simulator); this method exists for use when not
already using a Simulator or other special cases.
Precondition:
the control_mode has the POSITION bit set)""";
} LatchInitialPosition;
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::PandaCommandReceiver
struct /* ctor */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc =
R"""(Parameter ``control_mode``:
is a bitset of one or more control mode constants defined in
PandaControlModes namespace. Use bitwise OR to combine modes.)""";
} ctor;
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::get_commanded_position_output_port
struct /* get_commanded_position_output_port */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc = R"""()""";
} get_commanded_position_output_port;
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::get_commanded_torque_output_port
struct /* get_commanded_torque_output_port */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc = R"""()""";
} get_commanded_torque_output_port;
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::get_commanded_velocity_output_port
struct /* get_commanded_velocity_output_port */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc = R"""()""";
} get_commanded_velocity_output_port;
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::get_message_input_port
struct /* get_message_input_port */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc = R"""()""";
} get_message_input_port;
// Symbol: drake::manipulation::franka_panda::PandaCommandReceiver::get_position_measured_input_port
struct /* get_position_measured_input_port */ {
// Source: drake/manipulation/franka_panda/panda_command_receiver.h
const char* doc = R"""()""";
} get_position_measured_input_port;
} PandaCommandReceiver;
// Symbol: drake::manipulation::franka_panda::PandaCommandSender
struct /* PandaCommandSender */ {
// Source: drake/manipulation/franka_panda/panda_command_sender.h
const char* doc =
R"""(Creates and outputs lcmt_panda_command messages.
Note that this system does not actually send the message an LCM
channel. To send the message, the output of this system should be
connected to a LcmPublisherSystem::Make<lcmt_panda_command>().
This system has vector-valued input ports, each one of size
num_joints.
This system has one abstract-valued output port of type
lcmt_panda_command.
.. pydrake_system::
name: PandaCommandSender
input_ports:
- position (*)
- velocity (*)
- torque (*)
output_ports:
- lcmt_panda_command
(*) Each input port is present if it's relevant to the control_mode
passed to the constructor.
See also:
``lcmt_panda_command.lcm`` for additional documentation.)""";
// Symbol: drake::manipulation::franka_panda::PandaCommandSender::PandaCommandSender
struct /* ctor */ {
// Source: drake/manipulation/franka_panda/panda_command_sender.h
const char* doc =
R"""(Parameter ``control_mode``:
is a bitset of one or more control mode constants defined in
PandaControlModes namespace. Use bitwise OR to combine modes.)""";
} ctor;
// Symbol: drake::manipulation::franka_panda::PandaCommandSender::get_position_input_port
struct /* get_position_input_port */ {
// Source: drake/manipulation/franka_panda/panda_command_sender.h
const char* doc = R"""()""";
} get_position_input_port;
// Symbol: drake::manipulation::franka_panda::PandaCommandSender::get_torque_input_port
struct /* get_torque_input_port */ {
// Source: drake/manipulation/franka_panda/panda_command_sender.h
const char* doc = R"""()""";
} get_torque_input_port;
// Symbol: drake::manipulation::franka_panda::PandaCommandSender::get_velocity_input_port
struct /* get_velocity_input_port */ {
// Source: drake/manipulation/franka_panda/panda_command_sender.h
const char* doc = R"""()""";
} get_velocity_input_port;
} PandaCommandSender;
// Symbol: drake::manipulation::franka_panda::PandaControlMode
struct /* PandaControlMode */ {
// Source: drake/manipulation/franka_panda/panda_constants.h
const char* doc =
R"""(Type alias for Panda control mode bitfields. Control modes can be
bitwise OR'd together to enable multiple control modes simultaneously.
Values match lcmt_panda_status::CONTROL_MODE_* constants.)""";
} PandaControlMode;
// Symbol: drake::manipulation::franka_panda::PandaControlModes
struct /* PandaControlModes */ {
} PandaControlModes;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver
struct /* PandaStatusReceiver */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc =
R"""(@system name: PandaStatusReceiver input_ports: - lcmt_panda_status
output_ports: - position_commanded - position_measured -
velocity_commanded - velocity_measured - acceleration_commanded -
torque_commanded - torque_measured - torque_external @endsystem
See also:
``lcmt_panda_status.lcm`` for additional documentation.)""";
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::OutputPort
struct /* OutputPort */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} OutputPort;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::PandaStatusReceiver
struct /* ctor */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} ctor;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_acceleration_commanded_output_port
struct /* get_acceleration_commanded_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_acceleration_commanded_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_position_commanded_output_port
struct /* get_position_commanded_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_position_commanded_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_position_measured_output_port
struct /* get_position_measured_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_position_measured_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_torque_commanded_output_port
struct /* get_torque_commanded_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_torque_commanded_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_torque_external_output_port
struct /* get_torque_external_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_torque_external_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_torque_measured_output_port
struct /* get_torque_measured_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_torque_measured_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_velocity_commanded_output_port
struct /* get_velocity_commanded_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_velocity_commanded_output_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusReceiver::get_velocity_measured_output_port
struct /* get_velocity_measured_output_port */ {
// Source: drake/manipulation/franka_panda/panda_status_receiver.h
const char* doc = R"""()""";
} get_velocity_measured_output_port;
} PandaStatusReceiver;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender
struct /* PandaStatusSender */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc =
R"""(Creates and outputs lcmt_panda_status messages.
Note that this system does not actually send the message an LCM
channel. To send the message, the output of this system should be
connected to a LcmPublisherSystem::Make<lcmt_panda_status>().
This system has many vector-valued input ports, each of which has
exactly num_joints elements.
This system has one abstract-valued output port of type
lcmt_panda_status.
This system is presently only used in simulation. The robot hardware
drivers publish directly to LCM and do not make use of this system.
.. pydrake_system::
name: PandaStatusSender
input_ports:
- position_commanded (optional)
- position_measured
- velocity_commanded (optional)
- velocity_measured (optional)
- acceleration_commanded (optional)
- torque_commanded
- torque_measured (optional)
- torque_external (optional)
output_ports:
- lcmt_panda_status
See also:
``lcmt_panda_status.lcm`` for additional documentation.)""";
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::InputPort
struct /* InputPort */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} InputPort;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::PandaStatusSender
struct /* ctor */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} ctor;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_acceleration_commanded_input_port
struct /* get_acceleration_commanded_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_acceleration_commanded_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_position_commanded_input_port
struct /* get_position_commanded_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_position_commanded_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_position_measured_input_port
struct /* get_position_measured_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_position_measured_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_torque_commanded_input_port
struct /* get_torque_commanded_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_torque_commanded_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_torque_external_input_port
struct /* get_torque_external_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_torque_external_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_torque_measured_input_port
struct /* get_torque_measured_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_torque_measured_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_velocity_commanded_input_port
struct /* get_velocity_commanded_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_velocity_commanded_input_port;
// Symbol: drake::manipulation::franka_panda::PandaStatusSender::get_velocity_measured_input_port
struct /* get_velocity_measured_input_port */ {
// Source: drake/manipulation/franka_panda/panda_status_sender.h
const char* doc = R"""()""";
} get_velocity_measured_input_port;
} PandaStatusSender;
// Symbol: drake::manipulation::franka_panda::to_int
struct /* to_int */ {
// Source: drake/manipulation/franka_panda/panda_constants.h
const char* doc = R"""()""";
} to_int;
} franka_panda;
} manipulation;
} drake;
} pydrake_doc_manipulation_franka_panda;
#if defined(__GNUG__)
#pragma GCC diagnostic pop
#endif