Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 25 additions & 24 deletions docs/Getting-Started.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,27 @@ You should see an output similar to this:
If you do not, there may have been an issue installing catkin. To resolve this, run the following command and try the version check command again:

```bash
sudo apt-get install ros-kinetic-catkin python-catkin-tools
sudo apt-get install ros-melodic-catkin python-catkin-tools python-rosdep
```

Since ROS was not previously installed, initialize `rosdep` as well.
```bash
sudo rosdep init
rosdep update
```

### Create the workspaces

#### Cartographer workspace
#### Third Party Packages

In your home directory, make the cartographer workspace directory
In your home directory, make the third party packages workspace directory

```bash
cd ~/
mkdir cartographer_ws
mkdir propbot_3pp_ws
```

#### Propbot workspace
#### Propbot

In your home directory, make the `propbot` workspace directory

Expand All @@ -84,33 +90,28 @@ cd src
git clone https://github.com/hannahvsawiuk/PropBot.git
```

### Build an Optimized Google Cartographer for ROS

Now that ROS has been installed, we need to start by building Google Cartographer for our application. Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.

**Cartographer documentation:**
### Build Third Party Packages

- General information: https://google-cartographer.readthedocs.io/en/latest/
- Integration with ROS: https://google-cartographer-ros.readthedocs.io/en/latest/
Now that ROS has been installed, we need to start by building the third party packages.

#### Run the custom Cartographer setup script
#### Setup the workspace

The script to setup the custom version of Cartographer is in `vehicle_autonomy/scripts`. To run the setup for the `cartographer_ws`, run the following command:
The script to setup the workspace is in `scripts`. To run the setup:

```bash
~/propbot_ws/src/PropBot/vehicle_autonomy/scripts/setup_cartographer_build.sh ~/cartographer_ws
~/propbot_ws/src/PropBot/scripts/setup_third_party_build.sh ~/propbot_3pp_ws
```

If everything runs smoothly, you should see the following when the process finishes

![cartographer_setup](graphics/cartographer_setup_success.png)

#### Build the Cartographer workspace
#### Build

Run the following to initialize and build the workspace

```bash
cd ~/cartographer_ws
cd ~/propbot_3pp_ws
catkin build
```

Expand All @@ -120,19 +121,19 @@ This will take some time (up to **30 minutes**), so please be patient. If the bu

### Setup the Propbot Workspace

Now that the custom Cartographer version has been built, it will be extended with the Propbot packages.
Now that the third party packages has been built, it will be extended with the Propbot packages.

#### Make Propbot an extension of Cartographer
#### Make Propbot an extension of Third Party

To initialize the workspace and indicate that `propbot_ws` will be an extension of `cartographer_ws`, run the following commands
To initialize the workspace and indicate that `propbot_ws` will be an extension of `propbot_3pp_ws`, run the following commands

```bash
cd ~/propbot_ws
catkin init
catkin config --extend ../cartographer_ws/devel
catkin config --extend ../propbot_3pp_ws/devel
```

The `--extend` argument explicitly sets the workspace you want to extend. In this case, we want the packages in propbot to extend the custom cartographer setup.
The `--extend` argument explicitly sets the workspace you want to extend. In this case, we want the packages in propbot to extend the third party packages.

For more information on `catkin config`, see here: https://catkin-tools.readthedocs.io/en/latest/verbs/catkin_config.html

Expand All @@ -144,15 +145,15 @@ To ensure that everything runs smoothly, the dependencies specified by the Propb

```bash
cd ~/propbot_ws
rosdep install --from-paths src --ignore-src
rosdep install --from-paths ~/propbot_3pp_ws/src src --ignore-src -y
```

**Alternative Distros**
If you are not using Ubuntu, the `--os` argument is needed, e.g. `--os=ubuntu:bionic`:

```bash
cd ~/propbot_ws
rosdep install --os=<distro info> --from-paths src --ignore-src
rosdep install --os=<distro info> --from-paths ~/propbot_3pp_ws/src src --ignore-src -y
```

##### A note on rosdep
Expand Down