-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'release1.1.0' into 'master'
Update to ifm3d 1.2.6 See merge request syntron/support/csr/ifm3d/ifm3d-ros!28
- Loading branch information
Showing
36 changed files
with
1,535 additions
and
1,122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,53 @@ | ||
#editor temp/backup files | ||
*~ | ||
*.swp | ||
|
||
## VSCode and Python | ||
.DS_Store | ||
.huskyrc.json | ||
out | ||
log.log | ||
**/node_modules | ||
*.pyc | ||
*.vsix | ||
**/.vscode/.ropeproject/** | ||
**/testFiles/**/.cache/** | ||
*.noseids | ||
.nyc_output | ||
.vscode-test | ||
__pycache__ | ||
npm-debug.log | ||
**/.mypy_cache/** | ||
!yarn.lock | ||
coverage/ | ||
cucumber-report.json | ||
**/.vscode-test/** | ||
**/.vscode test/** | ||
**/.vscode-smoke/** | ||
**/.venv*/ | ||
port.txt | ||
precommit.hook | ||
pythonFiles/lib/** | ||
debug_coverage*/** | ||
languageServer/** | ||
languageServer.*/** | ||
bin/** | ||
obj/** | ||
.pytest_cache | ||
tmp/** | ||
.python-version | ||
.vs/ | ||
test-results*.xml | ||
xunit-test-results.xml | ||
build/ci/performance/performance-results.json | ||
!build/ | ||
debug*.log | ||
debugpy*.log | ||
pydevd*.log | ||
nodeLanguageServer/** | ||
nodeLanguageServer.*/** | ||
dist/** | ||
# translation files | ||
*.xlf | ||
package.nls.*.json | ||
l10n/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Release notes ifm3d-ros | ||
|
||
## Dependent software and firmware release notes and changelogs | ||
+ ifm3d-ros: For changes between on the ifm3d-ros node source code, please see the respective information in the [CHANGELOG](CHANGELOG.rst). | ||
+ ifm3d: For changes between on the ifm3d API source code, please see the respective information in the [ifm3d CHANGELOG](https://github.com/ifm/ifm3d/blob/main/ChangeLog.md). | ||
+ O3R firmware: For changes between on the different FW versions, please see the respective information in the [FW release notes](https://ifm3d.com/documentation/Firmware/index.html). | ||
|
||
|
||
|
||
## ifm3d-ros 1.1 | ||
The ifm3d-ros node version 1.1 depends on ifm3d API 1.2.6, as can be seen in the [compatibility matrix](README.md#software-compatibility-matrix). | ||
|
||
Between ifm3d API version 0.93 and 1.1 the internal handling of the amplitude and distance image and the point cloud has changed: The previously automatically applied masking based on the confidence image is no longer applied. As a result, more image pixels are displayed as valid pixels. | ||
If you want to apply a binary mapping to these images, use the confidence image as provided in the ROS node and apply the mask `confidence&1` for backward compatibility. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
############################################# | ||
# Copyright 2023-present ifm electronic, gmbh | ||
# SPDX-License-Identifier: Apache-2.0 | ||
############################################# | ||
ARG BASE_IMAGE | ||
ARG BUILD_IMAGE_TAG | ||
ARG FINAL_IMAGE_TAG | ||
FROM ${BASE_IMAGE}:${BUILD_IMAGE_TAG} AS build | ||
ARG IFM3D_VERSION | ||
ARG IFM3D_ROS_REPO | ||
ARG IFM3D_ROS_BRANCH | ||
ARG ARCH | ||
ARG UBUNTU_VERSION | ||
|
||
# Create the ifm user | ||
RUN id ifm 2>/dev/null || useradd --uid 30000 --create-home -s /bin/bash -U ifm | ||
WORKDIR /home/ifm | ||
|
||
# Dependencies for both ifm3d and ifm3d-ros2 | ||
ARG DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update && apt-get install -y \ | ||
git \ | ||
jq \ | ||
libxmlrpc-c++8-dev \ | ||
libproj-dev \ | ||
build-essential \ | ||
coreutils \ | ||
cmake \ | ||
wget \ | ||
libssl-dev \ | ||
libgoogle-glog-dev \ | ||
libgoogle-glog0v5 \ | ||
python3-rosdep | ||
|
||
# Install ifm3d using the deb files | ||
RUN mkdir /home/ifm/ifm3d | ||
ADD https://github.com/ifm/ifm3d/releases/download/v${IFM3D_VERSION}/ifm3d-ubuntu-${UBUNTU_VERSION}-${ARCH}-debs_${IFM3D_VERSION}.tar /home/ifm/ifm3d | ||
RUN cd /home/ifm/ifm3d &&\ | ||
tar -xf ifm3d-ubuntu-${UBUNTU_VERSION}-${ARCH}-debs_${IFM3D_VERSION}.tar && \ | ||
dpkg -i *.deb | ||
|
||
# Clone and build ifm3d-ros repo | ||
SHELL ["/bin/bash", "-c"] | ||
# RUN mkdir -p /home/ifm/catkin_ws/src && \ | ||
# cd /home/ifm/catkin_ws/src && \ | ||
# git clone ${IFM3D_ROS_REPO} -b ${IFM3D_ROS_BRANCH} --single-branch | ||
ADD . /home/ifm/catkin_ws/src | ||
RUN cd /home/ifm/catkin_ws && \ | ||
rosdep update --rosdistro=${ROS_DISTRO} && \ | ||
rosdep install --from-path src -y --ignore-src | ||
|
||
RUN cd /home/ifm/catkin_ws && \ | ||
source /opt/ros/${ROS_DISTRO}/setup.bash && \ | ||
catkin_make | ||
|
||
# Multistage build to reduce image size | ||
ARG BASE_IMAGE | ||
FROM ${BASE_IMAGE}:${FINAL_IMAGE_TAG} | ||
# Copy files built in previous stage | ||
COPY --from=build /home/ifm/catkin_ws /home/ifm/catkin_ws | ||
COPY --from=build /home/ifm/ifm3d/*.deb /home/ifm/ifm3d/ | ||
WORKDIR /home/ifm | ||
|
||
# Install ifm3d and ifm3d-ros2 runtime dependencies | ||
ARG DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends \ | ||
libxmlrpc-c++8v5 \ | ||
locales \ | ||
sudo \ | ||
libssl-dev \ | ||
libgoogle-glog0v5 \ | ||
libboost-all-dev \ | ||
python3-rosdep \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Install ifm3d | ||
RUN cd /home/ifm/ifm3d &&\ | ||
dpkg -i *.deb | ||
|
||
RUN cd /home/ifm/catkin_ws && \ | ||
apt-get update && \ | ||
rosdep init && \ | ||
rosdep update --rosdistro=${ROS_DISTRO} && \ | ||
rosdep install --from-path src -y --ignore-src | ||
|
||
# Setup localisation | ||
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ | ||
locale-gen en_US.UTF-8 && \ | ||
/usr/sbin/update-locale LANG=en_US.UTF-8 | ||
|
||
ENV LANG en_US.UTF-8 | ||
ENV LANGUAGE en_US:en | ||
ENV LC_ALL en_US.UTF-8 | ||
|
||
# NOTE: Make sure to run export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
############################################# | ||
# Copyright 2023-present ifm electronic, gmbh | ||
# SPDX-License-Identifier: Apache-2.0 | ||
############################################# | ||
|
||
ARG BASE_IMAGE | ||
ARG BUILD_IMAGE_TAG | ||
ARG FINAL_IMAGE_TAG | ||
FROM ${BASE_IMAGE}:${BUILD_IMAGE_TAG} AS build | ||
ARG IFM3D_VERSION | ||
ARG IFM3D_ROS_REPO | ||
ARG IFM3D_ROS_BRANCH | ||
ARG ARCH | ||
ARG UBUNTU_VERSION | ||
|
||
# Create the ifm user | ||
RUN id ifm 2>/dev/null || useradd --uid 30000 --create-home -s /bin/bash -U ifm | ||
WORKDIR /home/ifm | ||
|
||
# Dependencies for both ifm3d and ifm3d-ros2 | ||
ARG DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update && apt-get install -y \ | ||
git \ | ||
jq \ | ||
libxmlrpc-c++8-dev \ | ||
libproj-dev \ | ||
libcurl4 \ | ||
libgoogle-glog-dev \ | ||
libgoogle-glog0v5 \ | ||
build-essential \ | ||
coreutils \ | ||
cmake \ | ||
wget \ | ||
libssl-dev \ | ||
python3-rosdep | ||
|
||
# Install ifm3d using the deb files | ||
RUN mkdir /home/ifm/ifm3d | ||
ADD https://github.com/ifm/ifm3d/releases/download/v${IFM3D_VERSION}/ifm3d-ubuntu-${UBUNTU_VERSION}-${ARCH}-debs_${IFM3D_VERSION}.tar /home/ifm/ifm3d | ||
RUN cd /home/ifm/ifm3d &&\ | ||
tar -xf ifm3d-ubuntu-${UBUNTU_VERSION}-${ARCH}-debs_${IFM3D_VERSION}.tar && \ | ||
dpkg -i *.deb | ||
|
||
SHELL ["/bin/bash", "-c"] | ||
# Manually install ifm3d-ros additional ROS packages: based on noetic-ros-core base image | ||
RUN apt-get update && apt-get install -y \ | ||
ros-noetic-tf2-ros \ | ||
ros-noetic-tf \ | ||
ros-noetic-image-transport | ||
|
||
ADD . /home/ifm/catkin_ws/src | ||
|
||
RUN cd /home/ifm/catkin_ws && \ | ||
source /opt/ros/${ROS_DISTRO}/setup.bash && \ | ||
catkin_make --only-pkg-with-deps ifm3d_ros_msgs | ||
|
||
RUN cd /home/ifm/catkin_ws && \ | ||
source /opt/ros/${ROS_DISTRO}/setup.bash && \ | ||
catkin_make --only-pkg-with-deps ifm3d-ros |
Oops, something went wrong.