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

Development v2.5 - New Config System, ROS2 support, #209

Merged
merged 60 commits into from
Dec 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
3e1eea2
Added initial classes needed for changing the verbosity level of open…
asyounis Aug 21, 2021
b9d2ee2
Converted all the printf, cout and cerr ouputs into PRINT_X outputs s…
asyounis Aug 21, 2021
7a8136c
Added docs
asyounis Aug 21, 2021
e402b30
Updated required cmake version from 2.8.8 to 3.3 (basically just need…
asyounis Aug 21, 2021
4daba2e
Made ov_eval a shared lib, added install cmake calls so that the libr…
asyounis Aug 21, 2021
8c5b532
Made the installs GNU variables
asyounis Aug 22, 2021
91df83e
Merge branch 'pr_197'
goldbattle Oct 28, 2021
2ab5db9
cleanup print statements, and ov_eval uses ov_core math logic
goldbattle Nov 2, 2021
b88cd54
cleanup simulator to use camera objects
goldbattle Nov 2, 2021
88791f9
Merge branch 'pr_198'
goldbattle Nov 2, 2021
ddb52d9
move to new config system with YAML files
goldbattle Nov 2, 2021
5014973
add mask support back in from yaml and update ironsides yaml to be co…
goldbattle Nov 3, 2021
fc8792c
tune feature tracking to be more spread out, fixed arucotag id logic,…
goldbattle Nov 3, 2021
93f1e4c
uzhfpv update launch, tried to tune config (their imu noises don't wo…
goldbattle Nov 3, 2021
bc2a3c5
added simulation yaml files
goldbattle Nov 8, 2021
8b6c52c
add basic static initalizer to ov_init package
goldbattle Nov 12, 2021
f4f7a10
add logic to also check disparity on static initialization
goldbattle Nov 12, 2021
35708de
no need to marg features behind the anchor pose (can be the case in f…
goldbattle Nov 12, 2021
adc6e04
don't fix gauge freedoms in sim
goldbattle Nov 12, 2021
5f0e8c7
move helper functions into rosviz helper class, switch image publishe…
goldbattle Nov 15, 2021
dd85c8e
initial splitting of cmake into ROS1 and ROS2, support buildin in bot…
goldbattle Nov 15, 2021
9beb92d
fix header define names
goldbattle Nov 15, 2021
e4e17bf
require c++14 to compile (required for ROS2), actually load from ROS2…
goldbattle Nov 15, 2021
35db4fa
switch the sharedptr for nodehandler, move subscriber logic into ROS1…
goldbattle Nov 15, 2021
426e1b4
fixed python build issues
Nov 15, 2021
de7ecc3
small changes
goldbattle Nov 15, 2021
ed60b6c
Merge branch 'develop_v2.4.1' of https://gitlab.sitcore.net/arl/vtd/A…
goldbattle Nov 15, 2021
32eacc7
ROS2 viz class and working simulation
Nov 16, 2021
e51b606
Add subscribers for ROS2 version
goldbattle Nov 16, 2021
7cba87a
update ci file
goldbattle Nov 16, 2021
e507e02
fix sim feature max distance rejection threshold, add option to play …
goldbattle Nov 19, 2021
0324690
untested support for 3x3 matrices in the config
goldbattle Nov 19, 2021
05fc17e
small changes, reduce queue to fix startup delays
goldbattle Nov 19, 2021
0951b74
KAIST dataset configure
WoosikLee2510 Nov 19, 2021
2773819
Merge branch 'develop_v2.4.1' of https://github.com/rpng/open_vins_pr…
WoosikLee2510 Nov 19, 2021
da00bbd
Updated simulation scripts;
ccchu0816 Nov 19, 2021
e05a422
Merge branch 'develop_v2.4.1' of https://github.com/rpng/open_vins_pr…
ccchu0816 Nov 19, 2021
ce63c70
explictly create Camera objects instead of tracking intrinsics, width…
goldbattle Nov 22, 2021
847bbe5
properly downsample cameras, move simulation perturbation logic into …
goldbattle Nov 22, 2021
77fb454
small cleanup
goldbattle Dec 8, 2021
0120411
Modified all the sim scripts. tum_vi and euroc_mav scripts. Downloadi…
Nov 23, 2021
d7f4f75
move config folder to root directory
goldbattle Dec 8, 2021
a4c0f8e
small cleanup
goldbattle Dec 8, 2021
1b7a5c9
ros2 launch file
Dec 8, 2021
41a4f76
update documentation to include ROS 2 install and tutorial
goldbattle Dec 8, 2021
1862fce
some documentation updates
goldbattle Dec 8, 2021
58488e1
fix quat_ops documentation (closes #206)
goldbattle Dec 8, 2021
24bd2e9
cleaned up initialization parameters required
goldbattle Dec 8, 2021
be7a97d
add dockerfiles, and upgrade python cmake logic (requires cmake 3.12 …
goldbattle Dec 8, 2021
ae50186
add instructions for cmake upgrade, move docker to getting started se…
goldbattle Dec 8, 2021
df709fe
formatting
goldbattle Dec 8, 2021
0a90ffb
use better matrix log functions that can handle things near identity
yangyulin Dec 1, 2021
7c863f7
update cmake and .github ci
goldbattle Dec 13, 2021
df93c2b
update .github ci
goldbattle Dec 13, 2021
062125b
more workflows and fix ros-free build
goldbattle Dec 13, 2021
fa0c654
update ros-free ci
goldbattle Dec 13, 2021
323b4df
tf needs to be shared to prevent segfault in ROS2
goldbattle Dec 13, 2021
bb730bd
update ci
goldbattle Dec 13, 2021
42a3a24
update readme [skip ci]
goldbattle Dec 13, 2021
5cdd24e
update readme [skip ci]
goldbattle Dec 13, 2021
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
20 changes: 20 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: ROS Free Workflow

on:
push:
branches: [ master]
pull_request:

jobs:
build:
name: "Ubuntu Latest"
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Configure and Build
run: |
sudo apt-get update && sudo apt-get install -y libeigen3-dev libopencv-dev libboost-all-dev &&
mkdir build && cd build &&
cmake ../ov_msckf/ && make

63 changes: 0 additions & 63 deletions .github/workflows/build_catkin.yml

This file was deleted.

71 changes: 71 additions & 0 deletions .github/workflows/build_ros1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: ROS 1 Workflow

on:
push:
branches: [ master ]
pull_request:

jobs:
build_1604:
name: "ROS1 Ubuntu 16.04"
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace and Docker Image
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/ &&
docker build -t openvins -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros1_16_04 .
- name: Echo Enviroment
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "echo $ROS_DISTRO && echo $ROS_VERSION"
- name: Run Build in Docker
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && catkin build"
- name: Run OpenVINS Simulation!
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && source devel/setup.bash && roslaunch ov_msckf simulation.launch verbosity:=WARNING"
build_1804:
name: "ROS1 Ubuntu 18.04"
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace and Docker Image
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/ &&
docker build -t openvins -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros1_18_04 .
- name: Echo Enviroment
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "echo $ROS_DISTRO && echo $ROS_VERSION"
- name: Run Build in Docker
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && catkin build"
- name: Run OpenVINS Simulation!
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && source devel/setup.bash && roslaunch ov_msckf simulation.launch verbosity:=WARNING"
build_2004:
name: "ROS1 Ubuntu 20.04"
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace and Docker Image
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/ &&
docker build -t openvins -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros1_20_04 .
- name: Echo Enviroment
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "echo $ROS_DISTRO && echo $ROS_VERSION"
- name: Run Build in Docker
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && catkin build"
- name: Run OpenVINS Simulation!
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && source devel/setup.bash && roslaunch ov_msckf simulation.launch verbosity:=WARNING"
51 changes: 51 additions & 0 deletions .github/workflows/build_ros2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: ROS 2 Workflow

on:
push:
branches: [ master ]
pull_request:

jobs:
build_1804:
name: "ROS2 Ubuntu 18.04"
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace and Docker Image
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/ &&
docker build -t openvins -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros2_18_04 .
- name: Echo Enviroment
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "echo $ROS_DISTRO && echo $ROS_VERSION"
- name: Run Build in Docker
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && colcon build"
# THIS SEEMS TO FAIL WITH 245 ERROR, NOT SURE WHY!!!!!
#- name: Run OpenVINS Simulation!
# run: |
# docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && source install/setup.bash && ros2 run ov_msckf run_simulation src/open_vins/config/rpng_sim/estimator_config.yaml"
build_2004:
name: "ROS2 Ubuntu 20.04"
runs-on: ubuntu-latest
steps:
- name: Code Checkout
uses: actions/checkout@v2
- name: Create Workspace and Docker Image
run: |
export REPO=$(basename $GITHUB_REPOSITORY) &&
cd $GITHUB_WORKSPACE/.. && mkdir src/ &&
mv $REPO/ src/ && mkdir $REPO/ && mv src/ $REPO/ && cd $REPO/ &&
docker build -t openvins -f $GITHUB_WORKSPACE/src/$REPO/Dockerfile_ros2_20_04 .
- name: Echo Enviroment
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "echo $ROS_DISTRO && echo $ROS_VERSION"
- name: Run Build in Docker
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && colcon build"
- name: Run OpenVINS Simulation!
run: |
docker run -t --mount type=bind,source=$GITHUB_WORKSPACE,target=/catkin_ws openvins /bin/bash -c "cd /catkin_ws && source install/setup.bash && ros2 run ov_msckf run_simulation src/open_vins/config/rpng_sim/estimator_config.yaml"
6 changes: 0 additions & 6 deletions CMakeLists.txt

This file was deleted.

43 changes: 43 additions & 0 deletions Dockerfile_ros1_16_04
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
FROM osrf/ros:kinetic-desktop-full

# =========================================================
# =========================================================

# Are you are looking for how to use this docker file?
# - https://docs.openvins.com/dev-docker.html
# - https://docs.docker.com/get-started/
# - http://wiki.ros.org/docker/Tutorials/Docker

# =========================================================
# =========================================================

# Dependencies we use, catkin tools is very good build system
# Also some helper utilities for fast in terminal edits (nano etc)
RUN apt-get update && apt-get install -y libeigen3-dev nano git
RUN sudo apt-get install -y python-catkin-tools

# Seems this has Python 2.7 installed on it...
RUN sudo apt-get install -y python2.7-dev python-matplotlib python-numpy python-psutil python-tk

# Install CMake 3.13.5
ADD https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh /cmake-3.13.5-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version

# Install deps needed for clion remote debugging
# https://blog.jetbrains.com/clion/2020/01/using-docker-with-clion/
RUN apt-get update && apt-get install -y ssh build-essential gcc g++ \
gdb clang cmake rsync tar python && apt-get clean
RUN ( \
echo 'LogLevel DEBUG2'; \
echo 'PermitRootLogin yes'; \
echo 'PasswordAuthentication yes'; \
echo 'Subsystem sftp /usr/lib/openssh/sftp-server'; \
) > /etc/ssh/sshd_config_test_clion \
&& mkdir /run/sshd
RUN useradd -m user && yes password | passwd user
RUN usermod -s /bin/bash user
CMD ["/usr/sbin/sshd", "-D", "-e", "-f", "/etc/ssh/sshd_config_test_clion"]

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

# =========================================================
# =========================================================

# Are you are looking for how to use this docker file?
# - https://docs.openvins.com/dev-docker.html
# - https://docs.docker.com/get-started/
# - http://wiki.ros.org/docker/Tutorials/Docker

# =========================================================
# =========================================================

# Dependencies we use, catkin tools is very good build system
# Also some helper utilities for fast in terminal edits (nano etc)
RUN apt-get update && apt-get install -y libeigen3-dev nano git
RUN sudo apt-get install -y python-catkin-tools

# Seems this has Python 3.6 installed on it...
RUN sudo apt-get install -y python3-dev python3-matplotlib python3-numpy python3-psutil python3-tk

# Install CMake 3.13.5
ADD https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh /cmake-3.13.5-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version

# Install deps needed for clion remote debugging
# https://blog.jetbrains.com/clion/2020/01/using-docker-with-clion/
RUN apt-get update && apt-get install -y ssh build-essential gcc g++ \
gdb clang cmake rsync tar python && apt-get clean
RUN ( \
echo 'LogLevel DEBUG2'; \
echo 'PermitRootLogin yes'; \
echo 'PasswordAuthentication yes'; \
echo 'Subsystem sftp /usr/lib/openssh/sftp-server'; \
) > /etc/ssh/sshd_config_test_clion \
&& mkdir /run/sshd
RUN useradd -m user && yes password | passwd user
RUN usermod -s /bin/bash user
CMD ["/usr/sbin/sshd", "-D", "-e", "-f", "/etc/ssh/sshd_config_test_clion"]

14 changes: 12 additions & 2 deletions Dockerfile → Dockerfile_ros1_20_04
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,20 @@ FROM osrf/ros:noetic-desktop-full
# =========================================================

# Dependencies we use, catkin tools is very good build system
# Also some helper utitiles for fast in terminal edits (nano etc)
RUN apt-get update && apt-get install -y libeigen3-dev nano git cmake
# Also some helper utilities for fast in terminal edits (nano etc)
RUN apt-get update && apt-get install -y libeigen3-dev nano git
RUN sudo apt-get install -y python3-catkin-tools python3-osrf-pycommon

# Seems this has Python 3.8 installed on it...
RUN sudo apt-get install -y python3-dev python3-matplotlib python3-numpy python3-psutil python3-tk

# Install CMake 3.13.5
ADD https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh /cmake-3.13.5-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version

# Install deps needed for clion remote debugging
# https://blog.jetbrains.com/clion/2020/01/using-docker-with-clion/
RUN apt-get update && apt-get install -y ssh build-essential gcc g++ \
Expand Down
42 changes: 42 additions & 0 deletions Dockerfile_ros2_18_04
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
FROM osrf/ros:dashing-desktop

# =========================================================
# =========================================================

# Are you are looking for how to use this docker file?
# - https://docs.openvins.com/dev-docker.html
# - https://docs.docker.com/get-started/
# - http://wiki.ros.org/docker/Tutorials/Docker

# =========================================================
# =========================================================

# Dependencies we use, catkin tools is very good build system
# Also some helper utilities for fast in terminal edits (nano etc)
RUN apt-get update && apt-get install -y libeigen3-dev nano git

# Seems this has Python 3.6 installed on it...
RUN sudo apt-get install -y python3-dev python3-matplotlib python3-numpy python3-psutil python3-tk

# Install CMake 3.13.5
ADD https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh /cmake-3.13.5-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version

# Install deps needed for clion remote debugging
# https://blog.jetbrains.com/clion/2020/01/using-docker-with-clion/
RUN apt-get update && apt-get install -y ssh build-essential gcc g++ \
gdb clang cmake rsync tar python && apt-get clean
RUN ( \
echo 'LogLevel DEBUG2'; \
echo 'PermitRootLogin yes'; \
echo 'PasswordAuthentication yes'; \
echo 'Subsystem sftp /usr/lib/openssh/sftp-server'; \
) > /etc/ssh/sshd_config_test_clion \
&& mkdir /run/sshd
RUN useradd -m user && yes password | passwd user
RUN usermod -s /bin/bash user
CMD ["/usr/sbin/sshd", "-D", "-e", "-f", "/etc/ssh/sshd_config_test_clion"]

Loading