# Sensor-Fusion
**Repository Path**: lichenchen1205/Sensor-Fusion
## Basic Information
- **Project Name**: Sensor-Fusion
- **Description**: Sensor Fusion from https://www.shenlanxueyuan.com/my/course/261
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2020-11-22
- **Last Updated**: 2024-06-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Docker Environment for Sensor Fusion
基于Docker的[多传感器融合定位/Sensor Fusion](https://www.shenlanxueyuan.com/my/course/261)学习环境.
---
## ROS Package Implementations
[Click Here](https://github.com/AlexGeControl/Sensor-Fusion/tree/master/workspace/assignments/)
---
## 安装配置Docker以及Docker-Compose
在开始使用前,首先需要在本地配置`Docker`以及`Docker-Compose`环境.
---
### 安装Docker
请参考[Docker官方文档](https://docs.docker.com/engine/install/ubuntu/)完成`Docker`环境的安装
安装完成后, 还需要进行`如下操作`, 以保证环境的易用性:
#### 将当前用户加入Docker Group
为了能在非`sudo`模式下使用`Docker`, 需要将当前用户加入`Docker Group`.
* 执行命令:
```bash
sudo usermod -aG docker $USER
```
* **为了使上述变更生效,请先Logout,再Login**
---
### 安装Docker-Compose
`Docker-Compose`是基于Docker解决方案的Orchestrator.
请参考[Docker Compose官方文档](https://docs.docker.com/compose/install/)完成`Docker-Compose`环境的安装
---
## 获取镜像(已在1-3章作业上完成测试, 若要复现结果, 请移步workspace源码区)
在安装完成`Docker`以及`Docker-Compose`之后,需要从`阿里云`源上获得所需镜像.
```bash
# 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
```
---
## 使用指南
* [完成课程作业](https://github.com/AlexGeControl/Sensor-Fusion#%E5%AE%8C%E6%88%90%E8%AF%BE%E7%A8%8B%E4%BD%9C%E4%B8%9A)
---
## 完成课程作业
[回到使用指南](https://github.com/AlexGeControl/Sensor-Fusion#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97)
---
### 获取最新镜像
首先从`阿里云`源上获得最新的工作空间镜像:
```bash
# 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:
```bash
docker-compose down && docker-compose up
```
成功启动后, 命令行输出如下:
---
### Service Health Check
然后打开`Chrome`浏览器, 访问URL`http://localhost:49001/`, 默认账号/密码为`sensorfusion/sensorfusion`, 确保所有服务成功启动.
若所有服务成功启动, 系统状态如下图所示:
---
### 访问工作空间
接着在`Chrome`浏览器中, 访问URL`http://localhost:40080/`, 默认登录密码为`sensorfusion`, 访问Docker Workspace
该Workspace可理解为一个在浏览器中的`Ubuntu 18.04 Bionic`环境. 可在其中进行一切Ubuntu环境下的开发操作.
---
### 编译作业
请将作业所需的`源代码`与`数据`, 分别放到当前Repo`workspace/assignments`与`workspace/data`目录下. Docker Workspace会将当前Repo`workspace`文件夹映射到Docker Instance`/workspace`目录下.
可在Docker Workspace中执行如下命令, 确保两者--`当前Repo workspace文件夹`与`Docker Instance /workspace`文件夹--的一致性
---
### 常见问题
1. Docker运行时默认用户为`root`, 运行过程中可能导致`当前Repo workspace文件夹`的User以及Group变更为`root`, 从而使本地文件IO操作因`Permission Denied`失败. 解决方案: 使用chown命令, 变更User-Group:
```bash
sudo chown [CURRENT_USER]:[CURRENT GROUP] workspace
```