Docker 配置 vins-mono

news/2024/7/5 3:18:09

前提条件:物理机上安装好ROS和Docker,参考

http://wiki.ros.org/ROS/Installation

Ubuntu Docker 安装 | 菜鸟教程

Docker 换源

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["镜像源网址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

完成后创建工作目录

mkdir -p ~/catkin_ws/src
cd ~/catkin/src

从 Github 上 git vins-mono 的源码

git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git

下载完成后进入的 docker 文件夹

cd ~/catkin_ws/src/VINS-Mono/docker/

打开 Dockerfile 文件

sudo gedit Dockerfile

将 ceres-solver 的版本

ENV CERES_VERSION="1.12.0"

改为

ENV CERES_VERSION="1.14.0"

将 ceres-solver 的下载地址

git clone https://ceres-solver.googlesource.com/ceres-solver

改为

https://github.com/ceres-solver/ceres-solver.git

将编译线程

make -j$(USE_PROC) install

改为

make -j8 install

简单期间可以直接复制下面内容替代文本

FROM ros:kinetic-perception

ENV CERES_VERSION="1.14.0"
ENV CATKIN_WS=/root/catkin_ws

      # set up thread number for building
RUN   if [ "x$(nproc)" = "x1" ] ; then export USE_PROC=1 ; \
      else export USE_PROC=$(($(nproc)/2)) ; fi && \
      apt-get update && apt-get install -y \
      cmake \
      libatlas-base-dev \
      libeigen3-dev \
      libgoogle-glog-dev \
      libsuitesparse-dev \
      python-catkin-tools \
      ros-${ROS_DISTRO}-cv-bridge \
      ros-${ROS_DISTRO}-image-transport \
      ros-${ROS_DISTRO}-message-filters \
      ros-${ROS_DISTRO}-tf && \
      rm -rf /var/lib/apt/lists/* && \
      # Build and install Ceres
      git clone https://github.com/ceres-solver/ceres-solver.git && \
      cd ceres-solver && \
      git checkout tags/${CERES_VERSION} && \
      mkdir build && cd build && \
      cmake .. && \
      make -j8 install && \
      rm -rf ../../ceres-solver && \
      mkdir -p $CATKIN_WS/src/VINS-Mono/

# Copy VINS-Mono
COPY ./ $CATKIN_WS/src/VINS-Mono/
# use the following line if you only have this dockerfile
# RUN git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git

# Build VINS-Mono
WORKDIR $CATKIN_WS
ENV TERM xterm
ENV PYTHONIOENCODING UTF-8
RUN catkin config \
      --extend /opt/ros/$ROS_DISTRO \
      --cmake-args \
        -DCMAKE_BUILD_TYPE=Release && \
    catkin build && \
    sed -i '/exec "$@"/i \
            source "/root/catkin_ws/devel/setup.bash"' /ros_entrypoint.sh

保存并退出。终端输入

lilabws01@lilabws01:~/catkin_ws/src/VINS-Mono/docker$ make build

生成 vins-mono 的 docker 镜像。


http://lihuaxi.xjx100.cn/news/1284952.html

相关文章

Rancher集群搭建

前言 随着容器的普及和Kubernetes 的日渐成熟&#xff0c;企业内部运行多个Kubernetes 集群已变得颇为常见&#xff0c;然而部署kubernetes集群的方式也多样化&#xff0c;二进制部署、rancher、kubeadm、minikube等。然而本篇文章主要讲解的是如何使用rancher快速部署一个k8s集…

解释索引、事务、SQL优化等相关概念,并能够应用它们来解决实际问题

当涉及数据库和SQL的面试时&#xff0c;了解和应用以下概念可以提升你作为后台开发工程师的竞争力&#xff1a; 1. 索引&#xff1a; - 索引是一种数据结构&#xff0c;用于加速数据库的查询操作。 - 索引可以根据某个列或一组列的值进行排序&#xff0c;并提供快速访问…

一文学会Python安装和基础语法-全程干货

安装Python程序 官网Python下载地址&#xff1a;Python Releases for Windows | Python.org 安装3.7版本即可&#xff0c;版本升级可能会有较小的改动&#xff0c;下面要学习的都以python3.7为例 下载安装包之后直接双击无脑安装即可 新手经常遇到的问题&#xff1a; 1.符号…

win如何使用OpenSSL生成自签名证书,使 http 升级为 https

win如何使用OpenSSL生成自签名证书&#xff0c;使 http 升级为 https 前言 HTTPS其实就是HTTP over SSL&#xff0c;也就是让HTTP连接建立在SSL安全连接之上。 创建自签名证书需要安装openssl。参考本文安装OpenSSL部分。 使用OpenSSL生成自签名证书的步骤&#xff1a;参考…

Rtree实现对带半径的点聚类

业务上碰到了需要对圆做聚类的场景 sklearn现在的聚类方法dbscan(支持自定义距离公式&#xff0c;但是性能影响巨大 kdtree(不支持自定义距离计算 google、百度无果 思考用rtree实现 参考: https://zhuanlan.zhihu.com/p/62639268 计算过程 # 数据构建 num_points 200000 c…

360手机打开USB调试+文件传输

360手机USB调试文件传输[用户版] 参考&#xff1a;360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机&#xff1a;360rom.github.io 【前言】 *360手机USB调试 &#xff0c;必须提前打开“开发者模式USB调试”进行 【操作流程】 打开&#xff1a;开发者模式、USB调…

python3D绘制评估优化算法性能的测试函数,使用matplotlib.mplot3d

测试函数主要是用来评估优化算法特性的&#xff0c;这里我用python3绘制了部分测试函数的图像。具体的测试函数可以结合维基百科来了解。想要显示某个测试函数的图片把代码结尾对应的注释去掉即可&#xff0c;具体代码如下&#xff1a; import numpy as np import matplotlib.…

关于C++图论树的某些题图形提示

一、去教室的路。 猫猫大学有n条路&#xff0c;每条路都有一个数字编号&#xff0c;其中的一条路一定与另外2条路相连&#xff0c;请你打出这个学校的地图。 输入1&#xff1a; 1 2 3 4 2 3 45 4 45 1 输出1&#xff1a; 1 2 3 4 5 45 图解 &#xff1…