# 机器人SLAM和导航编程技术 **Repository Path**: ros-institute/ros-slam-and-navigation ## Basic Information - **Project Name**: 机器人SLAM和导航编程技术 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 36 - **Created**: 2021-11-13 - **Last Updated**: 2021-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 《机器人SLAM和导航编程技术80讲》 ## 课程介绍 课程名称:机器人SLAM和导航编程技术 适用专业:计算机、自动化、电子、机械 先修课程:ROS机器人编程技术 教学目标:使学生具备熟练机器人SLAM和导航应用程序设计、编写、调试、运行跟踪的综合能力。 课时:80 ## 课程大纲 [第一章 基础知识](./chapter1) [第二章 SLAM](./chapter2) [第三章 导航](./chapter3) [第四章 视觉SLAM导论](./chapter4) | 模块 | 内容 | 课时 | | ---------------------------------- | ------------------------------------------------------------ | ---- | | 1.1 ROS基础概述 | [第一章 第一讲 ROS基础和SLAM与导航概述](./chapter1/class1) | 1 | | 1.1 ROS基础概述 | [第一章 实训一 ROS和课程仿真平台的安装与配置](./chapter1/lab/lab1) | 2 | | 1.2 传感器 | [第一章 第二讲 从XBot-U机器人认识常见传感器](./chapter1/class2) | 1 | | 1.2 传感器 | [第一章 实训二 传感器数据的显示与处理](./chapter1/lab/lab2) | 1 | | 1.3 Linux下的C++编程基础 | [第一章 第三讲 Linux下的C++编程基础](./chapter1/class4) | 1 | | 1.3 Linux下的C++编程基础 | [第一章 第四讲 ROSCPP](./chapter1/class5) | 1 | | 1.3 Linux下的C++编程基础 | [第一章 实训三 Linux下的ROSCPP编程环境和练习](./chapter1/lab/lab4) | 2 | | 2.1 建图定位引言 | [第二章 第一讲 定位建图基本概念](./chapter2/class1) | 1 | | 2.1 建图定位引言 | [第二章 第二讲 定位建图逻辑结构](./chapter2/class2) | 1 | | 2.2 激光匹配(迭代最近邻点匹配ICP) | [第二章 第三讲 经典最近邻迭代ICP](./chapter2/class3) | 1 | | 2.2 激光匹配(迭代最近邻点匹配ICP) | [第二章 第四讲 点直线最近邻迭代PLICP](./chapter2/class4) | 1 | | 2.2 激光匹配(迭代最近邻点匹配ICP) | [第二章 第五讲 PLICP实验流程讲解](./chapter2/class5) | 1 | | 2.2 激光匹配(迭代最近邻点匹配ICP) | [第二章 实训一 实践PLICP](./chapter2/lab/lab1) | 1 | | 2.2 激光匹配(迭代最近邻点匹配ICP) | [第二章 实训二 PLICP参数配置](./chapter2/lab/lab2) | 1 | | 2.3 激光匹配(最小化地图灰度差方法) | [第二章 第六讲 Gauss Newton最小二乘求解地图灰度差](./chapter2/class6) | 1 | | 2.3 激光匹配(最小化地图灰度差方法) | [第二章 第七讲 Correlative Scan Match最大似然场匹配求解](./chapter2/class7) | 1 | | 2.3 激光匹配(最小化地图灰度差方法) | [第二章 第八讲 Hector-SLAM实验流程讲解](./chapter2/class8) | 1 | | 2.3 激光匹配(最小化地图灰度差方法) | [第二章 实训三 实践Hector-SLAM](./chapter2/lab/lab3) | 1 | | 2.3 激光匹配(最小化地图灰度差方法) | [第二章 实训四 Hector-SLAM参数配置](./chapter2/lab/lab4) | 1 | | 2.4 粒子滤波建图 | [第二章 第九讲 Rao-Blackwellized Particle Filter粒子滤波建图](./chapter2/class9) | 1 | | 2.4 粒子滤波建图 | [第二章 第十讲 gmapping实验流程讲解](./chapter2/class10) | 1 | | 2.4 粒子滤波建图 | [第二章 实训五 实践gmapping](./chapter2/lab/lab5) | 1 | | 2.4 粒子滤波建图 | [第二章 实训六 gmapping参数配置](./chapter2/lab/lab6) | 1 | | 2.5 粒子滤波定位 | [第二章 第十一讲 Monte Carlo Localization粒子滤波定位](./chapter2/class11) | 1 | | 2.5 粒子滤波定位 | [第二章 第十二讲 AMCL实验流程讲解](./chapter2/class12) | 1 | | 2.5 粒子滤波定位 | [第二章 实训七 实践AMCL](./chapter2/lab/lab7) | 1 | | 2.5 粒子滤波定位 | [第二章 实训八 AMCL参数配置](./chapter2/lab/lab8) | 1 | | 2.6 图优化建图 | [第二章 第十三讲 位姿图优化建图](./chapter2/class13) | 1 | | 2.6 图优化建图 | [第二章 第十四讲 Cartographer实验流程讲解](./chapter2/class14) | 1 | | 2.6 图优化建图 | [第二章 实训九 实践Cartographer](./chapter2/lab/lab9) | 1 | | 2.6 图优化建图 | [第二章 实训十 Cartographer参数配置](./chapter2/lab/lab10) | 1 | | 2.7 图优化定位 | [第二章 第十五讲 滑动窗口位姿图优化定位](./chapter2/class15) | 1 | | 2.7 图优化定位 | [第二章 第十六讲 Cartographer实验流程讲解](./chapter2/class17) | 1 | | 2.7 图优化定位 | [第二章 实训十一 实践Cartographer定位](./chapter2/lab/lab11) | 1 | | 2.7 图优化定位 | [第二章 实训十二 Cartographer参数配置与定位测试](./chapter2/lab/lab12) | 1 | | 3.1 机器人导航概述 | [第三章 第一讲 机器人导航介绍](./chapter3/class1) | 1 | | 3.1 机器人导航概述 | [第三章 第二讲 ROS navigation简介](./chapter3/class2) | 1 | | 3.2 move_base机器人导航框架 | [第三章 第三讲 move_base导航框架](./chapter3/class3) | 1 | | 3.2 move_base机器人导航框架 | [第三章 实训一 move_base的编译与运行](./chapter3/lab/lab1) | 1 | | 3.2 move_base机器人导航框架 | [第三章 第四讲 move_base插件](./chapter3/class4) | 1 | | 3.2 move_base机器人导航框架 | [第三章 第五讲 move_base参数系统](./chapter3/class5) | 2 | | 3.2 move_base机器人导航框架 | [第三章 实训二 move_base调参](./chapter3/lab/lab2) | 1 | | 3.3 代价地图 | [第三章 第六讲 代价地图](./chapter3/class6) | 1 | | 3.3 代价地图 | [第三章 第七讲 分层代价地图](./chapter3/class7) | 1 | | 3.3 代价地图 | [第三章 实训三 为分层代价地图创建一个新层](./chapter3/lab/lab3) | 2 | | 3.3 代价地图 | [第三章 第八讲 global costmap](./chapter3/class8) | 1 | | 3.3 代价地图 | [第三章 第九讲 local costmap](./chapter3/class9) | 1 | | 3.4 全局路径规划 | [第三章 第十讲 路径规划概述和图搜索 ](./chapter3/class10) | 1 | | 3.4 全局路径规划 | [第三章 第十一讲 Dijkstra规划算法](./chapter3/class11) | 1 | | 3.4 全局路径规划 | [第三章 第十二讲 A\*规划算法](./chapter3/class12) | 1 | | 3.4 全局路径规划 | [第三章 实训四 在静态地图上实现Dijkstra和A*规划算法](./chapter3/lab/lab4) | 2 | | 3.4 全局路径规划 | [第三章 第十三讲 navfn与base global planner](./chapter3/class13) | 1 | | 3.5 局部路径规划 | [第三章 第十四讲 VFH避障算法](./chapter3/class14) | 1 | | 3.5 局部路径规划 | [第三章 第十五讲 DWA算法](./chapter3/class15) | 1 | | 3.5 局部路径规划 | [第三章 第十六讲 Eband算法](./chapter3/class16) | 1 | | 3.5 局部路径规划 | [第三章 实训五 编写自己的局部规划器](./chapter3/lab/lab5) | 2 | | 3.6 机器人导航脱困与自恢复 | [第三章 第十七讲 move base默认的recovery](./chapter3/class17) | 1 | | 3.6 机器人导航脱困与自恢复 | [第三章 实训六 运行并触发自恢复](./chapter3/lab/lab6) | 1 | | 3.6 机器人导航脱困与自恢复 | [第三章 第十八讲 机器人脱困方法与原理](./chapter3/class18) | 1 | | 3.6 机器人导航脱困与自恢复 | [第三章 实训七 设计一个简单的机器人脱困recover插件](./chapter3/lab/lab7) | 1 | | 3.7 大作业 | [第三章 实训八 大作业](./chapter3/lab/lab8) | 2 | | 4.1 视觉SLAM概述 | [第四章 第一讲 视觉SLAM概述](./chapter4/class1) | 1 | | 4.2 相机和ROS中的图像接口 | [第四章 第二讲 相机和ROS中的图像接口](./chapter4/class2) | 1 | | 4.2 相机和ROS中的图像接口 | [第四章 实训一 RealsenseD415深度相机的使用](./chapter4/lab/lab1) | 1 | | 4.3 ORB_SLAM2的原理和应用 | [第四章 第三讲 基于重投影误差视觉里程计的位姿图优化建图](./chapter4/class3) | 1 | | 4.3 ORB_SLAM2的原理和应用 | [第四章 第四讲 ORB-SLAM2实验流程讲解](./chapter4/class4) | 1 | | 4.3 ORB_SLAM2的原理和应用 | [第四章 实训2 ORB-SLAM2安装运行](./chapter4/lab/lab2) | 1 | | 4.3 ORB_SLAM2的原理和应用 | [第四章 实训三 实践ORB-SLAM及参数配置](./chapter4/lab/lab3) | 1 | | 4.4 DSO的原理和应用 | [第四章 第五讲 DSO实验流程讲解](./chapter4/class5) | 1 | | 4.4 DSO的原理和应用 | [第四章 实训四 DSO的建图实践](./chapter4/lab/lab4) | 1 | | 4.5 经典VSLAM项目介绍 | [第四章 第六讲 经典VSLAM项目介绍](./chapter4/class6) | 1 |