- Much of the code in the contained submodules is based on the information [Erdal Pekel's Blog](https://erdalpekel.de/). **Thanks, Erdal!**
- 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
The repository contains submodules that mustalso be cloned
instructions further below in this document. Please note that the setup for Windows and Mac OS systems uses X11 forwarding and thus
- as a guest: `git clone --recurse-submodules https://git-st.inf.tu-dresden.de/ceti/ros/mpm4cps2020.git workspace`
offers limited graphics performance.
- 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:
## Running the use case
- 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.
### 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
### Running the use case with docker-compose
- Run `./docker-run.sh roslaunch sample_applications sample_simple_simulation.launch` to build and run a docker image tagged with `ceti-panda-gazebo-workspace`
### 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
## Requirements for development
- Ubuntu 18.4
- Ubuntu 18.4
- ROS Melodic
- 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)