Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: MIT-SPARK/Kimera-VIO-ROS
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: Harshit0803/Kimera-VIO-ROS-MOD
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
  • 7 commits
  • 5 files changed
  • 1 contributor

Commits on Jan 17, 2024

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    de9a33b View commit details
  2. Update README.md

    Harshit0803 authored Jan 17, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    9283695 View commit details
  3. Update README.md

    Harshit0803 authored Jan 17, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    020a73c View commit details
  4. Update README.md

    Harshit0803 authored Jan 17, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    3fe8f89 View commit details

Commits on Jan 18, 2024

  1. Add files via upload

    Harshit0803 authored Jan 18, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    55a3368 View commit details

Commits on Feb 6, 2024

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e96a671 View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    de83cc1 View commit details
Showing with 172 additions and 34 deletions.
  1. +128 −28 Dockerfile
  2. +5 −5 README.md
  3. +35 −0 devcontainer/devcontainer.json
  4. +3 −0 entrypoint.sh
  5. +1 −1 install/kimera_vio_ros_https.rosinstall
156 changes: 128 additions & 28 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,28 +1,128 @@
FROM ros:noetic-ros-base

RUN apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN apt-get install -y ros-noetic-image-geometry ros-noetic-pcl-ros \
ros-noetic-cv-bridge git cmake build-essential unzip pkg-config autoconf \
libboost-all-dev \
libjpeg-dev libpng-dev libtiff-dev \
# Use libvtk5-dev, libgtk2.0-dev in ubuntu 16.04 \
libvtk7-dev libgtk-3-dev \
libatlas-base-dev gfortran \
libparmetis-dev \
python3-wstool python3-catkin-tools \
# libtbb recommended for speed: \
libtbb-dev

RUN mkdir -p /catkin_ws/src/
RUN git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git /catkin_ws/src/Kimera-VIO-ROS
RUN cd /catkin_ws/src/Kimera-VIO-ROS
# && git checkout ___
RUN cd /catkin_ws/src/ && wstool init && \
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall && wstool update

# Build catkin workspace
RUN apt-get install -y ros-noetic-image-pipeline ros-noetic-geometry ros-noetic-rviz

RUN . /opt/ros/noetic/setup.sh && cd /catkin_ws && \
catkin init && catkin config --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo && \
catkin build
FROM osrf/ros:noetic-desktop-full
LABEL maintainer="hs4851@nyu.edu"

# Update and install required packages
RUN apt-get update && apt-get install -y \
curl gnupg2 lsb-release \
&& curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - \
&& echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list

# Install ROS Noetic ROS Base
RUN apt-get update && \
apt-get install -y ros-noetic-ros-base && \
echo 'source /opt/ros/noetic/setup.bash' >> ~/.bashrc && \
/bin/bash -c "source ~/.bashrc"

