Docker安装Autoware

2023-05-16

使用gitee上的autoware源码包编译遇到的问题非常多,主要是依赖很多。使用Docker来安装autoware相对简单很多

1,Docker用户权限问题

sudo groupadd docker

sudo gpasswd -a $USER docker

newgrp docker

docker ps

2,nvidia-docker

docker中不能安装nvidai驱动,nvidia-docker是一个可以使用GPU的docker,nvidia-docker是在docker上做了一层封装,通过nvidia-docker-plugin,然后调用到docker上,其最终实现的还是在docker的启动命令上携带一些必要的参数。因此在安装nvidia-docker之前,还是需要安装docker的。docker 19.03不需要安装nvidia-docker

3,cuda,opencv版本问题

    在使用autoware里的相机雷达标定软件时,会提示cv2.CV_AA不存在,因为本机opencv是3,所以要装2.4,而在编译安装opencv2.4.13时会报cuda相关错误。查资料后,是因为cuda版本问题,我是装的cuda10.1,所以准备重装cuda9和opencv2.4.13

   卸载cuda,使用deb安装cuda可通过下面方式卸载

  sudo apt-get autoremove --purge cuda

  安装cuda9.0,使用dpkg安装cuda前要到/var/lib/dpkg/info目录下删除以前cuda残留的文件

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb

sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub 

执行下面命令之前确保其他版本的sourcelist已经删掉

sudo apt-get update

sudo apt-get install cuda

如果安装的cuda与nvidia驱动不对应,会出现循环登录问题

在登录界面按ctrl+alt+f1,可能屏幕会一直滚动出现文字

卸载驱动

sudo apt-get --purge remove nvidia*

yes

sudo apt autoremove

如果多次安装cuda deb,用一下命令删除以前的残留文件

sudo su

dpkg -l |grep "^rc"|awk '{print $2}' |xargs aptitude -y purge

autoware部分

安装docker后拉取autoware镜像

docker pull autoware/autoware:1.7.0-kinetic

安装nvidia-docker

由于之前装的是1.p版本(没有成功,最后装opencv2.4.10和cuda9.0,选择装nvidia-docker1,执行sudo apt-get install -y nvidia-docker),所以先卸载之前的nvidia-docker

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f

sudo apt-get purge -y nvidia-docker

安装nvidia-docker2.0

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

3,sudo apt-get update

4,sudo apt-get install -y nvidia-docker2

5,sudo pkill -SIGHUP dockerd

6,docker run --runtime=nvidia --rm nvidia/cuda:10.1-base nvidia-smi

7,最后我装的是1.0版本,cuda是9.0。

docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

注意这里的cuda版本要和本机cuda版本一样

运行autoware

1,创建如下目录

/home/Autoware/docker/generic

2,上面目录下新建文件run.sh

3,写入如下内容,下面的内容是启动docker里的autoware

#!/bin/sh

XSOCK=/tmp/.X11-unix
XAUTH=/home/$USER/.Xauthority
SHARED_DIR=/home/autoware/.autoware
HOST_DIR=/home/$USER/.autoware

nvidia-docker run \
    -it --rm \
    --volume=$XSOCK:$XSOCK:rw \
    --volume=$XAUTH:$XAUTH:rw \
    --volume=$HOST_DIR:$SHARED_DIR:rw \
    --env="XAUTHORITY=${XAUTH}" \
    --env="DISPLAY=${DISPLAY}" \
    -u autoware \
    --privileged -v /dev/bus/usb:/dev/bus/usb \
    --net=host \
    autoware/autoware:1.7.0-kinetic

4,sh ./run.sh  执行后终端会变成 autoware@username:~$

5,cd Autoware/ros

6,./run 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker安装Autoware 的相关文章

