深蓝学院多传感器融合定位与建图/Multi-Sensor Fusion for Localization & Mapping学习环境.
Maintained by Ge Yao, alexgecontrol@qq.com
我在学习这门课程时,已经完成如下深蓝学院课程的学习:
且有多年的机器人系统开发经验, 熟悉以下的开发语言/框架/工具:
- Modern C++ (11 and above) Reference Book
- Python
- ROS
- Git/GitHub, Markdown与LaTex
若您坚持在Native Ubuntu上进行开发, 此处将默认您有足够的定位&建图开发环境运维经验, 能够自定义开发环境, 并且自主解决由于环境依赖冲突导致的各种问题. 课程的重点在多传感融合定位算法, 并非基于Docker的环境搭建. 如果感兴趣, 请根据以下提示, 自行学习.本框架只确保Docker环境的开箱即用, 不提供任何本地环境配置冲突解决的帮助.
- 确保熟悉Docker与Docker-Compose的开发使用
- 根据Dockerfile Click Here自行准备开发环境
- 熟悉其中的各个依赖库, 有能力在出现依赖问题时, 自行搜索, 查询相关资料, 修复依赖冲突
请您务必按照本指南, 一步一步操作, 当且仅当您在对本环境足够熟悉的情况下,再自由发挥
本Repo为基于ROS melodic @ Ubuntu 18.04的多传感器融合定位与建图/Multi-Sensor Fusion for Localization & Mapping学习环境.
定位与建图是一个复杂的工程. 每一个解决方案, 都有较为复杂的环境依赖. 然而:
-
部分依赖项由于网络原因(Great Fire Wall & Server IP Block)难以直接获得
-
由于课程依赖项的版本, 与本地现有依赖项的版本, 可能有所不同, 直接冒然安装, 可能会导致本地开发环境被破坏
故: 本课程的学习环境将以Docker Image的形式提供, 以实现与Native PC环境的隔离.
- 本项目Native PC的操作系统选择Ubuntu. Windows与Mac不推荐使用, 若有意尝试, 请自行搜索相关解决方案.
首先请确保您可以访问Ubuntu开发环境. 如果没有Ubuntu环境, 请按照点击链接进入指南, 在本地PC上安装配置Ubuntu环境.
本课程推荐使用配套的Docker环境点击链接进入完成课程学习. Docker提供了一个轻量级的标准化开发环境, 能够避免本地已有环境的差异导致的奇怪问题, 避免环境配置调试的巨额时间浪费.
当Native PC与Course Docker Environment均准备就绪时, 即可开始使用本开发环境:
-
第一次使用时, 请首先下载课程配套的KITTI测试数据here.
-
之后, 即可通过本地VSCode开发, Docker内部编译测试的模式, 完成课程作业.
在第一次使用时, 需要将课程配套的修复后KITTI数据下载至本地文件系统. 具体操作方法参考点击链接进入
本课程推荐使用VSCode进行开发. 安装VSCode之后,推荐继续安装以下VSCode Plug-Ins:
-
C/C++ by Microsoft
-
Markdown All in One by Yu Zhang
启动Docker环境后, Docker中的/workspace目录, 会被映射到当前Repo中的workspace目录.
使用该Workspace进行开发, 编译与测试的方法如下:
- 在当前Repo的workspace下, 启动VSCode, 编辑源代码:
- 在Docker /workspace下, 进行编译. 具体的编译方法, 请参考作业1 环境搭建
git checkout 02-lidar-odometry-basicgit checkout 03-lidar-odometry-advancedgit checkout 04-mapping-and-matchinggit checkout 05-imu-calibgit checkout 06-imu-navigationgit checkout 07-filtering-basicgit checkout 08-filtering-advancedgit checkout 09-graph-optimizationgit checkout 10-sliding-windowKeep Learning & Keep Coding
Ge Yao, alexgecontrol@qq.com
