@@ -7,22 +7,49 @@ This package includes a global planner based on Dubins RRT* enabling low altitud
7
7
![ overview3] ( https://github.com/ethz-asl/terrain-navigation/assets/5248102/90e43b60-ea8c-49db-9fb3-257b145fc35c )
8
8
9
9
## Setup
10
- Install the dependencies. This package depends on gdal, to read georeferenced images and GeoTIFF files.
10
+
11
+ ### Setting up the Build Environment using Docker
12
+
13
+ If your operating system doesn't support ROS 1 noetic, docker is a great alternative.
14
+
15
+ First, create the image, with the build context at the root of this repo
16
+
17
+ ```
18
+ docker build --file docker/Dockerfile --tag terrain-navigation-ros1 .
19
+ ```
20
+
21
+ You can see the image exists:
22
+ ```
23
+ docker images
24
+ >>> REPOSITORY TAG IMAGE ID CREATED SIZE
25
+ >>> terrain-navigation-ros1 latest 5565f845ab4f 2 weeks ago 774MB
11
26
```
12
- apt install libgdal-dev
27
+
28
+ Next, run the image, mounting in the source into a workspace. All the dependencies are now installed.
29
+ ```
30
+ docker run --network=host -it -v $(pwd):/root/catkin_ws/src/terrain-navigation -w /root/catkin_ws terrain-navigation-ros1 bash
13
31
```
32
+
33
+ ### Running the Build
34
+
14
35
Configure the catkin workspace
15
36
```
16
37
catkin config --extend "/opt/ros/noetic"
17
38
catkin config --merge-devel
18
39
```
19
40
20
- Pull in dependencies using rosinstall / rosdep
41
+ For dependencies that do not have binaries available, pull them in using rosinstall.
21
42
```
22
43
wstool init src src/terrain-navigation/dependencies.rosinstall
23
44
wstool update -t src -j4
45
+ ```
46
+
47
+ For dependencies available through binaries, use rosdep.
48
+ This package depends on [ GDAL] ( https://gdal.org/index.html ) to read georeferenced images and GeoTIFF files.
49
+ ```
24
50
rosdep update
25
- rosdep install --from-paths src --ignore-src -y --rosdistro noetic
51
+ source /opt/ros/noetic/setup.bash
52
+ rosdep install --from-paths src --ignore-src -y
26
53
```
27
54
28
55
Build the package
@@ -32,6 +59,7 @@ catkin build -j$(nproc) -l$(nproc) terrain_navigation_ros
32
59
```
33
60
34
61
## Running with PX4 SITL(Software-In-The-Loop)
62
+
35
63
To setup PX4, clone the [ ETHZ ASL PX4 autopilot project] ( https://github.com/ethz-asl/ethzasl_fw_px4/tree/pr-hinwil-testing )
36
64
The setup instructions can be found in the [ documentation] ( https://docs.px4.io/main/en/dev_setup/dev_env_linux_ubuntu.html )
37
65
0 commit comments