![test](https://mygit.th-deg.de/roboct/robo_quality/gitlab-profile/-/raw/main/resources/rq_workflow.svg?inline=false)

# RoboQuality Project

Main repo for the RoboQuality project. Every workpackages is organized in an own repository and added as submodules to this main repository. 

## Development Installation

1. Clone repo. Check if all submodules are downloaded to the `src` folder recursivly:

```shell
git clone --recurse-submodules https://mygit.th-deg.de/roboct/robo_quality/rq_workflow
``` 

2. Install ROS2 Humble (LTS version):   
https://docs.ros.org/en/rolling/Releases/Release-Humble-Hawksbill.html 
3. Sources ROS2:

- Ubuntu:
```bash
source /opt/ros/humble/setup.bash
```
- Win / powershell:

```shell
C:\dev\ros2_humble\setup.ps1
```

5. Build the modules. Use the following command from the main folder of this repo:   
```shell
colcon build --merge-install
```
6. Launch all or single modules.

### Folder Structure (after building)


```
.  
├── build                    # Builded packages ...
│   ├── ...  
├── install                  # Local workspace ...
│   ├── local_setup.bash  
│   ├── ...  
├── log                      # Build and node logs ...
│   ├── ...  
├── src                      # Submodules
│   ├── rq_controller  
│   ├── rq_ddetection  
│   ├── rq_hardware  
│   ├── rq_interfaces
│   ├── rq_reconstruction  
│   ├── ros2_numpy_win       # (forked git module for win installation)
│   └── rq_trajectory  
└── README.md  

```

## Packages Overview

| Submodule          | Describtion                                   |  Link                                                                      |
|--------------------|-----------------------------------------------|----------------------------------------------------------------------------|
| `Controller`       |  Workflow controller. Holds all information.  | [rq_controller](https://mygit.th-deg.de/roboct/robo_quality/rq_controller) |
| `Defect Detection` |  Defect detection module                      | [rq_ddetection](https://mygit.th-deg.de/roboct/robo_quality/rq_ddetection) |
| `Hardware`         |  Interface to real / simulated system         | [rq_hardware](https://mygit.th-deg.de/roboct/robo_quality/rq_hardware)     |
| `Trajectory`       |  CT-Trajectory optimization                   | [rq_trajectory](https://mygit.th-deg.de/roboct/robo_quality/rq_trajectory) |
| `Reconstruction`   |  CT-Reconstruction node                       | [rq_reconstruction](https://mygit.th-deg.de/roboct/robo_quality/rq_reconstruction) |
| `Interfaces`       |  project intern interfaces for all msg / srv. | [rq_interfaces](https://mygit.th-deg.de/roboct/robo_quality/rq_interfaces) |