Photogrammetry

In our work, we used photogrammetry to create 3D models automatically from real world objects. The whole photogrammetry process was automated including the acquisition process. A Robot Arm along with a Nixon camera was used to build a Model Acquisition Bot (MAB). Also a third party photogrammetry software Meshroom was integrated with the Bot to automate the photogrammetry process.

Model Acquisition Bot (MAB)

MAB is a bot to automatically create a 3D model of an object which was previously put on the turntable in a specific photogrammetry environment.

Fig.1 - Control components for the Model Acquisition Bot (MAB).

The whole setup is split into several parts as seen above. These parts are the robot, a camera, a computer running ROS + Python + gPhoto2, a computer running CUDA + Python + Meshroom and a web browser to access the graphical user interface. It is also possible to use one computer only that runs ROS + Python + gPhoto2 + CUDA + Meshroom, which in our case was not possible as the robot we were using required to have a real time linux kernel for which CUDA is not working.
The acquisition machine is controlling the camera and the robot using ROS and gPhoto2. The images taken by the camera are being transfered to the acquisition machine which then sends the images to the photogrammetry machine. The photogrammetry machine uses these images as input for Meshroom to create a 3D model. Both, the acquisition and photogrammetry machines, are running a webserver that can be accessed from any web browser to start the acquisition and photogrammetry processes.

Acquisition

For setup and usage instructions on the model acquisition - https://github.com/code-iai/iai_mab_control/blob/main/README_acquisition.md

Photogrammetry