Skip to content

Commit 21075a0

Browse files
committed
Merge branch 'main' into python_install
2 parents 6227921 + 5bc9602 commit 21075a0

File tree

109 files changed

+6638
-51
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+6638
-51
lines changed

README.md

Lines changed: 152 additions & 49 deletions
Large diffs are not rendered by default.

doc/convex_approximation.gif

323 KB
Loading

elevation_mapping_cupy/config/plugin_config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# min_filter fills in minimum value around the invalid cell.
44
min_filter:
5-
enable: True # weather to laod this plugin
5+
enable: True # weather to load this plugin
66
fill_nan: False # Fill nans to invalid cells of elevation layer.
77
is_height_layer: True # If this is a height layer (such as elevation) or not (such as traversability)
88
layer_name: "min_filter" # The layer name.

elevation_mapping_cupy/launch/turtlesim_example.launch

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
<launch>
44

5+
<arg name="rviz_config" default="$(find elevation_mapping_cupy)/rviz/turtle_example.rviz" />
6+
57
<!-- Start gazebo simulation. -->
68
<include file="$(find turtlebot3_gazebo)/launch/turtlebot3_world.launch"/>
79

@@ -21,6 +23,6 @@
2123
</node>
2224

2325
<!-- Launch RViz with the demo configuration. -->
24-
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find elevation_mapping_cupy)/rviz/turtle_example.rviz"/>
26+
<node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rviz_config)"/>
2527

