- Much of the code in the contained submodules is based on the information [Erdal Pekel's Blog](https://erdalpekel.de/). **Thanks, Erdal!**
- The state outside of the master branch must be considered as "work-in-progress". Only the master branch is stable here.
- Currently, only very simple use cases are contained here. We will gradually update the code. Watch this space!
- The examples only work when *all* projects in this workspace are checked out.
## Docker
## Cloning the repository
To quickly run the graphical example applications, you can use Docker. For development purposes, please use the regular installation
instructions further below in this document. Please note that the setup for Windows and Mac OS systems uses X11 forwarding and thus
offers limited graphics performance.
The repository contains submodules that mustalso be cloned
- as a guest: `git clone --recurse-submodules https://git-st.inf.tu-dresden.de/ceti/ros/mpm4cps2020.git workspace`
- as a project member with a registered ssh key: `git clone --recurse-submodules git@git-st.inf.tu-dresden.de:ceti/ros/mpm4cps.git workspace`
- Clone this repo and its submodules:
- as a guest: `git clone --recurse-submodules https://git-st.inf.tu-dresden.de/ceti/ros-interal/panda_gazebo_workspace.git panda_gazebo_workspace`
- as a project member with a registered ssh key: `git clone --recurse-submodules git@git-st.inf.tu-dresden.de:ceti/ros-interal/panda_gazebo_workspace.git panda_gazebo_workspace`
- Follow the steps for your operating system.
## Running the use case
### Linux
The use case can be executed directly (with all requirements installed) or using docker-compose.
Additionally, a combination of both approaches is also possible.
- Install Docker for your linux distribution
- Run `./docker-run.sh roslaunch sample_applications sample_simple_simulation.launch` to build and run a docker image tagged with `ceti-panda-gazebo-workspace`
### Running the use case with docker-compose
### Windows 10
To quickly run the demo, you can use *docker-compose*.
Since the use case includes X11 GUI applications, currently only Linux is supported.
- Install [Docker Desktop for Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
- Run `docker-run.bat roslaunch sample_applications sample_simple_simulation.launch`
### Mac OS
### Running the use case directly
- Install [Docker Destop for Mac OS](https://hub.docker.com/editions/community/docker-ce-desktop-mac)
- Install [XQuartz](https://www.xquartz.org/). Enable the `Allow connections from network clients` setting in the preferences (`Security` Tab).
- Run `docker-run-mac.sh roslaunch sample_applications sample_simple_simulation.launch`
## Requirements for development
- Ubuntu 18.4
- ROS Melodic
## Installation
- There are two ways to install, using git submodules or by cloning the required ros packages individually.
-**Either** clone this repo and its submodules (recommended for fresh installations):
- as a guest: `git clone --recurse-submodules https://git-st.inf.tu-dresden.de/ceti/ros/panda_gazebo_workspace.git panda_gazebo_workspace`
- as a project member with a registered ssh key: `git clone --recurse-submodules git@git-st.inf.tu-dresden.de:ceti/ros/panda_gazebo_workspace.git panda_gazebo_workspace`
- change into the workspace `cd panda_gazebo_workspace`
-**Or** clone the provided packages individually (recommended for existing ROS workspaces or if you do not understand or like submodules)
- if you do not have a catkin workspace yet, create one `mkdir -p panda_gazebo_workspace/src`
- change into a `src` directory of a catkin workspace, e.g. with `cd panda_gazebo_workspace/src`
- clone the four provided packages into the `src` directory (use https if you are not registered or do not have configured an ssh key yet)