ifm3d Overview
Library and utilities for working with ifm pmd-based 3D ToF Perception devices. Compatible with the O3R, O3D and O3X platforms.
This library is available in Python, C++, and has wrappers for ROS and ROS2.
C++ API Reference
Python API Reference
Comprehensive documentation is available on ifm3d.com.
3D cloud |
Distance |
RGB |
---|---|---|
Released Versions
⚠️ Note that the main
branch is generally in a work in progress state and you probably want to use a
tagged release version for production.
⚠️ Note that O3D and O3X support is currently experimental- Use at your own risk!.
For a full compatibility matrix between the ifm3d library, the O3R firmware and the Vision Assistant GUI, please refer to the compatibility matrix on ifm3d.com.
Supported languages
ifm3d is a C++ based library, with a Python wrapper mirroring the available features. We support the following versions of these two languages:
Name |
Versions |
---|---|
Python |
3.8, 3.9, 3.10, 3.11 |
C++ |
GCC 7.5+, MSVC 2019+ |
Organization of the Software
The ifm3d software is organized into modules, they are:
Module name |
Description |
---|---|
|
Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings. |
|
Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition. |
|
Provides utilities for managing the |
|
Direct access to PCIC to, for example, actuate digital IO. |
|
Provides the ifm3d command line tool for manipulating and introspecting the hardware interactively. It is also suitable for usage within shell scripts to, for example, manage fleets of cameras. |
|
Provides Python bindings through pybind11 to the native C++ API. Supports all general camera functionality as well as a zero-copy interface to image data, exposed as NumPy arrays. |
|
Provides definitions and functions for deserializing structs sent over PCIC. |
Supported docker containers
Docker containers are available for the ifm3d library, both on GHCR and on the dockerhub. You can pull them with:
docker pull ghcr.io/ifm/ifm3d:stable
OR
docker pull ifmrobotics/ifm3d:stable
Note that we provide 2 tags, stable always points to the latest tagged version, and latest is built nightly with the latest changes on the main branch. The latest tag is typically a work in progress.
For more details on the available containers, see here.
For more details on docker and the O3R platform see here.
Report a bug and check the known issues
Please see the GitHub Issue Tracker, or contact support.robotics@ifm.com
.
LICENSE
Please see the LICENSE file.