@@ -25,10 +25,12 @@ It is assumed you have ROS 2 Jazzy installed. To install all required dependenci
2525
2626.. code-block :: bash
2727
28+ mkdir -p src && cd src
2829 git clone https://github.com/haider8645/nav2_ground_consistency_demo.git
2930
3031 .. code-block :: bash
3132
33+ cd nav2_ground_consistency_demo
3234 bash install_dependencies.bash ~ /my_custom_workspace
3335
3436 This script will:
@@ -140,8 +142,11 @@ Step 1: Launch Gazebo Simulation
140142
141143In **Terminal 1 **, start the Gazebo simulation with the Husky robot:
142144
145+ Note: Gazebo will take some time to download the baylands terrain and husky model
146+
143147.. code-block :: bash
144148
149+ source install/setup.bash
145150 ros2 launch nav2_ground_consistency_demo start.launch.py
146151
147152 You should see:
@@ -169,10 +174,27 @@ Step 2: Launch Navigation Stack
169174
170175In **Terminal 2 **, launch the stack with the ground consistency layer (this includes ground segmentation):
171176
177+ On some systems, the ``ground_segmentation_ros2_node `` may fail to start with: ``error while loading shared libraries: libjawt.so: cannot open shared object file ``
178+
179+ Fix this error by using the following:
180+
172181.. code-block :: bash
173182
183+ export JAVA_HOME=$( dirname $( dirname $( readlink -f $( which javac) ) ) )
184+ echo " $JAVA_HOME /lib" | sudo tee /etc/ld.so.conf.d/java.conf
185+ echo " $JAVA_HOME /lib/server" | sudo tee -a /etc/ld.so.conf.d/java.conf
186+ sudo ldconfig
187+
188+ .. code-block :: bash
189+
190+ source install/setup.bash
174191 ros2 launch nav2_ground_consistency_demo full_stack.launch.py
175192
193+ .. code-block :: bash
194+
195+ ros2 lifecycle set /controller_server configure
196+ ros2 lifecycle set /controller_server activate
197+
176198 This starts:
177199
178200- **Ground Segmentation ** - Classifies lidar points in real-time
@@ -201,9 +223,9 @@ You should see RViz open with:
201223
202224 You should see:
203225
204- - ``/tf `` publishing at ~10 Hz (odometry transforms)
205- - Ground points publishing at ~10 Hz (from lidar )
206- - Obstacle points publishing at ~10 Hz (from lidar )
226+ - ``/tf `` publishing at ~5- 10 Hz (odometry transforms)
227+ - Ground points publishing at ~5- 10 Hz (from ground segmentation )
228+ - Obstacle points publishing at ~5- 10 Hz (from ground segmentation )
207229
208230If any topic shows "0 Hz", something is not working - check the logs in the launch terminal for errors.
209231
@@ -253,7 +275,7 @@ Debugging
253275
254276.. code-block :: bash
255277
256- ros2 topic echo /husky/scan/points | head -20
278+ ros2 topic echo /husky/scan/points
257279
258280 **Ground segmentation very slow: **
259281
@@ -262,7 +284,7 @@ Debugging
262284
263285**No ground points detected: **
264286
265- - Check ``lidar_to_ground `` parameter in ``config/ground_seg/parameters .yaml ``
287+ - Check ``lidar_to_ground `` parameter in ``config/gseg3d_config .yaml ``
266288- This should match your lidar's height above the ground (negative value)
267289- If incorrect, all points will be classified as obstacles
268290- Verify with: ``ros2 topic echo /ground_segmentation/ground_points ``
@@ -278,11 +300,10 @@ Hardware Adaptation
278300
279301The demo is tuned for a Husky with VLP-16 lidar. To adapt to your robot:
280302
281- 1. **Update robot model ** in ``resource/COSTAR_HUSKY_SENSOR_CONFIG_1/model.sdf ``
282- 2. **Update lidar height ** in ``simulation/start.launch.py `` static transform
283- 3. **Update IMU orientation ** in model.sdf if your IMU is mounted differently (check ``<pose> `` element in IMU sensor definition)
284- 4. **Update robot dimensions ** in ``config/nav2/nav2_params.yaml `` (robot_height, etc.)
285- 5. **Retune ground segmentation ** parameters for your lidar's FOV and point density
303+ 1. **Update robot model ** in ``simulation/models/COSTAR_HUSKY_SENSOR_CONFIG_1/model.sdf ``
304+ 2. **Update lidar and IMU static transforms ** in ``simulation/start.launch.py `` static transform
305+ 3. **Update robot dimensions ** in ``config/nav2_config.yaml `` (robot_height, etc.)
306+ 4. **Retune ground segmentation ** parameters in ``config/gseg3d_config.yaml `` for your lidar's FOV and point density
286307
287308References
288309==========
@@ -317,4 +338,4 @@ This demo uses a local copy of the COSTAR_HUSKY_SENSOR_CONFIG_1 model from Gazeb
317338 Funding
318339-------
319340
320- Developed at the Robotics Innovation Center (DFKI), Bremen. Supported by Robdekon2 (50RA1406), German Federal Ministry for Research and Technology.
341+ Developed at the Robotics Innovation Center (DFKI), Bremen. Supported by Robdekon2 (50RA1406), German Federal Ministry for Research and Technology.
0 commit comments