随机推荐

  • fwknop的安装和使用测试

    SPA名为单包授权 xff0c 是一种认证方法 xff0c 它是一种端口敲门的方法 xff0c 是之前早起端口敲门的升级版本 目的是为了隐藏服务端口 xff0c 防止DOS等其他网络攻击 xff0c 保证服务端的安全 SPA的具体定义这里不
  • win7连接共享“请检查名称的拼写.否则网络可能有问题”

    我他妈也是这个问题 xff0c 折腾了我好多天 xff0c 我的win7电脑突然就不能连接FTP的服务器 xff0c 然后我虚拟机的samba共享也连接不上 xff0c 终于找到解决办法 xff0c 别人的电脑没事 xff0c 就我的电脑有
  • Intel RealSense D435i + BundleFusion 实现实时三维建图

    内容概览 摘要操作环境RealSense D435i 介绍BundleFusion工程环境配置安装 RealSense SDKRealSense SDK 本地环境配置BundleFusion 工程属性表相机类型设置修改 GlobalAppS
  • CrazePony与计算机视觉

    大家好 我是CrazePony的视觉攻城狮 Ziv Lin 我擅长的部分是计算机视觉和嵌入式编程 非常荣幸地能够加入CrazePony团队 众所周知 一个飞行器想要做到悬停的话 xff0c 必须引入一个位置环进行反馈 xff0c 也就是说需
  • Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿

    来这里找解决方案的童鞋 xff0c 如果你的机器还没过保 果断去找官修 xff0c 忽略这篇文章 xff01 心急的童鞋直接看目录 xff0c 有传送门 xff01 但是仔细看文章可能有奇效 xff01 最近博客更新进度严重滞后 因为我遭遇
  • linux环境打包python工程为可执行程序

    本次又个需求 xff0c 在ubuntu上面开发的python代码程序需要打包成一个可执行程序然后交付给甲方 xff0c 因为不能直接给源码给甲方 xff0c 所以寻找方法将python开发的源码打包成一个可执行程序 xff0c 注意是打包
  • windows下python调用海康威视网络摄像头sdk

    本文参考以下博文加自己的实践 xff0c 发现有些步骤是不必要的 xff0c 例如不需要为opencv等第三方库指定路径 运行环境 xff1a 准备工作 1 海康SDK下载 2 下载安装vcpkg 3 安装Swig 4 下载OpenCV s
  • Apollo代码学习(七)—MPC与LQR比较

    Apollo代码学习 MPC与LQR比较 前言研究对象状态方程工作时域目标函数求解方法 前言 Apollo中用到了PID MPC和LQR三种控制器 xff0c 其中 xff0c MPC和LQR控制器在状态方程的形式 状态变量的形式 目标函数
  • 27 | Ubuntu18.04.5 安装python3.7及卸载

    目录 1 前期准备1 1安装所需依赖 重要 1 2 配置Python版本切换1 2 1 查看候选列表中已有的Python版本1 2 2 添加 python amp python3 指向选择1 2 3 查看候选列表中已有的Python版本1
  • opencv库作为第三方库

    在编译一个依赖opencv库的库时 xff0c 报出以下错误 xff1a undefined reference to symbol ZN2cv6imreadERKNS 6StringEi libopencv core so 2 4 err
  • 银河麒麟V10系统NetworkManager服务启动失败的解决方法

    目录 一 NetworkManger网络服务启动失败 二 故障定位过程 xff08 一 xff09 重装NetworkManager未解决 xff08 二 xff09 重装openssl未解决 三 解决方案 xff08 一 xff09 修改
  • argparse模块

    1模块简介2Example3argparse三个主要函数 parser argparseArgumentParserparseradd argumentargs parserparse args 4ArgumentParser对象 对象参数
  • 【Docker】非root用户加入docker用户组省去sudo (三)

    你问我爱你有多深 xff0c 这坑后面还有坑 为什么需要创建docker用户组 xff1f Docker守候进程绑定的是一个unix socket xff0c 而不是TCP端口 这个套接字默认的属主是root xff0c 其他是用户可以使用
  • 带你玩转Jetson Xavier NX系列教程 | Xavier NX刷机教程

    写在最前 xff1a xff08 转载请注明文章出处 xff09 NVIDIA AGX Jetson Xavier NX 开发人员套件终于拿到手了 xff0c Nx的性能虽然被砍了不少 xff0c 但是完全碾压了Nano和TX2 xff0c
  • 使用Intel RealSense D435i自制离线数据集跑通BundleFusion

    内容概览 摘要操作环境大致流程录制数据集格式转换解析 bag文件时间戳对齐制作源格式封装为 sens格式 离线三维重建修改 zParametersDefault txt修改 zParametersBundlingDefault txt重建效
  • 互斥量、临界区、信号量、事件标志组和消息邮箱

    为了好的理解互斥量 临界区 信号量 事件标志组和消息邮箱 xff0c 下面一些知识对初学者来说很重要 xff1a 为了实现各任务之间的合作和无冲突的运行 xff0c 在有关联的任务之间必须建立一些制约关系 这些制约关系主要有两种 xff1a
  • MAVLink协议通信分析——(二)消息结构

    消息结构 一 消息包结构 消息包结构定义了消息包在发送 接收 初次解析中所需信息的存储规则 在MavLink 1 0版本中 xff0c 消息包结构如下图表所示 首部由STX段引导 xff0c 具体含义可在表中查询 xff0c 其中校验位标记
  • MAVLink协议通信分析——(三)消息解析

    第三章 消息解析 分析过消息包的结构后 xff0c 继续向消息包的内部探索 xff0c 开始分析负载信息PAYLOAD 在消息库中 xff0c 每条消息都作为一个类存在 xff08 Java版本 xff09 xff0c 类中的注释文本详细地
  • Linux 加权限命令 chmod +755,chmod +777,chmod +x 的区别

    chmod 43 x 的意思就是给执行权限 LINUX下不同的文件类型有不同的颜色 xff0c 这里 蓝色表示目录 绿色表示可执行文件 xff0c 可执行的程序 红色表示压缩文件或包文件 浅蓝色表示链接文件 灰色表示其它文件 红色闪烁表示链
  • Docker安装Autoware

    使用gitee上的autoware源码包编译遇到的问题非常多 xff0c 主要是依赖很多 使用Docker来安装autoware相对简单很多 1 xff0c Docker用户权限问题 sudo groupadd docker sudo gp