|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Plugins
Recent questions tagged ifm3d_ros2 at Robotics Stack Exchange
|
ifm3d_ros2 package from ifm3d-ros2 repoifm3d_ros2 |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.1.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | ifm pmd-based 3D ToF Camera ROS2 Package |
| Checkout URI | https://github.com/ifm/ifm3d-ros2.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2025-10-24 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ifm Robotics Support
Authors
- ifm Robotics Support
ifm3d-ros2 overview
This documentation is formatted to be read on www.ros2.ifm3d.com.
:::{note} This release is intended to be used with the O3R camera platform ONLY. For other ifm cameras (e.g. O3D3xx and O3X1xx) please see the tagged releases 0.3.0 and 0.7.0 respectively. :::
ifm3d-ros2 is a wrapper around ifm3d enabling the usage of ifm O3R camera platform from within ROS 2 software systems.
As of version 1.2.0, ifm3d_ros2 also supports the Obstacle Detection Solution (ODS). Refer to the ODS documentation for more details on this application.

Software Compatibility Matrix
ifm3d_ros2 version |
ifm3d version | O3R firmware version | ROS 2 distribution | Comment |
|---|---|---|---|---|
| 1.3.0 | 1.6.12 | 1.20.29, 1.21.6 | Jazzy, Humble | Enhanced diagnostics, ODS polar grid, uncompressed images, additional image types |
| 1.2.0 | 1.4.3 and 1.5.3 | 1.4.30 and 1.10.13 | Jazzy, Humble | Added support for ODS applications |
Note: The version numbers listed above for the ifm3d API or the O3R firmware versions are the ones explicitly tested. Any other version might work but is not officially supported.
Changelog
For a complete list of changes, refer to the changelog.
Known Issues
-
Cross-compilation limitations: The
build_container.shscript may encounter issues when cross-compiling from AMD64 to ARM architectures. For ARM-based deployments, we recommend building directly on the target ARM platform or using ARM-compatible build environments. A fix for this issue is being developed and will be included in the next patch release.
Deprecated ifm3d-ros2 versions
The following versions are deprecated and no longer supported.
ifm3d_ros2 version |
ifm3d version | ROS 2 distribution |
|---|---|---|
| 1.1.0 DEPRECATED | 1.0.14 | Humble |
| 1.0.1 DEPRECATED | 0.93.0 | Galactic, Foxy |
| 1.0.0 DEPRECATED | 0.92.0 | Galactic |
| 0.3.0 DEPRECATED | 0.17.0 | Dashing, Eloquent |
| 0.2.0 DEPRECATED | 0.12.0 | Dashing |
| 0.1.1 DEPRECATED | 0.12.0 | Dashing |
| 0.1.0 DEPRECATED | 0.12.0 | Dashing |
LICENSE
Please see the file called LICENSE.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package ifm3d-ros2 \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ 1.3 ===
1.3.0
- Update for compatibility with O3R FW >= 1.20.29 and ifm3d >=
1.6.12
- Tested with FW 1.20.29 and ifm3d API 1.6.12
- Tested with FW 1.21.6 and ifm3d API 1.6.12
- Add support for diagnostics severity:
- The diagnostics message level will depend on the severity of the diagnostic message.
- Add support for the extrinsic calibration correction buffer:
- The extrinsic calibration correction buffer is published on the ["~/ods_extrinsics_calibration_correction"]{.title-ref} topic.
- Add support for the polar occupancy grid buffer:
- The polar occupancy grid is published on the ["~/ods_polar_occupancy_grid"]{.title-ref} topic.
- Fixed an issue with the published intrinsic parameters to the [camera_info]{.title-ref} topic.
- Added an option to publish uncompressed images.
- Added publication of reflectivity and distance noise
1.2
1.2.0
- Create an ODS node to publish ODS data:
- The launch file [ods.launch.py]{.title-ref} can be used,
- Add two topics, ["~/ods_info"]{.title-ref} and ["~/ods_occupancy_map_ros"]{.title-ref},
- An example launch configuration for ODS is provided [ods_default_parameters.yaml]{.title-ref} and can be used with the launch file,
- It is expected that ODS is configured before the node is launched. Alternatively, one can use the new [config_file]{.title-ref} parameter.
- Remove the [diag_mode]{.title-ref} parameter: diagnostic is always polled periodically and published to ["/diagnostic"]{.title-ref}
- Add the [GetDiag]{.title-ref} service for polling filtered diagnostic data.
- Camera info topic:
- Add a ["~/camera_info"]{.title-ref} topic for RGB cameras.
- The ["~/camera_info"]{.title-ref} topic for the TOF cameras is published when the [TOF_INFO]{.title-ref} buffer is requested, instead of the [INTRINSIC]{.title-ref} buffer.
- Add a [config_file]{.title-ref} parameter. It should be formatted in JSON and will be used to configure the device when the [CONFIGURE]{.title-ref} state is triggered.
- * Transforms:
-
- The [cloud_link]{.title-ref} was renamed to [ifm_base_link]{.title-ref}, and is used as the reference ifm calibrated coordinate system for all ifm data (RGB, 3D and ODS).
- The transforms between the [cloud_link]{.title-ref} (now [ifm_base_link]{.title-ref}), and the [mounting_link]{.title-ref} and [optical_link]{.title-ref} are fixed.
- The [mounting_link]{.title-ref} to [optical_link]{.title-ref} transform is read when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and remains constant.
- The [ifm_base_link]{.title-ref} to [mounting_link]{.title-ref} transform is published once when the first [TOF_INFO]{.title-ref} or [RGB_INFO]{.title-ref} buffer is received, and is only re-published subsequently if changed.
- The camera node parameters related to tf publication got
reworked, the new parameters are:
- `tf.base_frame_name`: Name for ifm reference frame
| * `tf.mounting_frame_name`: Name for the mounting point frame | * `tf.optical_frame_name`: Name for the optical frame | * `tf.publish_base_to_mounting`: Whether the transform from the ifm base link to the camera mounting point should be published | * `tf.publish_mounting_to_optical`: Whether the transform from the cameras mounting point to the optical center should be published
1.1
1.1.0 (unreleased preparations for FW 1.4 release) ------------------* Update for compatibility with O3R FW 1.4.x and ifm3d >= 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.4.3 * Tested with FW 1.4.22 and ifm3d API 1.5.3
1.1.0
- Update for compatibility with O3R FW >= 1.0.14 and ifm3d >= 1.2.6
- Using ifm3d::O3R instead of ifm3d::Device to access camera
- Added [buffer_id_list]{.title-ref} param to define which data to get from the device and consequently which topics to publish. Maps to ifm3d [buffer_id]{.title-ref}.
- Remove the need to use cyclonedds: TODO: verification
- Remove dependency to Boost library
- Include Dockerfile and helper scripts:
- Dockerfile for building the ROS2 node inside a Docker container
- Helper build and launch scripts for ROS Docker images
- Adds docker-compose example files for launching the ROS node on a O3R edge device: VPU
- Moved Publishers into node namespace: This matches the ifm3d-ros2
File truncated at 100 lines see the full file