https://github.com/prbonn/ipb_workspace
An empty default workspace for development inside IPB lab
https://github.com/prbonn/ipb_workspace
Last synced: 16 days ago
JSON representation
An empty default workspace for development inside IPB lab
- Host: GitHub
- URL: https://github.com/prbonn/ipb_workspace
- Owner: PRBonn
- Created: 2018-03-01T12:18:21.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-12-17T12:35:17.000Z (about 7 years ago)
- Last Synced: 2024-12-29T15:27:22.404Z (about 1 year ago)
- Homepage:
- Size: 21.5 KB
- Stars: 3
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IPB workspace #
[](https://travis-ci.org/PRBonn/ipb_workspace)
This is a catkin workspace for you to clone when you want to develop with or
without ROS (but with catkin). We use `pipenv` to have a control over the
dependencies.
# How to set up your workspace #
Follow these steps to setup a new empty workspace.
## 1. Check prerequisites ##
We make use of python virtual environtments by using
[pipenv](https://github.com/pypa/pipenv) that makes using virual environments
easy. All the other prerequisites will be taken care of by `pipenv`. See the configuration file of the virtual environment here: [`Pipfile`](Pipfile).
```bash
# Install pipenv if needed.
pip install --user pipenv
```
## 2. Decide if you want to use ROS ##
### Yep, give me ROS! ###
```bash
# If you want to use ROS make sure to source its setup script:
source /opt/ros/melodic/setup.sh
```
### Nope, I don't want ROS! ###
```bash
# Run this to make sure we don't extend a ROS workspace.
CMAKE_PREFIX_PATH=""
```
## 3. Get the workspace and build it ##
```bash
# Make sure you use --recursive as we need to check out submodules.
git clone --recursive https://github.com/PRBonn/ipb_workspace.git
cd ipb_workspace
# We use a pipenv that ensures you have correct dependencies.
# Here we install the dependencies and run the virtual environment.
pipenv install
pipenv shell
# Build the empty workspace.
catkin build
```
The workspace contains the `catkin` package as a submodule, which is needed for
building workspaces with `catkin_tools`. If you did not use `--recursive` flag when pulling this package, make sure to explicitly checkout the submodule by running
```bash
git submodule update --init
```
# How to use the workspace #
Once you have set up this workspace, copy any project of yours into the `src/`
folder and build it with `catkin build` command.
We rely on
[catkin_tools](https://catkin-tools.readthedocs.io/en/latest/installing.html). It should be installed automatically while you are setting up your virtual environment.
If your project depends on other projects that can be checked out with git, you
can use a `fetch` verb of `catkin` from the package
[catkin_tools_fetch][fetch-github]. It will also be installed automatically
during the virtual environment setup. See its Guthub page for more details.
[fetch-github]: https://github.com/PRBonn/catkin_tools_fetch