# Install additional ROS packages and dependencies
RUN apt-get install -y \
screen nano python3 python3-pip \
ros-noetic-roscpp ros-noetic-std-msgs \
ros-noetic-sensor-msgs ros-noetic-image-transport \
libboost-python-dev \
&& rm -rf /var/lib/apt/lists/*

# Install and upgrade numpy
RUN python3 -m pip install numpy --upgrade

# Upgrade pip and install other Python dependencies
RUN python3 -m pip install --upgrade pip && \
python3 -m pip install scipy cuda-python

# Specific version of Eigen (replace 'your_eigen_version' with the actual version number)
RUN apt-get update && apt-get install -y libeigen3-dev

# Install GTSAM (consider building from source if a specific version is needed)
# Add steps to clone and build GTSAM from source here if necessary

WORKDIR /kimera_workspace/catkin_ws/src

# Environment variables for ROS
ENV ROS_DISTRO noetic
ENV ROS_ROOT /opt/ros/$ROS_DISTRO
ENV ROS_MASTER_URI http://localhost:11311
ENV ROS_PACKAGE_PATH /kimera_workspace/catkin_ws/src:$ROS_PACKAGE_PATH

# Source ROS setup script in entrypoint script
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

# Additional installations
RUN apt-get update && apt-get install -y \
python3-rosdep python3-catkin-tools python3-vcstool cmake git

# Initialize and update rosdep
RUN [ -e /etc/ros/rosdep/sources.list.d/20-default.list ] || rosdep init && \
apt-get install -y python3-rosdep && rosdep update

RUN apt-get install ros-noetic-image-geometry ros-noetic-pcl-ros ros-noetic-cv-bridge

RUN apt-get update

RUN apt-get install -y --no-install-recommends apt-utils

RUN apt-get install -y \
cmake build-essential unzip pkg-config autoconf \
libboost-all-dev \
libjpeg-dev libpng-dev libtiff-dev \
# Use libvtk5-dev, libgtk2.0-dev in ubuntu 16.04 \
libvtk7-dev libgtk-3-dev \
libatlas-base-dev gfortran \
libparmetis-dev \
python3-wstool python3-catkin-tools libtool\
libtbb-dev


WORKDIR /kimera_workspace

RUN mkdir -p catkin_ws/src

WORKDIR /kimera_workspace/catkin_ws

RUN catkin init

RUN catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_USE_SYSTEM_EIGEN=ON -DGTSAM_TANGENT_PREINTEGRATION=OFF

RUN catkin config --merge-devel

RUN echo 'source /kimera_workspace/catkin_ws/devel/setup.bash' >> ~/.bashrc

WORKDIR /kimera_workspace/catkin_ws/src

RUN git clone https://github.com/Harshit0803/Kimera-VIO-ROS-MOD.git

RUN wstool init

RUN wstool merge Kimera-VIO-ROS-MOD/install/kimera_vio_ros_https.rosinstall

RUN wstool update

# RUN rosdep install --from-paths . --ignore-src -r -y

# RUN wstool update
RUN rm -rf Kimera-VIO-ROS-MOD

WORKDIR /kimera_workspace/catkin_ws


RUN /bin/bash -c "source $ROS_ROOT/setup.bash && catkin build -j4"

###############

# RUN catkin build -j3 --cmake-args -DCMAKE_BUILD_TYPE=Release
# RUN /bin/bash -c "source /opt/ros/noetic/setup.bash && \
# source /kimera_workspace/catkin_ws/devel/setup.bash && \
# catkin init && \
# catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_USE_SYSTEM_EIGEN=ON && \
# catkin build"

# RUN source /kimera_workspace/catkin_ws/devel/setup.bash

# RUN apt-get update
WORKDIR /kimera_workspace

CMD ["/bin/bash"]



# catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_USE_SYSTEM_EIGEN=ON
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -47,7 +47,7 @@ sudo apt-get install -y \
libvtk7-dev libgtk-3-dev \
libatlas-base-dev gfortran \
libparmetis-dev \
python3-wstool python3-catkin-tools \
python3-wstool python3-catkin-tools libtool\
```

- GTSAM's Optional dependencies (highly recommended for speed)
@@ -72,17 +72,17 @@ echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc
# Clone repo
cd ~/catkin_ws/src
# For ssh:
git clone git@github.com:MIT-SPARK/Kimera-VIO-ROS.git
# git clone git@github.com:MIT-SPARK/Kimera-VIO-ROS.git
# For https:
# git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git
git clone https://github.com/Harshit0803/Kimera-VIO-ROS-MOD.git

# Install dependencies from rosinstall file using wstool
wstool init # Use unless wstool is already initialized

# For ssh:
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_ssh.rosinstall
# wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_ssh.rosinstall
# For https
# wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall
wstool merge Kimera-VIO-ROS-MOD/install/kimera_vio_ros_https.rosinstall

# download and update repos:
wstool update
35 changes: 35 additions & 0 deletions devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile
{
"name": "Existing Dockerfile2",
"build": {
// Sets the run context to one level up instead of the .devcontainer folder.
"context": "..",
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
"dockerfile": "../Dockerfile"
},
"mounts": ["source=/home/harshit/Downloads,target=/download_worksapce,type=bind"],
"runArgs": [
"--privileged",
"--rm=true",
"--shm-size=10g",
"--net=my-net",
"-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix",
"-e DISPLAY=$DISPLAY"
]

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Uncomment the next line to run commands after the container is created.
// "postCreateCommand": "cat /etc/os-release",

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "devcontainer"
}
3 changes: 3 additions & 0 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
source /opt/ros/$ROS_DISTRO/setup.bash
exec "$@"
2 changes: 1 addition & 1 deletion install/kimera_vio_ros_https.rosinstall
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@
- git:
local-name: gtsam
uri: https://github.com/borglab/gtsam.git
version: develop
version: 4.2
- git:
local-name: opengv_catkin
uri: https://github.com/MIT-SPARK/opengv_catkin.git