Using multiple kinects
rgbd-multikinect. You need to plug each Kinect on a different usb hub. You can set the number of connected devices with the
—numdevicesflag. Then you can switch between different devices using the number keys, or the
- A calibration file can be set for each device using e.g.
—calibration calibration_dirto set the directory where the calibration files are located. The file should be named
calibration-SERIAL.ymlwhere SERIAL is the serial number of the corresponding camera. It is recommended to initialize these files first by running the program and using “File/Save calibration parameters” to create default files.
To calibrate the extrinsics of each Kinect, you can:
- Put a checkerboard in front of the camera. If it can be seen from all the cameras, then simply click on “Refine with checkboard” to estimate the extrinsics.
- Use the 3D view and check calibration mode to manually move the current view until it matches the reference one.
- Once you’re close to a good alignment, the “Refine with ICP” button can help to finalize the registration.
- Another option is to use the
calibrate-multiple-kinectsprogram. You will first need to grab images of checkerboards seen by both cameras using uncalibrated
rgbd-multikinect. Then you can call the calibration program with, e.g.:
./calibrate-multiple-kinects grab0 grab1 calibration-SERIAL1.yml calibration-SERIAL2.yml --pattern-size 0.025
grab1 are the directories containing the grabbed checkboards.
grab0 correspond to the reference camera, and
grab1 to the Kinect whose extrinsics will be computed.
calibration-SERIAL2.yml are the calibration files containing the intrinsics of each Kinect (see above to obtain them).
—pattern-size is the same as in the calibration section. If calibration is successful, a
calibration_multikinect.yml file will be generated, containing the computed
T_extrinsics matrices, respectively the 3D rotation matrix and the 3D translation vector of the second camera w.r.t. the first one.
This file can then be fed to
rgbd-multikinect by overwriting
calibration-SERIAL2.yml with the generated file.
- Note: PCL support is required by this demo.