多传感器融合定位1-环境搭建

正在学习深蓝学院的《多传感器融合定位》第三期课程,留下相关学习记录。

主要内容:

1.多传感器融合行业发展现状介绍

2.本课程的学习要求

3.本课程的环境搭建要求

4.具体实验步骤

----------------------------------------------------------------------------------------------------------------------------------------------

 1.多传感器融合行业发展现状介绍

(1)自动驾驶

(2)高精地图

  高精地图本属于自动驾驶的一部分,但由于成本、复杂度以及技术积累等问题,给图商带来了很好的发展前景。

(3)机器人

  机器人已经有成熟的商业模式且盈利,目前多数处在探索新方案的阶段。

 

 多传感器融合定位的作用

 

2.本课程的学习要求

  希望通过本课程的学习,大家可以掌握融合定位与组合导航的框架以及知识。课程属于进阶课程,在课程制作过程中,团队尽量用通俗易懂的案例以及语言降低难度,但部分章节公式仍然比较多。希望您在学习过程中,遇到不懂的问题,及时在群里交流,保持耐心。衷心希望您享受这段学习之旅。

 

3. 本课程的环境搭建要求

  为了减少调试的时间成本,课程提供docker环境,并搭配使用说明。 (不强制使用,不想用docker的也可以自己搭环境,前提是需要对ubuntu和ROS要熟)。 为了理解作业代码思路,请尽量在一周内阅读完以下文章:(由于课程代码与文章中已经有差异, 只需要理解思路即可,不需要把里面的代码跑完)

  从零开始做自动驾驶定位(文章汇总): https://zhuanlan.zhihu.com/p/113616755

  请搭好代码环境,下载数据集(在作业的附件里提供了下载地址及说明),并播放数据集,在rviz 上显示点云。

  数据集:

    微云文件分享:kitti_lidar_only_2011_10_03_drive_0027_synced.zip
    下载地址:https://share.weiyun.com/QacEDADm
    文件大小:4.8G

  评价标准: 截图证明rviz显示正常即给优秀。

4.具体实验步骤

(1)ubuntu安装

  可以选择双系统或者虚拟机安装,作者选择的是虚拟机安装。

  安装过程中遇到了两个问题:一是版本兼容问题,考虑到要在系统中运行Docker,所以要安装ubuntu18以上的版本,作者选择了ubuntu-18.04.5-desktop-amd64.iso这个版本,与之配套的虚拟机版本使用了VMware15.5.1。之前尝试安装VMware12或者VMware14,都在安装过程中或者安装完后运行过程中出现蓝屏现象。二是虚拟机的配置,作者的配置如下:

 

考虑到后续运行的数据集很大,建议在条件允许情况下,加大硬盘容量到200GB。

(2)Docker配置

  a)基本概念

  引擎:创建和管理容器的工具,通过读取镜像来生成容器,并负责从仓库拉取镜像或提交镜像到仓库中;

  镜像:类似于虚拟机镜像,一般由一个基本操作系统环境和多个应用程序打包而成,是创建容器的模板;

  容器:可看作一个简易版的Linxu系统环境(包括root用户权限、进程空间、用户空间和网络空间等) 以及运行在其中的应用程序打包而成的盒子;

  仓库:集中存放镜像文件的场所,分为公共仓库和私有仓库,目前最大的公共仓库是官方提供的 Docker Hub,此外国内的阿里云、腾讯云等也提供了公共仓库;

  宿主机:运行引擎的操作系统所在服务器。

  b) Docker引擎

  Docker引擎是用来运行和管理容器的核心软件。通常人们会简单地将其代指为Docker或 Docker平台。 参考官方安装引导,网址: https://docs.docker.com/engine/install/ubuntu/ 运行sudo docker run hello-world测试是否安装成功。

 

 

  

 

 

 

 

 

 

 

 

 注意:安装完成后将当前用户加入Docker Group以免在执行docker命令时加sudo,命令如下: sudo usermod -aG docker $USER  然后最好重启生效。

   c)Docker镜像

  Docker镜像(Image)是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、 配置等文件外,还包含了一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 Docker镜像是用于创建 Docker容器的模板。

   镜像制作方法有两种:1、通过正在运行的容器生成新镜像;2、通过Dockerfile文件来生 成新镜像。 Dockerfile是一个定义了镜像创建步骤的文件,Docker引擎通过build命令读取Dockerfile, 按定义的步骤来一步步构造镜像。在研发和实施环境中,通过Dockerfile创建容器是主流做法。

  本实验所使用镜像由课程提供,登录仓库拉取镜像。

  登录仓库:docker login --username=937570601@qq.com registry.cn-shanghai.aliyuncs.com

  拉取镜像:docker pull registry.cn-shanghai.aliyuncs.com/shenlanxueyuan/sensor-fusionworkspace:bionic-cpu-vnc

  运行docker images可检查是否下载成功。

  d)Docker容器

  Docker容器(Container)是独立运行的一个或一组应用。镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。

  运行docker ps -a可查看容器列表。

    新建/启动容器

  方法一:命令行 以下命令使用ubuntu镜像启动一个容器,-v表示文件夹挂载,/bin/bash表示以命令行模式进入:

   docker run -it -v /path/content:/var/lib/content ubuntu /bin/bash

  方法二:docker-compose 如果同时操作多个容器,或者希望使用配置文件记录容器启动命令参数,推荐使用docker-compose。

  e)Docker-Compose

  Docker-Compose是用于定义和运行多容器Docker应用程序的工具,使用YML文件即可配置应用程序需要的所有服务。 使用步骤: 1、使用Dockerfile定义应用程序的环境。 2、使用docker-compose.yml定义构成应用程序的服务。 3、执行docker-compose up命令来启动并运行整个应用程序。 参考官方安装引导,网址: https://docs.docker.com/compose/install/

  将课程中提到的环境代码01-introduction.zip 下载并解压缩至ubuntu系统中,文件夹中包含如下内容:

  

进入docker-compose.yml文件所在目录,运行 docker-compose down && docker-compose up

  

  在浏览器中, 输入地址http://localhost:40080/,默认登录密码为sensorfusion,即可通过VNC方式进行访问。

 

 登录成功如下图所示:

   f)作业程序编译与运行

  在上述界面中启动Terminator,将路径设置为 /workspace/assignments/01-introduction,如下图所示:

  

    输入catkin build命令进行编译,如下图所示:

  

    

   运行

  在当前路径下输入source devel/setup.bash,如下图所示:

  

    再输入roslaunch lidar_localization hello_kitti.launch,会打开rviz环境界面:

  

    在ubuntu环境中下载kitti数据集到/workspace/data

  

  在VNC环境下再启动一个Terminator,将路径设置为 /workspace/data/kitti,如下图所示:

    

  输入命令rosbag play kitti_lidar_only_2011_10_03_drive_0027_synced.bag,在rviz中看到改数据集的运行效果:

  

    

 

 

 

  

posted @ 2021-10-20 13:51  木子李ykt  阅读(552)  评论(0编辑  收藏  举报