Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 20.04 and CI Dockerfiles #515

Merged
merged 77 commits into from
May 3, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
eca0446
camera_validator: Use ApproximateTimeSynchronizer
mintar Nov 5, 2019
ef81bb9
camera_validator: Add support for bgra8 encoding
mintar Nov 5, 2019
7131102
camera_validator: Fix thread getting stuck (empty windows)
mintar Nov 5, 2019
fc62fc7
Fix off-by-one error in kalibr_visualize_distortion
mintar May 4, 2020
9ad32bd
set correct python 3 version
christian-rauch Dec 15, 2020
05f7895
port to OpenCV 4 API
christian-rauch Dec 15, 2020
12ac183
place 'gettid' in namespace to prevent name clash with definition in …
christian-rauch Dec 15, 2020
a738e03
replace deprecated NPY_CHAR with NPY_STRING
christian-rauch Dec 15, 2020
4d1cfd7
ignore 'fpermissive' warnings
christian-rauch Dec 15, 2020
c681ade
port to python3
christian-rauch Dec 15, 2020
9875387
Upgrade minimum CMake version to 3.0.2 to avoid author warning
wxmerkt Mar 30, 2021
85918d4
[python_module] Fix location of target file
wxmerkt Mar 30, 2021
e789d48
[numpy_eigen] Upgrade to Eigen3
wxmerkt Mar 30, 2021
41bac10
[numpy_eigen] Fix for new NumPy API & Python 3
wxmerkt Mar 30, 2021
198d308
Remove use of cmake_modules for Eigen
wxmerkt Mar 30, 2021
77ecd93
[suitesparse] Use jobserver but do not define number of jobs
wxmerkt Mar 30, 2021
e7dda6e
Set CMAKE_CXX_STANDARD to 14, remove add_definitions
wxmerkt Mar 30, 2021
dcd156c
Add -Wno-deprecated-copy for now
wxmerkt Mar 30, 2021
a5e813e
Fix deprecation
wxmerkt Mar 30, 2021
aa92df7
Eigen include fixes
wxmerkt Mar 30, 2021
023d930
Remove unused local typedefs, unused variables
wxmerkt Mar 30, 2021
645d540
[opencv2_catkin] Use STATUS message to avoid stderr out
wxmerkt Mar 30, 2021
8fa6e00
[ethz_apriltag2] Remove eigen2, add v4l dependency
wxmerkt Mar 30, 2021
8a4784c
Minor formatting + CMake fixes
wxmerkt Mar 30, 2021
9e5ca83
Fix rosdep keys
wxmerkt Mar 30, 2021
cb3e719
[kalibr] Use catkin_install_python
wxmerkt Mar 30, 2021
e18cfcd
Fix issues detected by CI
wxmerkt Mar 30, 2021
25ddca6
[kalibr] First set of 2to3 conversion
wxmerkt Mar 30, 2021
f01b778
Fix local imports
wxmerkt Mar 30, 2021
f36b58b
More 2to3 fixes
wxmerkt Mar 30, 2021
f8551d6
[sm_python] Update Wx backend for new version
wxmerkt Mar 30, 2021
2d1a7ef
[sm_python] Upgrade to package format 3, specify wxtools dependency f…
wxmerkt Mar 30, 2021
4507cac
[kalibr] Runtime fix
wxmerkt Mar 30, 2021
dc3a6ca
[numpy_eigen] Fix copy_routines
wxmerkt Mar 30, 2021
216988c
[kalibr] More runtime fixes
wxmerkt Mar 30, 2021
8e06353
[aslam_cv_python] Do not expose isValid as it breaks compilation
wxmerkt Mar 30, 2021
8abe74e
[kalibr] Remaining runtime fixes
wxmerkt Mar 30, 2021
58b571c
Merge remote-tracking branch 'upstream/master' into noetic-devel
wxmerkt Mar 30, 2021
8fb3488
[sm_python] Fix wx deprecation
wxmerkt Mar 30, 2021
4be1ef0
Remove double bracketed print
wxmerkt Mar 30, 2021
1501d65
[kalibr] Remove two more double bracketed print statements
wxmerkt Mar 30, 2021
a7fc7a5
Upgrade SuiteSparse to system-provided library & upgrade from v4 to v5
wxmerkt Mar 30, 2021
4cbd21f
Address packaging issues identified by buildserver
wxmerkt Mar 30, 2021
4f3038f
Buildsystem fixes. Deactivated a few broken unittests.
wxmerkt Apr 1, 2021
3365e39
[numpy_eigen] Fix test issues
wxmerkt Apr 1, 2021
6d6b922
[kalibr] Fix unmatched brackets
wxmerkt Apr 1, 2021
dc88017
[aslam_cameras_april] Link fix
wxmerkt Apr 1, 2021
f339880
[CI] Add buildserver
wxmerkt Apr 1, 2021
8087bbe
Update README with 20.04 instructions
wxmerkt Apr 1, 2021
fd5384b
minor fixes in python interpreter
Apr 6, 2021
26883a7
[kalibr] Fix issues with IMU calibration
wxmerkt Apr 6, 2021
e4bdc44
add support for all the bayes patterns
May 19, 2021
7d4b0e9
fix python numpy integer conversion
May 19, 2021
89bcf8d
fix single cam graph connection (fix #364)
goldbattle Apr 19, 2022
8fa15b2
Add docker file for 20.04
goldbattle Apr 19, 2022
c2c3cab
correct path generation for result files (before could not specify a …
goldbattle Apr 19, 2022
8d74cb8
docker github ci
goldbattle Apr 19, 2022
8761165
docker github ci
goldbattle Apr 19, 2022
bb638ff
changes for python 2.x to compile, and 16.04 kinetic and 18.04 melodi…
goldbattle Apr 19, 2022
a992efa
add clearer comment on adhesion issue from PR #358
goldbattle Apr 22, 2022
b954573
git ignore jetbrain editor files
goldbattle May 2, 2022
ee6b0e6
Remove importing PIL not compatible with sensor messages
stefangachter May 28, 2019
a4eb023
fix warning, and fix not opening imu csv file in text mode (bagcreator)
goldbattle May 2, 2022
7b97ecc
don't use byte mode for writing strings to file (bagextractor)
goldbattle May 2, 2022
f7d42fd
Update kalibr_camera_focus
nkhedekar Sep 27, 2019
438f754
Fixed azimuthal/azumithal typos and gave better control to the user o…
Oct 16, 2019
8c66088
remove temp instructions from readme
goldbattle May 2, 2022
c04c6e9
fix destroyAllWindows call
goldbattle May 3, 2022
76908bd
Merge branch 'validator' into dockerfile
goldbattle May 3, 2022
dc43f1e
small fix to ensure coords are ints
goldbattle May 3, 2022
80cfc5b
fixes for multi-cam validator, don't recreate windows to allow for re…
goldbattle May 3, 2022
354d9b5
fix yaml formatting in newer PyYAML versions, and don't wrap lines
goldbattle May 3, 2022
df701e4
specify threads more clearly
goldbattle May 3, 2022
2973a89
use original IccSensors filename
goldbattle May 3, 2022
a91448a
for now disable the industrial ci since we have dockers now
goldbattle May 3, 2022
73df2a3
split builds so we can have seperate status badges
goldbattle May 3, 2022
b933194
Added missing if blocks in sparse_block_matrix/sparse_helper.h
goldbattle May 3, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/docker_1604_build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "ROS1 Ubuntu 16.04"

on:
push:
branches: [ master, dockerfile ]
pull_request:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/
- name: Build Docker
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
docker build -t kalibr -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros1_16_04 .

23 changes: 23 additions & 0 deletions .github/workflows/docker_1804_build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "ROS1 Ubuntu 18.04"

on:
push:
branches: [ master, dockerfile ]
pull_request:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/
- name: Build Docker
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
docker build -t kalibr -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros1_18_04 .

23 changes: 23 additions & 0 deletions .github/workflows/docker_2004_build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "ROS1 Ubuntu 20.04"

on:
push:
branches: [ master, dockerfile ]
pull_request:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/
- name: Build Docker
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
docker build -t kalibr -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros1_20_04 .

26 changes: 26 additions & 0 deletions .github/workflows/industrial_ci_action.yml.disable
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: CI

# This determines when this workflow is run
on: [push, pull_request] # on all pushes and PRs

jobs:
CI:
strategy:
matrix:
env:
- {ROS_DISTRO: melodic}
- {ROS_DISTRO: noetic}
env:
CCACHE_DIR: /github/home/.ccache # Enable ccache
NOT_TEST_BUILD: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# This step will fetch/store the directory used by ccache before/after the ci run
- uses: actions/cache@v2
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
# Run industrial_ci
- uses: 'ros-industrial/industrial_ci@master'
env: ${{ matrix.env }}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,9 @@ CMakeLists.txt.user

# MacOS Desktop Services Store
.DS_Store

# Jetbrains Clion
cmake-build-*
.idea
build
Build
56 changes: 56 additions & 0 deletions Dockerfile_ros1_16_04
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
FROM osrf/ros:kinetic-desktop-full


# Dependencies we use, catkin tools is very good build system
# https://github.com/ethz-asl/kalibr/wiki/installation
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
apt-get install -y \
git wget autoconf automake \
python2.7-dev python-pip python-scipy python-matplotlib \
ipython python-wxgtk3.0 python-tk python-igraph \
libeigen3-dev libboost-all-dev libsuitesparse-dev \
doxygen \
libopencv-dev \
libpoco-dev libtbb-dev libblas-dev liblapack-dev libv4l-dev \
python-catkin-tools


# Create the workspace and build kalibr in it
ENV WORKSPACE /catkin_ws

RUN mkdir -p $WORKSPACE/src && \
cd $WORKSPACE && \
catkin init && \
catkin config --extend /opt/ros/kinetic && \
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

ADD . $WORKSPACE/src/kalibr
# RUN cd $WORKSPACE/src &&\
# git clone https://github.com/ori-drs/kalibr.git

RUN cd $WORKSPACE &&\
catkin build -j$(nproc)


# When a user runs a command we will run this code before theirs
# This will allow for using the manual focal length if it fails to init
# https://github.com/ethz-asl/kalibr/pull/346
ENTRYPOINT export KALIBR_MANUAL_FOCAL_LENGTH_INIT=1 && \
# /bin/bash -c "source \"$WORKSPACE/devel/setup.bash\"" && \
cd $WORKSPACE && \
/bin/bash















50 changes: 50 additions & 0 deletions Dockerfile_ros1_18_04
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
FROM osrf/ros:melodic-desktop-full


# Dependencies we use, catkin tools is very good build system
# https://github.com/ethz-asl/kalibr/wiki/installation
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
apt-get install -y \
git wget autoconf automake nano \
python3-dev python-pip python-scipy python-matplotlib \
ipython python-wxgtk4.0 python-tk python-igraph \
libeigen3-dev libboost-all-dev libsuitesparse-dev \
doxygen \
libopencv-dev \
libpoco-dev libtbb-dev libblas-dev liblapack-dev libv4l-dev \
python-catkin-tools


# Create the workspace and build kalibr in it
ENV WORKSPACE /catkin_ws

RUN mkdir -p $WORKSPACE/src && \
cd $WORKSPACE && \
catkin init && \
catkin config --extend /opt/ros/melodic && \
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

ADD . $WORKSPACE/src/kalibr
# RUN cd $WORKSPACE/src &&\
# git clone https://github.com/ori-drs/kalibr.git

RUN cd $WORKSPACE &&\
catkin build -j$(nproc)


# When a user runs a command we will run this code before theirs
# This will allow for using the manual focal length if it fails to init
# https://github.com/ethz-asl/kalibr/pull/346
ENTRYPOINT export KALIBR_MANUAL_FOCAL_LENGTH_INIT=1 && \
# /bin/bash -c "source \"$WORKSPACE/devel/setup.bash\"" && \
cd $WORKSPACE && \
/bin/bash









46 changes: 46 additions & 0 deletions Dockerfile_ros1_20_04
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
FROM osrf/ros:noetic-desktop-full


# Dependencies we use, catkin tools is very good build system
# https://github.com/ethz-asl/kalibr/wiki/installation
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
apt-get install -y \
git wget autoconf automake nano \
python3-dev python3-pip python3-scipy python3-matplotlib \
ipython3 python3-wxgtk4.0 python3-tk python3-igraph \
libeigen3-dev libboost-all-dev libsuitesparse-dev \
doxygen \
libopencv-dev \
libpoco-dev libtbb-dev libblas-dev liblapack-dev libv4l-dev \
python3-catkin-tools python3-osrf-pycommon


# Create the workspace and build kalibr in it
ENV WORKSPACE /catkin_ws

RUN mkdir -p $WORKSPACE/src && \
cd $WORKSPACE && \
catkin init && \
catkin config --extend /opt/ros/noetic && \
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

ADD . $WORKSPACE/src/kalibr
# RUN cd $WORKSPACE/src &&\
# git clone https://github.com/ori-drs/kalibr.git

RUN cd $WORKSPACE &&\
catkin build -j$(nproc)


# When a user runs a command we will run this code before theirs
# This will allow for using the manual focal length if it fails to init
# https://github.com/ethz-asl/kalibr/pull/346
ENTRYPOINT export KALIBR_MANUAL_FOCAL_LENGTH_INIT=1 && \
# /bin/bash -c "source \"$WORKSPACE/devel/setup.bash\"" && \
cd $WORKSPACE && \
/bin/bash





4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![Kalibr](https://raw.githubusercontent.com/wiki/ethz-asl/kalibr/images/kalibr_small.png)

*Ubuntu 14.04+ROS indigo*: [![Build Status](https://jenkins.asl.ethz.ch/buildStatus/icon?job=kalibr_weekly/label=ubuntu-trusty)](https://jenkins.asl.ethz.ch/job/kalibr_weekly/label=ubuntu-trusty/) *Ubuntu 16.04+ROS kinetic*: [![Build Status](https://jenkins.asl.ethz.ch/buildStatus/icon?job=kalibr_weekly/label=ubuntu-trusty)](https://jenkins.asl.ethz.ch/job/kalibr_weekly/label=ubuntu-xenial/)
<!--*Ubuntu 14.04+ROS indigo*: [![Build Status](https://jenkins.asl.ethz.ch/buildStatus/icon?job=kalibr_weekly/label=ubuntu-trusty)](https://jenkins.asl.ethz.ch/job/kalibr_weekly/label=ubuntu-trusty/) *Ubuntu 16.04+ROS kinetic*: [![Build Status](https://jenkins.asl.ethz.ch/buildStatus/icon?job=kalibr_weekly/label=ubuntu-trusty)](https://jenkins.asl.ethz.ch/job/kalibr_weekly/label=ubuntu-xenial/)-->

## Introduction
Kalibr is a toolbox that solves the following calibration problems:
Expand All @@ -17,6 +17,8 @@ Kalibr is a toolbox that solves the following calibration problems:

**For questions or comments, please open an issue on Github.**



## Tutorial: IMU-camera calibration
A video tutorial for the IMU-camera calibration can be found here:

Expand Down
44 changes: 34 additions & 10 deletions Schweizer-Messer/numpy_eigen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(numpy_eigen)

find_package(catkin REQUIRED COMPONENTS cmake_modules python_module)
include_directories(${catkin_INCLUDE_DIRS})
set(CMAKE_CXX_STANDARD 14)

find_package(catkin REQUIRED COMPONENTS python_module)
find_package(Boost REQUIRED COMPONENTS system)
find_package(Eigen REQUIRED)
find_package(Eigen3 REQUIRED)

catkin_python_setup()

add_definitions(${EIGEN_DEFINITIONS})
include_directories(include ${Eigen_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS})
include_directories(include ${EIGEN3_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS})
include_directories("${PROJECT_SOURCE_DIR}/include/numpy_eigen")

catkin_package(
INCLUDE_DIRS include ${catkin_INCLUDE_DIRS}
INCLUDE_DIRS include ${catkin_INCLUDE_DIRS}
LIBRARIES ${PROJECT_NAME}
DEPENDS
DEPENDS Boost
CFG_EXTRAS numpy_eigen-extras.cmake
)
add_definitions(-std=c++0x -D__STRICT_ANSI__)
add_definitions(-D__STRICT_ANSI__)

# ignore "error: return-statement with a value, in function returning ‘void’" in "__multiarray_api.h"
add_compile_options(-fpermissive)

include_directories(include ${Boost_INCLUDE_DIRS})

Expand Down Expand Up @@ -46,8 +51,27 @@ add_python_export_library(${PROJECT_NAME}_test
## Testing ##
#############
if(CATKIN_ENABLE_TESTING)

## Add nosetest based cpp test target.
catkin_add_nosetests(test/numpy_eigen_tests.py)

endif()

install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

##################
## Installation ##
##################

install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

## Mark cpp header files for installation
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIRS})
Loading