ifm3d_core repository

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

No packages found.

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

No packages found.

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

No packages found.

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ifm3d_core 0.18.0

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ifm3d_core 0.18.0

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ifm3d_core 0.18.0

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

No packages found.

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ifm3d_core 0.18.0

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.18.0
Last Updated 2020-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ifm3d_core 0.18.0

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Build (Ubuntu) Build (Windows)

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.18.0 1.6.2114, 1.23.1522, 1.23.1522, 1.23.2848, 1.30.4123, 1.30.5309 1.0.122, 1.0.126, 1.0.156 16.04,18.04,20.04 Expanded support matrix for platforms/archs/firmwares

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Snap Application

ifm3d

The ifm3d command line utility and viewer tool are available as a snap in the Snapcraft application store. Snapcraft supports most major Linux distributions. The storefront page for ifm3d is: https://snapcraft.io/ifm3d

To install the package on a snapd enabled system:

$ sudo snap install ifm3d

After installation, the commands ifm3d and ifm3d.viewer should be available.

NOTE: This option is a convenient way to install and update tools and utilities for working with ifm Cameras. This option is not suitable for developers hoping to target the ifm3d API and shared libraries. Developers should opt for standard debian packages, or building from source.

Ubuntu Linux via Apt (amd64/arm64)

We provide apt repositories for the following Ubuntu Linux distributions and architectures:

Ubuntu 16.04 Xenial Ubuntu 18.04 Melodic Ubuntu 20.04 Focal
amd64 X X X
arm64 X X X

Add the repository to your sources.list:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_ubuntu_$(lsb_release -sc)_$(dpkg --print-architecture) $(lsb_release -sc) main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

Linux for Tegra

Linux for Tegra is an NVIDIA Linux distribution for the Jetson family of GPU SoC systems. NVIDIA distributes a software package called JetPack with various utilities and libraries optimized for the target hardware. There are a few pakages which override the core Ubuntu packages (OpenCV as the primary example). We provide alternate apt repositories for ifm3d built on top of the JetPack libraries rather than the Ubuntu libraries.

Add one of the following repositories based on your desired JetPack/L4T release:

Jetpack 4.4:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_4_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Jetpack 4.3:

$ sudo sh -c 'echo "deb https://nexus.ifm.com/repository/ifm-robotics_l4t_jetpack_4_3_arm64 melodic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Add the public key for the repository:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install the software:

$ sudo apt-get update
$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python3 \
                       ifm3d-pcl-viewer \

ROS/ROS2

For users interested in using our ROS bindings, ifm3d and ifm3d-ros are both available in the ROS distribution for Kinetic and Melodic (Noetic coming shortly).

$ sudo apt install ros-kinetic-ifm3d

or

$ sudo apt install ros-melodic-ifm3d

For users interested in using our ROS2 bindings, binaries will be included (starting with dashing) very soon. For now, packages must be built from source. Do not use the debian mirror for ifm3d since (depending on version) ROS2 ships parallel versions of some core libraries (OpenCV, PCL) as compared with standard Ubuntu. ifm3d must be built against the proper dependencies.

Windows

Pre-built binaries are not yet available. For now we recommend manually compiling for the target MSVC/SDK versions according to the building on windows instructions.

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor we recommend either the Snapcraft option discussed above, or Docker containers.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.

Repository Summary

Checkout URI https://github.com/ifm/ifm3d
VCS Type git
VCS Version v0.17.0
Last Updated 2019-10-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ifm3d_core 0.17.0

README

ifm3d

Library and utilities for working with ifm pmd-based 3D ToF Cameras.

Current Revision

ifm3d version Supported O3D Firmware Version Supported O3X Firmware Version Supported Ubuntu Linux Version Notes
0.17.0 1.6.2114, 1.8.769, 1.20.1138, 1.23.1506, 1.23.1522, 1.23.2848, 1.25.4073, 1.30.4123 1.0.111, 1.0.122, 1.0.126 16.04,18.04 Bugfixes and removed FrameGrabberUdp module

A full software compatibility matrix, including older releases, is available here.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module Name Description
camera Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
image Provides a bridge from raw camera bytes to OpenCV and PCL image encodings.
opencv This is an officially supported and alternate data container to the default Image module. This module provides a bridge from raw camera bytes to OpenCV image encodings without any dependence upon PCL.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools 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.
pybind11 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.

As of version 0.9.0, we have removed the viewer sub-command from the ifm3d command line tool (part of the tools module). The objective was to lessen the dependencies for the core library. However, a clone of the pre-0.9.0 viewer is available in its own repository: ifm3d-pcl-viewer.

Installing the Software

Binaries for ifm3d are available on a few supported platforms. Instructions for each now follow.

Linux

Configure the ifm apt server

We are currently supporting binaries for the two most recent LTS releases of Ubuntu Linux. The first step in installation is to set up your computer to accept software from ifm's apt server. The apt repository you want to point to will depend on your version of Ubuntu and whether or not you plan to utilize the ifm3d ROS bindings. Please follow the instructions appropriate for your machine below:

Ubuntu 16.04, no ROS
$ sudo sh -c 'echo "deb [arch=amd64] https://nexus.ifm.com/repository/ifm-robotics_ubuntu_xenial_amd64 xenial main" > /etc/apt/sources.list.d/ifm-robotics.list'

Ubuntu 18.04, no ROS
$ sudo sh -c 'echo "deb [arch=amd64] https://nexus.ifm.com/repository/ifm-robotics_ubuntu_bionic_amd64 bionic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Ubuntu 16.04, ROS Kinetic
$ sudo sh -c 'echo "deb [arch=amd64] https://nexus.ifm.com/repository/ifm-robotics_ubuntu_xenial_amd64_ros xenial main" > /etc/apt/sources.list.d/ifm-robotics.list'

Ubuntu 18.04, ROS Melodic
$ sudo sh -c 'echo "deb [arch=amd64] https://nexus.ifm.com/repository/ifm-robotics_ubuntu_bionic_amd64_ros bionic main" > /etc/apt/sources.list.d/ifm-robotics.list'

Set up your keys

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 8AB59D3A2BD7B692

Install

Update your package index:

$ sudo apt-get update

Install the software:

$ sudo apt-get install ifm3d-camera \
                       ifm3d-framegrabber \
                       ifm3d-swupdater \
                       ifm3d-image \
                       ifm3d-opencv \
                       ifm3d-pcicclient \
                       ifm3d-tools \
                       ifm3d-python \
                       ifm3d-python3

If you are on a non-ROS platform, you can also install the default non-ROS visualizer. If you are running ROS, we assume you will use rviz.

$ sudo apt-get install ifm3d-pcl-viewer

For ROS users, at this time, you still need to build the ROS node from source. Those instructions are located at the ifm3d-ros project page. The instructions above will simply install the core ifm3d sensor interface and tools, linked properly against libraries in your ROS environment.

Windows

Coming soon...

Other platforms

If you are running on a platform we did not mention above, the links below will assist you in building from source code. Alternatively, if you are simply looking to do a quick evaluation of an ifm3d supported sensor, you can try one of our experimental (as of this writing) Docker containers. We have options for both ROS and non-ROS users. More information is located here.

Additional Resources

Known Issues, Bugs, and our TODO list

Please see the Github Issue Tracker.

LICENSE

Please see the file called LICENSE.

CONTRIBUTING

No CONTRIBUTING.md found.