Industry Ready PHRI: A Control Framework for Physical Human-Robot Interaction Toward Industrial Applications
This repository contains the complete code base used in the paper:
"Demonstrating a Control Framework for Physical Human-Robot Interaction Toward Industrial Applications"
This work presents a novel control framework for physical human-robot interaction (PHRI) aimed at industrial applications. The repository is built on a modified version of the mc-rtc-superbuild infrastructure. It has been adapted to automatically install all required dependencies and build the code necessary for the controller used to perform the experiments and results described in the paper.
For more details, please visit the project website:
https://industry-ready-phri.github.io/
This superbuild repository will:
- Install all required system dependencies.
- Clone and configure all necessary project repositories.
- Build and install the projects in a consistent and reproducible manner.
By using this repository, you can reproduce the experiments from the paper, test modifications, or extend the framework for your own research.
- CMake ≥ 3.20
Download CMake - Git
Download Git - Build Tools (e.g.,
build-essential
on Debian/Ubuntu) - Operating System: Tested on Linux (Debian/Ubuntu) and macOS
(For Windows users, Visual Studio 2019 or later is required.)
git clone https://github.com/yourusername/industry-ready-phri.git
Navigate to the cloned repository’s superbuild folder:
cd industry-ready-phri/mc-rtc-superbuild
Then run the bootstrap script to install system dependencies:
- On Debian-like systems:
./utils/bootstrap-linux.sh
- On macOS:
./utils/bootstrap-macos.sh
Configure the superbuild by specifying where the source code should be cloned and where the build files will be generated. For example:
cmake -S . -B build \
-DSOURCE_DESTINATION=${HOME}/devel/src \
-DBUILD_DESTINATION=${HOME}/devel/build \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
Then, build the complete project:
cmake --build build --config RelWithDebInfo
After a successful build, the projects built by the superbuild are ready for use. You can:
- Run experiments: Launch simulation or control applications as described in the paper.
- Rebuild projects: If you modify the source, simply rebuild using:
cmake --build build --config RelWithDebInfo
- Clone repositories separately: To clone all repositories without building immediately, use:
cmake --build build --config RelWithDebInfo --target clone
To update all the cloned repositories with the latest changes, run:
cmake --build build --config RelWithDebInfo --target update
Or update a specific project (e.g., mc_rtc):
cmake --build build --config RelWithDebInfo --target update-mc_rtc
For updating the superbuild itself along with any extensions:
cmake --build build --config RelWithDebInfo --target self-update
If you need to remove the installed projects, you can uninstall everything at once:
cmake --build build --target uninstall
(Note: You might need sudo if the installation prefix requires elevated privileges.)
This code base is designed to be flexible. You can extend the framework by:
- Adding new projects via the main CMakeLists.txt (look for PERSONAL_PROJECTS).
- Creating new extensions under the extensions folder.
- Modifying or adding CMake options to suit specific experimental setups.
For further details on how to extend the superbuild, please refer to the original mc-rtc-superbuild documentation.
If you use this code in your research, please cite the paper as follows:
For any questions or issues, please open an issue in this repository or contact [bastien.muraccioli@aist.go.jp] or [mathieu.celerier@aist.go.jp].
This modified README now serves as a self-contained guide for reproducing the work associated with the paper, while maintaining the original superbuild functionality. Adjust paths, URLs, and other details as appropriate for your repository and project requirements.