augmented-carpentry
Main repository hosting the main AR software developed for Augmented Carpentry rersearch at Ibois, Epfl.
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Main repository hosting the main AR software developed for Augmented Carpentry rersearch at Ibois, Epfl.
Basic Info
- Host: GitHub
- Owner: ibois-epfl
- License: gpl-3.0
- Language: C++
- Default Branch: main
- Homepage: https://ibois-epfl.github.io/augmented-carpentry/
- Size: 989 MB
Statistics
- Stars: 12
- Watchers: 3
- Forks: 1
- Open Issues: 12
- Releases: 8
Topics
Metadata Files
README.md
This is the repo containing the necessary code to run the Augmented Carpentry (AC) software. This is a research thesis project from the Laboratory of Timber Constructions (IBOIS) at the Swiss Federal Institute of Technology in Lausanne (EPFL). It is an Augmented Reality (AR) application that helps operators to integrate ordinary tools (e.g. power drills, circular saws and chainsaws) into digitally guided woodworking to obtain live computed feedback. The aim is to suppress 2D execution drawings and markings and empower the worker with precise and real-time guidance to replicate even a complex digital designs with manual tools. Here's a capture from the AC system in action. Visit the documentation for more info and instructions, here:
Computing unit, interface and sensors
AC works on x64 machines running on Ubuntu 22.04 LTS and a simple monocular camera. For a quick start, you can use a laptop and your webcam. If you want to build on a touch screen, you can use the WaveShare WS170120 and follow the instructions below:
To config the touch screen on the pc follow these steps first. Be sure to switch the display on, plug the mini-USB and finally plug the HDMI cable.
Set the display properties in the config.ini properties (to find them run the commands xinput for the name and xrandr for the connection type).
The following specs works on the X11 display server. If you are using wayland and wanting to switch to X11 follow this link.
c++
[MonitorSpecs]
monitor_name = WaveShare WS170120
monitor_link_t = HDMI
monitor_resolution = 1280 x 720
[!IMPORTANT] You can use any other touch screen, just make sure to set the correct specs in the
config.inifile.[!WARNING] Wayland display and touchscreen are not compatible yet as the touchscreen register for the main display and not the small display.
c++ [MonitorSpecs] LinkMode = XWAYLAND1 Name = Virtual core pointer Resolution = 1280 x 720[!TIP] You can build AC with the touch screen or on a non-touch screen. To do so set ON or OFF the CMake option
DEPLOY_ON_TOUCHlater when configuring the build:cmake -S . -B build -DDEPLOY_ON_TOUCH=ON.
Wood working tools
AC is designed to be machine independent, it is only dependent on the toolheads (e.g.: drill bits, circular saw blades and chainsaw boards). You can find a list of the available toolheads here. If you want to add your own, open a Pull Request to the repo TTool and follow the Wiki.
Stickers
The last thing you need is a set of STags. These are the markers that help the camera understand its position and orientation to the timber beam. You can find them as 450 stripes for a total of 21149 tags are available in batches of 50 stripes with an A0 format, ready to print (better as stickers) and can be downloaded here. They are made to be print as stickers, but if you want to generate your own you can find a script here.
Quickstart
Software Requirements
AC is build and tested for UNIX x64 machines running on Ubuntu 22.04 LTS. It does not exploit GPU acceleration and can run on a laptop or a desktop. The software is built with C++.
First refresh the package list and install the necessary dependencies:
bash
apt-get -qq update && apt-get -qq -y install g++ cmake git git-lfs
And here's the dependecies for the project:
bash
apt-get -qq update && apt-get -qq -y install \
wget \
curl \
unzip \
xvfb \
freeglut3-dev \
libfreetype-dev \
libassimp-dev \
libboost-all-dev \
libeigen3-dev \
libglew-dev \
libglfw3-dev \
libglm-dev \
libgmp-dev \
libgoogle-glog-dev \
libmpfr-dev \
libimgui-dev \
libopencv-dev
3 Build & Run
Donwnload the repo first:
bash
git clone --recurse-submodules https://github.com/ibois-epfl/augmented-carpentry.git
AC can be built either on a touch screen or on a non-touch screen like your laptop.
Time to build.. If you are deploying on a touch monitor set the flag -DDEPLOY_ON_TOUCH=ON, you can config:
bash
cd augmented-carpentry
cmake -S . -B build
cmake --build build
To run the code:
bash
./build/bin/AC
While running the code, make sure that config.ini and assets/ exists in the current directory. If errors related to config present, please reconfigure the config.ini by copy-pasting the content from /assets/default_config.ini.
That's it your are running Augmented Carpentry!
4 How to use
Follow our online documentation to learn how to use the AC.
How to cite
To cite the software follow the following BibTeX entry:
bibtex
@software{AugmentedCarpentrySoftware2024,
title = {{Augmented Carpentry Software}},
author = {Andrea Settimi, Hong-Bin Yang, Naravich Chutisilp, Nazgul Zholmagambetova, Florian Aymanns, Edward And and Nicolas Richart},
year = {2024},
doi = {10.5281/zenodo.14191429},
url = {https://github.com/ibois-epfl/augmented-carpentry}
}
or the associated Zenodo DOI:
To cite the research follow the the BibTeX entry linked to the publication:
bibtex
incoming
Disclaimer
This software is provided "as-is" as a prototype, without any warranties, express or implied, including but not limited to fitness for a particular purpose or non-infringement. The user assumes full responsibility for the use of the software, and we are not liable for any damages, losses, or misuse arising from its use. By using this software, you agree to these terms.
Owner
- Name: Laboratory for Timber Constructions IBOIS, EPFL
- Login: ibois-epfl
- Kind: organization
- Location: Switzerland
- Repositories: 10
- Profile: https://github.com/ibois-epfl
CodeMeta (codemeta.json)
{
"@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
"@type": "Code",
"author": [
{
"@id": "0000-0001-5020-7331",
"@type": "Person",
"email": "andrea.settimi@epfl.ch",
"name": "Andrea Settimi",
"affiliation": "IBOIS EPFL"
},
{
"@id": "0000-0001-8422-5263",
"@type": "Person",
"email": "hong-bin.yang@epfl.ch",
"name": "Hong-Bin Yang",
"affiliation": "IBOIS EPFL"
},
{
"@type": "Person",
"email": "naravich.chutisilp@epfl.ch",
"name": "Naravich Chutsilp",
"affiliation": "IBOIS EPFL"
},
{
"@type": "Person",
"email": "nicolas,richard@epfl.ch",
"name": "Nicolas Richard",
"affiliation": "EPFL"
}
],
"identifier": "https://zenodo.org/records/14191429",
"codeRepository": "https://github.com/ibois-epfl/augmented-carpentry",
"datePublished": "2024-12-19",
"dateModified": "2024-12-19",
"dateCreated": "2024-12-19",
"description": "AugmentedCarpentryEngine (ACEngine) is a lightweight and fast-developing UNIX C++ engine for prototyping AR applications leveraging bleeding-edge robotic vision research for digital fabrication. Here an example of its adoption for Augmented Carpentry: a AR-based assistant for digital wood-working with manual tools. It features a modular layer-stack flow, a geometry framework for managing 3D objects, a computed feedback system for visual guidance, and an AR rendering system for synthesizing digital instructions into a simple monocular camera feed.",
"keywords": "augmented reality, engine, digital fabrication, c++, opengl, geometry framework, computer vision, robotic vision",
"license": "GPL v3.0",
"title": "Augmented Carpentry Engine (ACEngine)",
"version": "v1.0.0"
}
GitHub Events
Total
- Create event: 401
- Issues event: 10
- Release event: 2
- Watch event: 11
- Delete event: 384
- Issue comment event: 2
- Member event: 3
- Push event: 648
- Pull request review event: 1
- Pull request event: 769
Last Year
- Create event: 401
- Issues event: 10
- Release event: 2
- Watch event: 11
- Delete event: 384
- Issue comment event: 2
- Member event: 3
- Push event: 648
- Pull request review event: 1
- Pull request event: 769
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 6
- Total pull requests: 1
- Average time to close issues: 3 days
- Average time to close pull requests: about 1 month
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 6
- Pull requests: 1
- Average time to close issues: 3 days
- Average time to close pull requests: about 1 month
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- github-actions[bot] (7)
- 9and3 (6)
- Petingo (3)
Pull Request Authors
- github-actions[bot] (403)
- 9and3 (5)
- Petingo (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 18 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
pypi.org: augmented-carpentry-py
AugmentedCarpentryPy for the Augmented Carpentry research at IBOIS, EPFL.
- Homepage: https://github.com/ibois-epfl/augmented-carpentry
- Documentation: https://augmented-carpentry-py.readthedocs.io/
- License: MIT License
-
Latest release: 1.0.0
published 10 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- rhysd/changelog-from-release/action v3 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- conda-incubator/setup-miniconda v2 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/upload-artifact v4 composite
- openjournals/openjournals-draft-action master composite
- NuGet/setup-nuget v1.0.5 composite
- actions/checkout v2 composite
- actions/upload-artifact v2 composite
- compas-dev/compas-actions.ghpython_components v5 composite
- actions/checkout v3 composite
- actions/checkout v4 composite
- actions/upload-artifact v3 composite
- docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
- actions/checkout v3 composite
- actions/checkout v4 composite
- actions/upload-artifact v3 composite
- docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
- pip
- python 3.9.2.*