Skip to content

Commit ac29935

Browse files
stephanie-engschornakjhenningkayserAndyZeAndyZe
authored
MoveIt Task Constructor Tutorial (#300)
* Initial commit for MTC Tutorial * add updated source code for MTC tutorial package * Updates to tutorial code and added tutorial text explaining the code * Typo fixes, formatting fixes, and clarifications Co-authored-by: Henning Kayser <[email protected]> * Added a reference to the concepts section of the MTC example page * Apply suggestions from code review Co-authored-by: AndyZe <[email protected]> * Add comment about grasp_frame_transform * Add note that the SerialContainer is optional * Disabled clang-format on intentionally-shortened lines for better viewing without needing to scroll * Updates .repos * Add hints about several non-intuitive features * Update panda controllers filenames * Formatting fix Co-authored-by: Joe Schornak <[email protected]> Co-authored-by: Henning Kayser <[email protected]> Co-authored-by: AndyZe <[email protected]> Co-authored-by: AndyZe <[email protected]>
1 parent f406a22 commit ac29935

19 files changed

+1995
-0
lines changed

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ find_package(Boost REQUIRED system filesystem date_time thread)
1010
find_package(ament_cmake REQUIRED)
1111
find_package(control_msgs REQUIRED)
1212
find_package(moveit_core REQUIRED)
13+
find_package(moveit_task_constructor_core REQUIRED)
1314
find_package(moveit_ros_planning REQUIRED)
1415
find_package(moveit_ros_planning_interface REQUIRED)
1516
find_package(moveit_ros_perception REQUIRED)
@@ -50,11 +51,13 @@ set(THIS_PACKAGE_INCLUDE_DEPENDS
5051
Boost
5152
control_msgs
5253
moveit_servo
54+
moveit_task_constructor_core
5355
)
5456

5557
include_directories(${THIS_PACKAGE_INCLUDE_DIRS})
5658

5759
add_subdirectory(doc/tutorials/quickstart_in_rviz)
60+
add_subdirectory(doc/tutorials/pick_and_place_with_moveit_task_constructor)
5861
# add_subdirectory(doc/examples/controller_configuration)
5962
# add_subdirectory(doc/examples/interactivity)
6063
# add_subdirectory(doc/examples/kinematics)

_static/videos/mtc.webm

1.62 MB
Binary file not shown.

conf.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,13 @@
213213
+ "melodic-devel"
214214
+ "/%s",
215215
"",
216+
),
217+
"moveit_resources_codedir": (
218+
"https://github.com/"
219+
+ html_context["github_user"]
220+
+ "/moveit_resources/tree/ros2"
221+
+ "/%s",
222+
"",
216223
), # TODO(dlu): use ros_distro when noetic-devel branch is available
217224
# NEED DOCS.ROS.ORG equivalent for foxy
218225
"ros_documentation": (

doc/examples/moveit_task_constructor/moveit_task_constructor_tutorial.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ shown in the right-most window. Selecting one of those solutions will start its
6363
.. image:: mtc_show_stages.gif
6464
:width: 700px
6565

66+
.. _moveit_task_constructor_concepts:
67+
6668
Basic Concepts
6769
--------------
6870

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
add_executable(mtc_tutorial src/main.cpp)
2+
target_compile_options(mtc_tutorial PUBLIC -g -O0)
3+
ament_target_dependencies(mtc_tutorial ${THIS_PACKAGE_INCLUDE_DEPENDS})
4+
5+
add_executable(minimal_mtc_tutorial src/minimal.cpp)
6+
target_compile_options(minimal_mtc_tutorial PUBLIC -g -O0)
7+
ament_target_dependencies(minimal_mtc_tutorial ${THIS_PACKAGE_INCLUDE_DEPENDS})
8+
9+
install(TARGETS mtc_tutorial minimal_mtc_tutorial
10+
ARCHIVE DESTINATION lib
11+
LIBRARY DESTINATION lib
12+
RUNTIME DESTINATION lib/${PROJECT_NAME})
13+
14+
install(DIRECTORY launch
15+
DESTINATION share/${PROJECT_NAME}
16+
)
193 KB
Loading
218 KB
Loading
Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
Panels:
2+
- Class: rviz_common/Displays
3+
Help Height: 78
4+
Name: Displays
5+
Property Tree Widget:
6+
Expanded:
7+
- /Global Options1
8+
- /Status1
9+
- /Motion Planning Tasks1
10+
- /PlanningScene1
11+
Splitter Ratio: 0.5
12+
Tree Height: 439
13+
- Class: rviz_common/Selection
14+
Name: Selection
15+
- Class: rviz_common/Tool Properties
16+
Expanded:
17+
- /2D Goal Pose1
18+
- /Publish Point1
19+
Name: Tool Properties
20+
Splitter Ratio: 0.5886790156364441
21+
- Class: rviz_common/Views
22+
Expanded:
23+
- /Current View1
24+
Name: Views
25+
Splitter Ratio: 0.5
26+
- Class: moveit_task_constructor/Motion Planning Tasks
27+
Global Settings:
28+
Task View Settings:
29+
Show Computation Times: true
30+
Task Expansion: All Expanded
31+
Name: Motion Planning Tasks
32+
Tasks View:
33+
property_splitter:
34+
- 197
35+
- 121
36+
solution_sorting:
37+
column: 0
38+
order: 1
39+
solutions_splitter:
40+
- 397
41+
- 198
42+
solutions_view_columns: ~
43+
tasks_view_columns:
44+
- 295
45+
- 26
46+
- 26
47+
- 48
48+
Visualization Manager:
49+
Class: ""
50+
Displays:
51+
- Alpha: 0.5
52+
Cell Size: 1
53+
Class: rviz_default_plugins/Grid
54+
Color: 160; 160; 164
55+
Enabled: true
56+
Line Style:
57+
Line Width: 0.029999999329447746
58+
Value: Lines
59+
Name: Grid
60+
Normal Cell Count: 0
61+
Offset:
62+
X: 0
63+
Y: 0
64+
Z: 0
65+
Plane: XY
66+
Plane Cell Count: 10
67+
Reference Frame: <Fixed Frame>
68+
Value: true
69+
- Class: moveit_task_constructor/Motion Planning Tasks
70+
Enabled: true
71+
Interrupt Display: false
72+
Loop Animation: false
73+
Markers:
74+
All at once?: false
75+
Value: true
76+
Name: Motion Planning Tasks
77+
Robot:
78+
Fixed Robot Color: 150; 50; 150
79+
Links:
80+
All Links Enabled: true
81+
Expand Joint Details: false
82+
Expand Link Details: false
83+
Expand Tree: false
84+
Link Tree Style: Links in Alphabetic Order
85+
panda_hand:
86+
Alpha: 1
87+
Show Axes: false
88+
Show Trail: false
89+
Value: true
90+
panda_leftfinger:
91+
Alpha: 1
92+
Show Axes: false
93+
Show Trail: false
94+
Value: true
95+
panda_link0:
96+
Alpha: 1
97+
Show Axes: false
98+
Show Trail: false
99+
Value: true
100+
panda_link1:
101+
Alpha: 1
102+
Show Axes: false
103+
Show Trail: false
104+
Value: true
105+
panda_link2:
106+
Alpha: 1
107+
Show Axes: false
108+
Show Trail: false
109+
Value: true
110+
panda_link3:
111+
Alpha: 1
112+
Show Axes: false
113+
Show Trail: false
114+
Value: true
115+
panda_link4:
116+
Alpha: 1
117+
Show Axes: false
118+
Show Trail: false
119+
Value: true
120+
panda_link5:
121+
Alpha: 1
122+
Show Axes: false
123+
Show Trail: false
124+
Value: true
125+
panda_link6:
126+
Alpha: 1
127+
Show Axes: false
128+
Show Trail: false
129+
Value: true
130+
panda_link7:
131+
Alpha: 1
132+
Show Axes: false
133+
Show Trail: false
134+
Value: true
135+
panda_link8:
136+
Alpha: 1
137+
Show Axes: false
138+
Show Trail: false
139+
panda_rightfinger:
140+
Alpha: 1
141+
Show Axes: false
142+
Show Trail: false
143+
Value: true
144+
Robot Alpha: 0.5
145+
Show Robot Collision: false
146+
Show Robot Visual: true
147+
Use Fixed Robot Color: false
148+
Value: ""
149+
Robot Description: robot_description
150+
Scene:
151+
Attached Body Color: 150; 50; 150
152+
Scene Alpha: 0.8999999761581421
153+
Scene Color: 50; 230; 50
154+
Value: true
155+
Voxel Coloring: Z-Axis
156+
Voxel Rendering: Occupied Voxels
157+
Show Trail: false
158+
State Display Time: 0.05 s
159+
Task Solution Topic: /solution
160+
Tasks:
161+
Cartesian Path: 0
162+
Trail Step Size: 1
163+
Value: true
164+
- Class: moveit_rviz_plugin/PlanningScene
165+
Enabled: true
166+
Move Group Namespace: ""
167+
Name: PlanningScene
168+
Planning Scene Topic: /monitored_planning_scene
169+
Robot Description: robot_description
170+
Scene Geometry:
171+
Scene Alpha: 0.8999999761581421
172+
Scene Color: 50; 230; 50
173+
Scene Display Time: 0.009999999776482582
174+
Show Scene Geometry: true
175+
Voxel Coloring: Z-Axis
176+
Voxel Rendering: Occupied Voxels
177+
Scene Robot:
178+
Attached Body Color: 150; 50; 150
179+
Links:
180+
All Links Enabled: true
181+
Expand Joint Details: false
182+
Expand Link Details: false
183+
Expand Tree: false
184+
Link Tree Style: Links in Alphabetic Order
185+
panda_hand:
186+
Alpha: 1
187+
Show Axes: false
188+
Show Trail: false
189+
Value: true
190+
panda_leftfinger:
191+
Alpha: 1
192+
Show Axes: false
193+
Show Trail: false
194+
Value: true
195+
panda_link0:
196+
Alpha: 1
197+
Show Axes: false
198+
Show Trail: false
199+
Value: true
200+
panda_link1:
201+
Alpha: 1
202+
Show Axes: false
203+
Show Trail: false
204+
Value: true
205+
panda_link2:
206+
Alpha: 1
207+
Show Axes: false
208+
Show Trail: false
209+
Value: true
210+
panda_link3:
211+
Alpha: 1
212+
Show Axes: false
213+
Show Trail: false
214+
Value: true
215+
panda_link4:
216+
Alpha: 1
217+
Show Axes: false
218+
Show Trail: false
219+
Value: true
220+
panda_link5:
221+
Alpha: 1
222+
Show Axes: false
223+
Show Trail: false
224+
Value: true
225+
panda_link6:
226+
Alpha: 1
227+
Show Axes: false
228+
Show Trail: false
229+
Value: true
230+
panda_link7:
231+
Alpha: 1
232+
Show Axes: false
233+
Show Trail: false
234+
Value: true
235+
panda_link8:
236+
Alpha: 1
237+
Show Axes: false
238+
Show Trail: false
239+
panda_rightfinger:
240+
Alpha: 1
241+
Show Axes: false
242+
Show Trail: false
243+
Value: true
244+
Robot Alpha: 1
245+
Show Robot Collision: false
246+
Show Robot Visual: true
247+
Value: true
248+
Enabled: true
249+
Global Options:
250+
Background Color: 48; 48; 48
251+
Fixed Frame: panda_link0
252+
Frame Rate: 30
253+
Name: root
254+
Tools:
255+
- Class: rviz_default_plugins/Interact
256+
Hide Inactive Objects: true
257+
- Class: rviz_default_plugins/MoveCamera
258+
- Class: rviz_default_plugins/Select
259+
- Class: rviz_default_plugins/FocusCamera
260+
- Class: rviz_default_plugins/Measure
261+
Line color: 128; 128; 0
262+
- Class: rviz_default_plugins/SetInitialPose
263+
Topic:
264+
Depth: 5
265+
Durability Policy: Volatile
266+
History Policy: Keep Last
267+
Reliability Policy: Reliable
268+
Value: /initialpose
269+
- Class: rviz_default_plugins/SetGoal
270+
Topic:
271+
Depth: 5
272+
Durability Policy: Volatile
273+
History Policy: Keep Last
274+
Reliability Policy: Reliable
275+
Value: /goal_pose
276+
- Class: rviz_default_plugins/PublishPoint
277+
Single click: true
278+
Topic:
279+
Depth: 5
280+
Durability Policy: Volatile
281+
History Policy: Keep Last
282+
Reliability Policy: Reliable
283+
Value: /clicked_point
284+
Transformation:
285+
Current:
286+
Class: rviz_default_plugins/TF
287+
Value: true
288+
Views:
289+
Current:
290+
Class: rviz_default_plugins/Orbit
291+
Distance: 3.8008623123168945
292+
Enable Stereo Rendering:
293+
Stereo Eye Separation: 0.05999999865889549
294+
Stereo Focal Distance: 1
295+
Swap Stereo Eyes: false
296+
Value: false
297+
Focal Point:
298+
X: 0
299+
Y: 0
300+
Z: 0
301+
Focal Shape Fixed Size: true
302+
Focal Shape Size: 0.05000000074505806
303+
Invert Z Axis: false
304+
Name: Current View
305+
Near Clip Distance: 0.009999999776482582
306+
Pitch: 0.645397961139679
307+
Target Frame: <Fixed Frame>
308+
Value: Orbit (rviz)
309+
Yaw: 0.7453980445861816
310+
Saved: ~
311+
Window Geometry:
312+
Displays:
313+
collapsed: false
314+
Height: 1043
315+
Hide Left Dock: false
316+
Hide Right Dock: false
317+
Motion Planning Tasks:
318+
collapsed: false
319+
Motion Planning Tasks - Slider:
320+
collapsed: false
321+
QMainWindow State: 000000ff00000000fd000000040000000000000257000003bdfc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000240000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000003c005400720061006a006500630074006f007200790020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb000000280020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000000000000000fb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000158000001b00000000000000000fb000000120020002d00200053006c00690064006500720000000000ffffffff0000000000000000fb0000002a004d006f00740069006f006e00200050006c0061006e006e0069006e00670020005400610073006b0073010000028100000177000000e300fffffffb0000003c004d006f00740069006f006e00200050006c0061006e006e0069006e00670020005400610073006b00730020002d00200053006c00690064006500720000000000ffffffff0000003f00ffffff000000010000010f000003bdfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b000003bd000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d006501000000000000045000000000000000000000040e000003bd00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
322+
Selection:
323+
collapsed: false
324+
Tool Properties:
325+
collapsed: false
326+
Views:
327+
collapsed: false
328+
Width: 1920
329+
X: 0
330+
Y: 0

0 commit comments

Comments
 (0)