/Sensor-Fusion

Sensor Fusion from https://www.shenlanxueyuan.com/my/course/261

Primary LanguageC++

Docker Environment for Sensor Fusion

基于Docker的多传感器融合定位/Sensor Fusion学习环境.


ROS Package Implementations

Click Here


安装配置Docker以及Docker-Compose

在开始使用前,首先需要在本地配置Docker以及Docker-Compose环境.


安装Docker

请参考Docker官方文档完成Docker环境的安装

安装完成后, 还需要进行如下操作, 以保证环境的易用性:

将当前用户加入Docker Group

为了能在非sudo模式下使用Docker, 需要将当前用户加入Docker Group.

  • 执行命令:

    sudo usermod -aG docker $USER
  • 为了使上述变更生效,请先Logout,再Login


安装Docker-Compose

Docker-Compose是基于Docker解决方案的Orchestrator.

请参考Docker Compose官方文档完成Docker-Compose环境的安装


获取镜像

在安装完成Docker以及Docker-Compose之后,需要从阿里云源上获得所需镜像.

# login to Sensor Fusion registry -- default password sensorfusion:
docker login --username=937570601@qq.com registry.cn-shanghai.aliyuncs.com
# download images:
docker pull registry.cn-shanghai.aliyuncs.com/shenlanxueyuan/sensor-fusion-workspace:bionic-cpu-vnc

使用指南


完成课程作业

回到使用指南


获取最新镜像

首先从阿里云源上获得最新的工作空间镜像:

# login to Sensor Fusion registry -- default password TIC,123456:
docker login --username=937570601@qq.com registry.cn-shanghai.aliyuncs.com
# download images:
docker pull registry.cn-shanghai.aliyuncs.com/shenlanxueyuan/sensor-fusion-workspace:bionic-cpu-vnc

启动实例

在当前Repo根目录下, 启动Terminal, 执行命令, 启动Docker Workspace:

docker-compose down && docker-compose up

成功启动后, 命令行输出如下:

Launch Workspace


Service Health Check

然后打开Chrome浏览器, 访问URLhttp://localhost:49001/, 默认账号/密码为sensorfusion/sensorfusion, 确保所有服务成功启动.

若所有服务成功启动, 系统状态如下图所示:

Service Health Check


访问工作空间

接着在Chrome浏览器中, 访问URLhttp://localhost:40080/, 默认登录密码为sensorfusion, 访问Docker Workspace

Access Workspace

该Workspace可理解为一个在浏览器中的Ubuntu 18.04 Bionic环境. 可在其中进行一切Ubuntu环境下的开发操作.


编译作业

请将作业所需的源代码数据, 分别放到当前Repoworkspace/assignmentsworkspace/data目录下. Docker Workspace会将当前Repoworkspace文件夹映射到Docker Instance/workspace目录下.

可在Docker Workspace中执行如下命令, 确保两者--当前Repo workspace文件夹Docker Instance /workspace文件夹--的一致性

Mount Native Workspace into Docker


常见问题

  1. Docker运行时默认用户为root, 运行过程中可能导致当前Repo workspace文件夹的User以及Group变更为root, 从而使本地文件IO操作因Permission Denied失败. 解决方案: 使用chown命令, 变更User-Group:
sudo chown [CURRENT_USER]:[CURRENT GROUP] workspace