Skip to content

Main repository hosting the main AR software developed for Augmented Carpentry rersearch at Ibois, Epfl.

License

Notifications You must be signed in to change notification settings

ibois-epfl/augmented-carpentry

Repository files navigation

Augmented Carpentry

Donwnload the repo first:

git clone https://github.com/ibois-epfl/augmented-carpentry.git
git submodule sync
git pull --recurse-submodules

System dependecies

AC needs some local libraries already installed before compilation with cmake.

Before start you will need many dependencies but the largest will be opencv 4.5.5. Be sure to have installed this version in your local system.

Next we need glm dependencies and libraries:

sudo apt-get -y install libmpfr-dev libboost-dev libgoogle-glog-dev \
                        freeglut3-dev libglew-dev libglfw3 libglfw3-dev \
                        git-lfs libassimp-dev libglm-dev libimgui-dev \
                        libcgal-dev

For tbb and opencv you will also need these:

sudo apt -y install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python3-dev python3-numpy \
    libtbb2 libtbb-dev libdc1394-dev libopenexr-dev \
    libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev 

For the video recorder you will need opencv too and ffmpeg

sudo apt -y install ffmpeg

Next you need to pull the PyTorch dependency with the Large File System in git, to do this:

cd deps/TTool
git lfs pull

Build

Time to build.. If you are deploying on a touch monitor set the flag -DDEPLOY_ON_TOUCH=ON, you can config:

cd augmented-carpentry
cmake -S . -B build
cmake --build build

To run the code:

./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.

Set touch monitor

The prototype is tested on a touch screen 7inch HDMI LCD (B) (WaveShare WS170120) and a laptop running Ubuntu 20/22.04 LTS. 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 ./

[MonitorSpecs]
monitor_name = WaveShare WS170120
monitor_link_t = HDMI
monitor_resolution = 800x480

For wayland display server. WARNING: Wayland display and touchscreen are not compatible yet as the touchscreen register for the main display and not the small display.

[MonitorSpecs]
LinkMode = XWAYLAND1
Name = Virtual core pointer
Resolution = 800x480

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_TOUCH in the CMakeLists.txt:


STag PDFs

Stags are prepared in PDFs batches of ~150 stripes. You can find them here. They are made to be print as stickers. The code to generate them can be found here.