Skip to content

Commit 3512688

Browse files
committed
docs(README): Update README.md for latest docker changes
Mock GPS demo now instructed using new docker images that are included in the same repository. [skip ci]
1 parent 33c0226 commit 3512688

File tree

1 file changed

+30
-27
lines changed

1 file changed

+30
-27
lines changed

README.md

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,47 @@ https://user-images.githubusercontent.com/22712178/187902004-480397cc-460f-4d57-
77
88
GISNav is a ROS 2 package that enables map-based visual navigation for airborne drones **in a simulation environment**.
99

10-
GISNav provides an *accurate* **global** position for an airborne drone by visually comparing frames from the drone's
11-
nadir-facing camera to a map of the drone's *approximate* global position retrieved from an underlying
12-
GIS system.
10+
GISNav provides a *precise* global position for an airborne drone by visually comparing frames from the drone's
11+
nadir-facing camera to a map of the drone's *approximate* global position retrieved from an underlying GIS system.
1312

1413
# Mock GPS Example
1514

16-
The below steps demonstrate how GISNav's `MockGPSNode` ROS 2 node enables GNSS-free flight with PX4 Autopilot's
17-
[Mission mode][1] in a SITL simulation.
15+
The below steps demonstrate how GISNav enables GNSS-free flight with PX4 Autopilot's [Mission mode][1] in a SITL
16+
simulation.
1817

19-
You will need to have [NVIDIA Container Toolkit][2] for Docker installed.
18+
You will need to have the [docker compose plugin][2] and [NVIDIA Container Toolkit][3] installed.
2019

2120
[1]: https://docs.px4.io/v1.12/en/flight_modes/mission.html
22-
23-
[2]: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
21+
[2]: https://docs.docker.com/compose/install/linux/
22+
[3]: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
2423

2524
## Build and run SITL simulation
2625

26+
Build the Docker images:
2727
```bash
28-
git clone https://github.com/hmakelin/gisnav-docker.git
29-
cd gisnav-docker
30-
docker-compose -f docker-compose.yaml -f docker-compose.demo.yaml build sitl
28+
git clone https://github.com/hmakelin/gisnav.git
29+
cd gisnav
30+
docker compose build px4 qgc mapserver micro-ros-agent gisnav
3131
```
3232

33-
Once the `sitl` image has been built, run the `mapserver` and `sitl` services:
34-
33+
Run GISNav along with supporting services:
3534
```bash
36-
docker-compose -f docker-compose.yaml -f docker-compose.demo.yaml up -d mapserver sitl
35+
docker compose up px4 qgc mapserver micro-ros-agent gisnav
3736
```
3837

39-
> **Note**:
40-
> * The build for the `sitl` image takes a long time.
41-
> * The `mapserver` container needs to download roughly 1 GB of high-resolution aerial imagery, so it may take some
42-
> time until it starts serving the WMS endpoint.
38+
> **Note**
39+
> * The build for the `px4` and `gisnav` images may take a long time.
40+
> * The `mapserver` container needs to download roughly 1 GB of high-resolution aerial imagery when ran for the first
41+
> time, so it may take some time until it starts serving the WMS endpoint.
42+
> * If the Gazebo and QGroundControl windows do not appear on your screen you may need to expose your ``xhost`` to your
43+
> Docker containers (see e.g. [ROS GUI Tutorial][4]):
44+
> ```bash
45+
> for containerId in $(docker ps -f name=gisnav -q); do
46+
> xhost +local:$(docker inspect --format='{{ .Config.Hostname }}' $containerId)
47+
> done
48+
> ```
4349
44-
[4]: https://hub.docker.com/r/hmakelin/gisnav-sitl
45-
[5]: https://hub.docker.com/r/hmakelin/gisnav-mapserver
50+
[4]: http://wiki.ros.org/docker/Tutorials/GUI
4651
4752
## Upload flight plan via QGroundControl
4853
@@ -52,11 +57,9 @@ Docker container, and then start the mission.
5257
5358
## Simulate GPS failure
5459
55-
> **Warning** Do not attempt this on a real flight - simulation use only.
56-
5760
Wait until the drone has risen to its final mission altitude. You should see a visualization of the GISNav-estimated
58-
field of view projected on the ground appear. You can then try disabling GPS from the *nsh* console running on the drone
59-
through your [MAVLink Shell][6] *(accessible e.g. through QGroundControl > Analyze Tools > MAVLink Console)*:
61+
field of view projected on the ground appear. You can then try disabling GPS through your [MAVLink Shell][5]
62+
*(accessible e.g. through QGroundControl > Analyze Tools > MAVLink Console)*:
6063
6164
```
6265
failure gps off
@@ -73,14 +76,14 @@ listener sensor_gps
7376
If the printed GPS message has a `satellites_used` field value of `255`, your PX4 is receiving the mock GPS node output
7477
as expected.
7578
76-
[6]: https://docs.px4.io/main/en/debug/mavlink_shell.html#qgroundcontrol
79+
[5]: https://docs.px4.io/main/en/debug/mavlink_shell.html#qgroundcontrol
7780
7881
# Documentation
7982
80-
See the [latest developer documentation][7] for information on how to setup a local environment for GISNav development,
83+
See the [latest developer documentation][6] for information on how to setup a local environment for GISNav development,
8184
for code examples and API documentation, and for contribution guidelines.
8285
83-
[7]: https://hmakelin.github.io/gisnav
86+
[6]: https://hmakelin.github.io/gisnav
8487
8588
# License
8689

0 commit comments

Comments
 (0)