2628
</launch>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<launch>
4+
5+
<!-- Launch elevation mapping turtle sim. -->
6+
<include file="$(find elevation_mapping_cupy)/launch/turtlesim_example.launch">
7+
<arg name="rviz_config" value="$(find elevation_mapping_cupy)/rviz/turtle_segmentation_example.rviz"/>
8+
</include>
9+
10+
<!-- Launch the plane decomposition node. -->
11+
<include file="$(find convex_plane_decomposition_ros)/launch/convex_plane_decomposition.launch"/>
12+
13+
</launch>
Lines changed: 305 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,305 @@
1+
Panels:
2+
- Class: rviz/Displays
3+
Help Height: 138
4+
Name: Displays
5+
Property Tree Widget:
6+
Expanded:
7+
- /Global Options1
8+
Splitter Ratio: 0.5768463015556335
9+
Tree Height: 991
10+
- Class: rviz/Selection
11+
Name: Selection
12+
- Class: rviz/Tool Properties
13+
Expanded:
14+
- /2D Pose Estimate1
15+
- /2D Nav Goal1
16+
- /Publish Point1
17+
Name: Tool Properties
18+
Splitter Ratio: 0.5886790156364441
19+
- Class: rviz/Views
20+
Expanded:
21+
- /Current View1
22+
Name: Views
23+
Splitter Ratio: 0.5
24+
- Class: rviz/Time
25+
Experimental: false
26+
Name: Time
27+
SyncMode: 0
28+
SyncSource: ""
29+
Preferences:
30+
PromptSaveOnExit: true
31+
Toolbars:
32+
toolButtonStyle: 2
33+
Visualization Manager:
34+
Class: ""
35+
Displays:
36+
- Alpha: 0.5
37+
Cell Size: 1
38+
Class: rviz/Grid
39+
Color: 160; 160; 164
40+
Enabled: true
41+
Line Style:
42+
Line Width: 0.029999999329447746
43+
Value: Lines
44+
Name: Grid
45+
Normal Cell Count: 0
46+
Offset:
47+
X: 0
48+
Y: 0
49+
Z: 0
50+
Plane: XY
51+
Plane Cell Count: 10
52+
Reference Frame: <Fixed Frame>
53+
Value: true
54+
- Alpha: 1
55+
Autocompute Intensity Bounds: false
56+
Class: grid_map_rviz_plugin/GridMap
57+
Color: 200; 200; 200
58+
Color Layer: traversability
59+
Color Transformer: ""
60+
Enabled: true
61+
Grid Cell Decimation: 1
62+
Grid Line Thickness: 0.10000000149011612
63+
Height Layer: elevation
64+
Height Transformer: ""
65+
History Length: 1
66+
Invert Rainbow: false
67+
Max Color: 238; 238; 236
68+
Max Intensity: 1
69+
Min Color: 32; 74; 135
70+
Min Intensity: 0
71+
Name: ElevationMapRaw
72+
Show Grid Lines: true
73+
Topic: /elevation_mapping/elevation_map_raw
74+
Unreliable: false
75+
Use Rainbow: false
76+
Value: true
77+
- Alpha: 0.10000000149011612
78+
Autocompute Intensity Bounds: true
79+
Class: grid_map_rviz_plugin/GridMap
80+
Color: 200; 200; 200
81+
Color Layer: min_filter
82+
Color Transformer: GridMapLayer
83+
Enabled: true
84+
Grid Cell Decimation: 1
85+
Grid Line Thickness: 0.10000000149011612
86+
Height Layer: min_filter
87+
Height Transformer: GridMapLayer
88+
History Length: 1
89+
Invert Rainbow: false
90+
Max Color: 206; 92; 0
91+
Max Intensity: 10
92+
Min Color: 255; 255; 255
93+
Min Intensity: 0
94+
Name: ElevationMapFilter
95+
Show Grid Lines: true
96+
Topic: /elevation_mapping/elevation_map_filter
97+
Unreliable: false
98+
Use Rainbow: false
99+
Value: true
100+
- Alpha: 1
101+
Class: rviz/RobotModel
102+
Collision Enabled: false
103+
Enabled: true
104+
Links:
105+
All Links Enabled: true
106+
Expand Joint Details: false
107+
Expand Link Details: false
108+
Expand Tree: false
109+
Link Tree Style: Links in Alphabetic Order
110+
base_footprint:
111+
Alpha: 1
112+
Show Axes: false
113+
Show Trail: false
114+
base_link:
115+
Alpha: 1
116+
Show Axes: false
117+
Show Trail: false
118+
Value: true
119+
base_scan:
120+
Alpha: 1
121+
Show Axes: false
122+
Show Trail: false
123+
Value: true
124+
camera_depth_frame:
125+
Alpha: 1
126+
Show Axes: false
127+
Show Trail: false
128+
camera_depth_optical_frame:
129+
Alpha: 1
130+
Show Axes: false
131+
Show Trail: false
132+
camera_link:
133+
Alpha: 1
134+
Show Axes: false
135+
Show Trail: false
136+
Value: true
137+
camera_rgb_frame:
138+
Alpha: 1
139+
Show Axes: false
140+
Show Trail: false
141+
camera_rgb_optical_frame:
142+
Alpha: 1
143+
Show Axes: false
144+
Show Trail: false
145+
caster_back_left_link:
146+
Alpha: 1
147+
Show Axes: false
148+
Show Trail: false
149+
Value: true
150+
caster_back_right_link:
151+
Alpha: 1
152+
Show Axes: false
153+
Show Trail: false
154+
Value: true
155+
imu_link:
156+
Alpha: 1
157+
Show Axes: false
158+
Show Trail: false
159+
wheel_left_link:
160+
Alpha: 1
161+
Show Axes: false
162+
Show Trail: false
163+
Value: true
164+
wheel_right_link:
165+
Alpha: 1
166+
Show Axes: false
167+
Show Trail: false
168+
Value: true
169+
Name: RobotModel
170+
Robot Description: robot_description
171+
TF Prefix: ""
172+
Update Interval: 0
173+
Value: true
174+
Visual Enabled: true
175+
- Alpha: 1
176+
Autocompute Intensity Bounds: true
177+
Autocompute Value Bounds:
178+
Max Value: 10
179+
Min Value: -10
180+
Value: true
181+
Axis: Z
182+
Channel Name: intensity
183+
Class: rviz/PointCloud2
184+
Color: 255; 255; 255
185+
Color Transformer: RGB8
186+
Decay Time: 0
187+
Enabled: false
188+
Invert Rainbow: false
189+
Max Color: 255; 255; 255
190+
Min Color: 0; 0; 0
191+
Name: PointCloud2
192+
Position Transformer: XYZ
193+
Queue Size: 10
194+
Selectable: true
195+
Size (Pixels): 3
196+
Size (m): 0.009999999776482582
197+
Style: Flat Squares
198+
Topic: /camera/depth/points
199+
Unreliable: false
200+
Use Fixed Frame: true
201+
Use rainbow: true
202+
Value: false
203+
- Alpha: 1
204+
Class: jsk_rviz_plugin/PolygonArray
205+
Color: 25; 255; 0
206+
Enabled: true
207+
Name: PlaneBoundaries
208+
Queue Size: 10
209+
Topic: /convex_plane_decomposition_ros/boundaries
210+
Unreliable: false
211+
Value: true
212+
coloring: Label
213+
enable lighting: true
214+
normal length: 0.10000000149011612
215+
only border: true
216+
show normal: false
217+
- Alpha: 1
218+
Autocompute Intensity Bounds: true
219+
Class: grid_map_rviz_plugin/GridMap
220+
Color: 200; 200; 200
221+
Color Layer: segmentation
222+
Color Transformer: GridMapLayer
223+
Enabled: true
224+
Grid Cell Decimation: 1
225+
Grid Line Thickness: 0.10000000149011612
226+
Height Layer: elevation_before_postprocess
227+
Height Transformer: GridMapLayer
228+
History Length: 1
229+
Invert Rainbow: false
230+
Max Color: 238; 238; 236
231+
Max Intensity: 10
232+
Min Color: 32; 74; 135
233+
Min Intensity: 0
234+
Name: PlaneSegmentation
235+
Show Grid Lines: true
236+
Topic: /convex_plane_decomposition_ros/filtered_map
237+
Unreliable: false
238+
Use Rainbow: true
239+
Value: true
240+
Enabled: true
241+
Global Options:
242+
Background Color: 255; 255; 255
243+
Default Light: true
244+
Fixed Frame: odom
245+
Frame Rate: 30
246+
Name: root
247+
Tools:
248+
- Class: rviz/Interact
249+
Hide Inactive Objects: true
250+
- Class: rviz/MoveCamera
251+
- Class: rviz/Select
252+
- Class: rviz/FocusCamera
253+
- Class: rviz/Measure
254+
- Class: rviz/SetInitialPose
255+
Theta std deviation: 0.2617993950843811
256+
Topic: /initialpose
257+
X std deviation: 0.5
258+
Y std deviation: 0.5
259+
- Class: rviz/SetGoal
260+
Topic: /move_base_simple/goal
261+
- Class: rviz/PublishPoint
262+
Single click: true
263+
Topic: /clicked_point
264+
Value: true
265+
Views:
266+
Current:
267+
Class: rviz/Orbit
268+
Distance: 7.79520845413208
269+
Enable Stereo Rendering:
270+
Stereo Eye Separation: 0.05999999865889549
271+
Stereo Focal Distance: 1
272+
Swap Stereo Eyes: false
273+
Value: false
274+
Field of View: 0.7853981852531433
275+
Focal Point:
276+
X: 2.046891927719116
277+
Y: -0.5291382074356079
278+
Z: -0.3964909017086029
279+
Focal Shape Fixed Size: true
280+
Focal Shape Size: 0.05000000074505806
281+
Invert Z Axis: false
282+
Name: Current View
283+
Near Clip Distance: 0.009999999776482582
284+
Pitch: 0.5247964859008789
285+
Target Frame: base_footprint
286+
Yaw: 3.143371820449829
287+
Saved: ~
288+
Window Geometry:
289+
Displays:
290+
collapsed: false
291+
Height: 1376
292+
Hide Left Dock: false
293+
Hide Right Dock: true
294+
QMainWindow State: 000000ff00000000fd0000000400000000000001f7000004a6fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000004a6000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000015f0000053bfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000560000053b000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009b80000005afc0100000002fb0000000800540069006d00650100000000000009b8000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000007bb000004a600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
295+
Selection:
296+
collapsed: false
297+
Time:
298+
collapsed: false
299+
Tool Properties:
300+
collapsed: false
301+
Views:
302+
collapsed: true
303+
Width: 2488
304+
X: 72
305+
Y: 27

plane_segmentation/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Plane Segmentation
2+
3+
## Overview
4+
This is a C++ ROS package for extracting convex polygons from elevation maps.
5+
In a first step, the terrain is segmented into planes, and their non-convex contour is extracted.
6+
In a second step, a local convex approximation can be obtained.
7+
8+
## Usage
9+
### Build
10+
```bash
11+
catkin build convex_plane_decomposition_ros
12+
```
13+
14+
### Run as node
15+
```bash
16+
roslaunch convex_plane_decomposition_ros convex_plane_decomposition.launch
17+
```
18+
19+
### Run demo
20+
```bash
21+
roslaunch convex_plane_decomposition_ros demo.launch
22+
```
23+
24+
### Convex approximation demo
25+
A simple 2D demo the convex inner approximation is available:
26+
```bash
27+
rosrun convex_plane_decomposition_ros convex_plane_decomposition_ros_TestShapeGrowing
28+
```
29+
30+
### Parameters
31+
You can select input map topics, pipeline parameters etc. in the respective yaml file in
32+
```bash
33+
convex_plane_decomposition_ros/config/
34+
```
35+
Some other parameters are set through the launch files.

0 commit comments

Comments
 (0)