Automatic Ensenso N10 extrinsic calibration

Submitted by Victor Lamoine, Institut Maupertuis

The Ensenso N10 is an industrial 3D sensor using two cameras and the stereo-vision principle. One interesting feature is that the sensors works in infrared wavelengths and an IR projector projects a random pattern to allow scanning uniform surfaces (where the stereo-correspondence would fail otherwise).

I integrated the Ensenso N10 in the Point Cloud Library (1.8.0 version, not yet released), and you can find a tutorial here. The PCL EnsensoGrabber API is available here. This camera is very easy to use yet not very fast (only 4 FPS through PCL !) because of an unknown reason (it should be much faster).

I have made a package allowing fully automatic extrinsic calibration of the sensor mounted on a robot. It should be easy to change the robot and the setup (eg: fixed camera): https://github.com/InstitutMaupertuis/ensensoextrinsiccalibration

The extrinsic calibration relies on Ensenso SDK internals; there is no dependency on the industrial_calibration package.

So if you plan on using such a camera on a robot, it should be very easy with this package! Don't hesitate to leave a message here or on the issue tracker if you have problems understanding how it works, making it work...

Update from Victor (Nov. 19):

I did not choose the EnsensoSDK over the industrial_calibration package.

In fact I began to work with the EnsensoSDK calibration in early 2014, at that time I didn't even know about ROS-Industrial!

So I just wanted to go to the simplest solution for the Ensenso and use my work (PCL integration of the Ensenso) to automatically calibrate the sensor.

I have began working (well.. understanding first!!) with the industrial_calibration package because I want to calibrate the David SLS-2 on the robot (and their SDK does not provide any calibration procedure).

So in short, the next package will be sls_2_extrinsic_calibration and it will depend on industrial_calibration.