Skip to content

Commit 9d68dfc

Browse files
authored
Merge pull request #1 from IROBOT-24/slam_refine
docs : refine slam direction
2 parents 3c4c42e + a2e2f9a commit 9d68dfc

File tree

1 file changed

+66
-52
lines changed

1 file changed

+66
-52
lines changed

README.md

Lines changed: 66 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,95 @@
1-
# IRobot 算法组培养路线
1+
1. IRobot 算法组培养路线
22

3-
| 版本 | 日期 | 人员 | 修改记录 |
4-
| ---- | ---------- | ---------------------- | -------- |
5-
| v1.1 | 2023-11-16 | 吴勇前, QQ:1102567801 | |
6-
| v1.0 | 2023-06-25 | 郑桂勇, QQ:2712089295 | 首次提交 |
3+
| 版本 | 日期 | 人员 | 修改记录 |
4+
| ---- | ---------- | ---------------------- | ------------------------------------------------------------ |
5+
| v1.1 | 2023-11-16 | 吴勇前, QQ:1102567801 | 添加 *2.2.1 slam基础部分* 的推荐学习课程与方法,细化了里程计与定位方法 |
6+
| v1.0 | 2023-06-25 | 郑桂勇, QQ:2712089295 | 首次提交 |
77

8-
## 1. 通识基础
8+
## 1. 通识基础
99

10-
### 1.1 基础中的基础
10+
### 1.1 基础中的基础
1111

12-
1. Ubuntu 安装、系统文件结构介绍,常用操作(命令行操作需要背诵)
13-
2. C++基础与 ToolChain(CMake,gcc(认识))
14-
3. 传统 CV 基础(图像原理和 OpenCV 对应代码)
15-
4. 自定义训练级下 YOLO 训练及调参
16-
5. 相机模型、标定、2D-3D (PNP)
12+
1. Ubuntu 安装、系统文件结构介绍,常用操作(命令行操作需要背诵)
13+
2. C++基础与 ToolChain(CMake,gcc(认识))
14+
3. 传统 CV 基础(图像原理和 OpenCV 对应代码)
15+
4. 自定义训练级下 YOLO 训练及调参
16+
5. 相机模型、标定、2D-3D (PNP)
1717

18-
### 1.2 工程基础
18+
### 1.2 工程基础
1919

20-
1. ROS2 基础
21-
2. 大恒相机使用
22-
3. Can 通信和串口通信
23-
4. 基本 python 和 matlab 使用
24-
5. 常用调试工具、设备认识和使用
25-
6. 常见报错处理认识和解决途径
20+
1. ROS2 基础
21+
2. 大恒相机使用
22+
3. Can 通信和串口通信
23+
4. 基本 python 和 matlab 使用
24+
5. 常用调试工具、设备认识和使用
25+
6. 常见报错处理认识和解决途径
2626

27-
### 1.3 进阶基础
27+
### 1.3 进阶基础
2828

29-
1. 基本滤波器状态估计机理(KF,EKF)
30-
2. 优化基本原理及优化库的使用(G2O,Ceres)
29+
1. 基本滤波器状态估计机理(KF,EKF)
30+
2. 优化基本原理及优化库的使用(G2O,Ceres)
3131

32-
## 2. 细化方向
32+
## 2. 细化方向
3333

34-
### 2.1 深度学习方向
34+
### 2.1 深度学习方向
3535

36-
#### 2.1.1 深度学习方向基础
36+
#### 2.1.1 深度学习方向基础
3737

38-
1. 目标检测和目标分类基础原理及代码基础
38+
1. 目标检测和目标分类基础原理及代码基础
3939

40-
2. 数据集处理和数据增强
40+
2. 数据集处理和数据增强
4141

42-
3. YOLO 的主干网络更改裁剪,输出层设计,LossFunciton 设计4. YOLO 网络剪枝和量化
42+
3. YOLO 的主干网络更改裁剪,输出层设计,LossFunciton 设计4. YOLO 网络剪枝和量化
4343

44-
4. YOLO 后端推理(OpenVino,TensorRT,OpenCV(dnn),ONNXRuntime)
44+
4. YOLO 后端推理(OpenVino,TensorRT,OpenCV(dnn),ONNXRuntime)
4545

46-
#### 2.1.2 深度学习方向研究方向建议
46+
#### 2.1.2 深度学习方向研究方向建议
4747

48-
1. 论文阅读,关注热点,多看代码
48+
1. 论文阅读,关注热点,多看代码
4949

50-
2. 探讨将语义分割引入比赛(雷达站,哨兵)等,比较与目前方案的优劣性
50+
2. 探讨将语义分割引入比赛(雷达站,哨兵)等,比较与目前方案的优劣性
5151

