Skip to content

Commit ea8a4fe

Browse files
committed
Update Readme
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
1 parent 31fbc23 commit ea8a4fe

1 file changed

Lines changed: 32 additions & 11 deletions

File tree

tutorials/docs/navigation2_with_ground_consistency_layer.rst

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

141143
In **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

170175
In **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

208230
If 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

279301
The 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

287308
References
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

Comments
 (0)