52-
3. 探讨将单双目深度估计引入比赛(雷达站,哨兵)等,比较与目前方案的优劣性
52+
3. 探讨将单双目深度估计引入比赛(雷达站,哨兵)等,比较与目前方案的优劣性
5353

54-
4. 探讨将深度强化学习引入比赛(控制,决策)等,比较与目前方案的LIO优劣性
54+
4. 探讨将深度强化学习引入比赛(控制,决策)等,比较与目前方案的LIO优劣性
5555

56-
5. 更多请自由探索,发挥想象力
56+
5. 更多请自由探索,发挥想象力
5757

58-
### 2.2 SLAM 方向
58+
### 2.2 SLAM 方向
5959

60-
#### 2.2.1 SLAM 基础
60+
#### 2.2.1 SLAM 基础
6161

62-
1. 了解常用的地图格式
63-
2. 在 Nav2 中实现仿真环境下的导航问题,并理清不同 Frame 之间的转换及作用,以及理清定位,里程计,全局地图,局部地图和全局规划,局部规划的关系
64-
3. 了解 AMCL 定位原理,以及补充里程计相关知识
65-
4. 了解全局路径规划(A*,Dijkstra)等原理,了解局部规划算法(TEB,DWA )的原理
66-
5. 尝试使用 Gammping 或 cartographer 使用激光雷达在仿真和真实世界中建图
67-
6. 尝试 LIO 如 Fast-LIO 的 Demo 运行(Bag、真实设备)
68-
7. 尝试 VIO 如(ORB-SLAM、VINS-FUSION)的 Demo 运行(Bag、真实设备)
69-
8. 使用 Nav2 框架在真实世界进行 2d 下的机器人的导航规划(激光雷达使用 2d,里程计使用 **LIO** 或 VIO 输出或轮式里程计,预建全局地图)
70-
9. 使用 Nav2 的决策树模块,模拟赛场哨兵决策。
62+
1. 了解常用的地图格式 (推荐:高飞 移动机器人运动规划)
7163

72-
#### 2.2.2 SLAM 研究方向建议
64+
2. 在 Nav2 中实现仿真环境下的导航问题,并**理清不同 Frame 之间的转换及作用**,以及**理清定位,里程计,全局地图,局部地图和全局规划,局部规划的关系**(可通过tf2_tools观看Frame之间的转换帮助理解,通过rqt_graph理清导航的完整框架)
7365

74-
1. 多学理论基础,关注热点,多看代码,多看论文
66+
3. 了解**全局路径规划**(A*,Dijkstra)等原理,了解**局部规划算法**(TEB,DWA )的原理(推荐:高飞 移动机器人运动规划)
7567

76-
2. 了解各种传感器(IMU,深度相机,雷达,UWB)等特性,以及其融合、标定、同步
77-
方案
68+
4. 补充**里程计**相关知识,了解**定位方法**的原理
7869

79-
3. 深入学习算法原理(IMU 预积分,建图算法,规划算法,感知算法等
70+
- 视觉:了解特征点法,光流法的原理(推荐:《视觉slam十四讲》7、8讲
8071

81-
4. 心有余力者,可多看书如《机器人的状态估计》,多看论文(Mars Lab(hku) , HKUST Aerial Robotics Group , Fast Lab (zju) , STAR Lab(sysu) )
72+
- 激光:了解 AMCL 等定位方法的原理(推荐:《概率机器人》 蒙特卡洛定位,知乎 Churlaaaaaaa AMCL包源码分析)
73+
74+
- 其他:如轮式,GNSS
75+
76+
5. 尝试使用 Gammping 或 cartographer 使用激光雷达在仿真和真实世界中建图
77+
78+
6. 尝试 LIO 如 Fast-LIO 的 Demo 运行(Bag、真实设备)
79+
80+
7. 尝试 VIO 如(ORB-SLAM、VINS-FUSION)的 Demo 运行(Bag、真实设备)
81+
82+
8. 使用 Nav2 框架在真实世界进行 2d 下的机器人的导航规划(激光雷达使用 2d,里程计使用 LIO 或 VIO 输出或轮式里程计,预建全局地图)
83+
84+
9. 使用 Nav2 的决策树模块,模拟赛场哨兵决策。
85+
86+
#### 2.2.2 SLAM 研究方向建议
87+
88+
1. 多学理论基础,关注热点,多看代码,多看论文
89+
90+
2. 了解各种传感器(IMU,深度相机,雷达,UWB)等特性,以及其融合、标定、同步
91+
方案
92+
93+
3. 深入学习算法原理(IMU 预积分,建图算法,规划算法,感知算法等)
94+
95+
4. 心有余力者,可多看书如《机器人的状态估计》,多看论文(Mars Lab(hku) , HKUST Aerial Robotics Group , Fast Lab (zju) , STAR Lab(sysu) )

0 commit comments

Comments
 (0)