1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际授课需要或在课程检讨之后产生变动。如对课程有任何疑问,请联
系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be
directed to the course instructor.
1.
课程名称 Course Title
智能机器人 Intelligent Robots
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Technology
3.
课程编号
Course Code
CS401
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业选修课 Major Elective Courses
6.
授课学期
Semester
春季 Spring
7.
授课语言
Teaching Language
英语 English
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
郝祁,副教授,计算机科学与工程系,haoq@sustech.edu.cn
Qi Hao, Associate Professor, Department of Computer Science and Technology,
haoq@sustech.edu.cn
9.
/
方式
Tutor/TA(s), Contact
王帅军,在读博士生,计算机科学与工程系,11849555@mail.sustc.edu.cn
Shuaijun Wang, Ph.D candidate, Department of Computer Science and Technology,
11849555@mail.sustc.edu.cn
10.
选课人数限额(不填)
Maximum Enrolment
Optional
授课方式
Delivery Method
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
11.
学时数
Credit Hours
32
64
2
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
C102A 计算机程序设计基础 A Introduction to Computer Programming A
CS203 数据结构与算法分析 Data Structures and Algorithm Analysis
MA212 概率论与数理统计 Probability and Statistics
13.
后续课程、其它学习规划
Courses for which this
course is a pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
本课程主要带领大家认识机器人学科的各个分类并着重介绍移动机器人,包括移动机器人的理论基础,移动机器人感知、
驱动、定位、建图、导航以及探索等重要算法。在实践方面介绍应用广泛的机器人操作系统 ROS,常用机器人开发平台:
MATLAB Robotics System ToolboxGazebo 以及 TurtleBot2。学生应能运用这些平台开发合适的算法实现特定的任务。
In this course, we first introduce some main fields of robotics than emphasize on the motion robot, including the basic
theory, the important algorithms of some tasks such as perception, driving, localization, mapping, navigation, exploration,
etc. We also introduce the widely used robot operating system, ROS, for practice as well as common used robot
development platform, MATLAB Robotics System ToolboxGazebo and TurtleBot2. The students are expected to use
these platforms to develop proper algorithms for certain tasks.
16.
预达学习成果 Learning Outcomes
在学习完成时,学生应该熟悉常用移动机器人控制算法。能够熟练运用 ROS 完成机器人的相关项目。
Upon completion of this course, the students are expected to be familiar with common motion robot control algorithms
and use ROS proficiently to complete some projects.
17.
课程内容及教学日历 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if
this is a team teaching or module course.)
3
第一周:导论
o 课程介绍,包括课程资料及评分政策;移动机器人;机器学习;传感、控制和规划;
o 智能机器人导论,包括移动机器人,机器学习,传感、控制和规划等内容;
[实验课] 简要介绍 ROS,介绍 MATLAB 机器人系统工具包,介绍教学用 Turtlebot 器人和 Gazebo 模拟器,网络资源
参考资料。
第二周:移动机器人控制与决策体系结构
o 移动机器人定义、结构与功能;
o 控制和决策体系结构及示例;
[实验课] 带领学生熟悉 ROS 系统,包括安装和配置工作环境,学习功能和指令。
第三周:机器人运动
o 机器人硬件说明;
o 移动机器人运动学;
o 运动控制;
[实验课] 介绍 MATLAB 工具软件及 Gazebo 模拟器,如何编写程序和使用系统工具包
第四周:传感器
o 机器人感知;
o 传感器的分类;
o 传感器说明:编码器、探测器、Kinect、全球定位系统(GPS)
[实验课] 介绍 transform 的概念,如何编写 tf 的发布与接受结点
第五周:项目报告
[实验课] 项目报告
第六周:概率机器人
o 概率基础;
o 贝叶斯规则;
o 动作建模;
o 贝叶斯滤波器;
[实验课] 熟悉 TurtleBot2 机器人以及远程 PC 的控制,学习 Kinect Odometer 的使用。
第七周:概率运动模型
o 基于里程计的模型;
o 基于速度的模型;
o 地图一致性模型;
[实验课] 了解 gmapping 包,在提供相应 topic 数据的情况下会用 gmapping 构建地图
4
第八周:概率传感器模型
o 基于激光的模型;
o 基于扫描的模型;
o 基于地标的模型
[实验课] 使用 TurtleBot2 构建地图,了解其 launch 文件的构成并会写自己的结点和 launch 文件
第八周:期中考试(开卷)
[实验课]
第九周:卡尔曼滤波器
o 高斯;
o 卡尔曼滤波器;
o 扩展卡尔曼滤波器
[实验课] AMCL 定位算法的介绍以及 ROS 包的使用
第十周:粒子滤波和蒙特卡罗定位
o 重要性抽样;
o 粒子滤波器;
o 蒙特卡罗本地化;
[实验课] 路径规划(1
第十一周:使用已知姿势进行映射
o 占用图;
o 反射图;
[实验课]路径规划(2
第十二周:错误传播和特征提取
o 错误传播;
o 里程碑, 特征提取;
o 最小二乘估计;
[实验课]导航及 navigation 包的使用
第十三周:扩展卡尔曼滤波器定位
o 基于地标的定位;
o EKF 本地化;
o 全球本地化;
[实验课] navigation/stage 的使用
第十四周:同步定位和映射
5
o SLAM
o 图形模型;
o EKF SLAM
[实验课] navigation/stack 的使用
第十五周:路径规划和运动规划
o 运动规划;
o 动态窗口方法;
o A*算法;
o 5D 规划;
[实验课] final project 指导
第十六周:总结和复习
[实验课] 复习、答疑。
Week 1: Introduction
o Course information and grading policy;
o mobile robots; machine learning; sensing, control and planningIntroduction Artificial Intelligence
[Lab] Introduce ROS and MATLAB robot system toolbox.
Introduce the Turtlebot robot and Gazebo, network resources, and learning materials.
Week 2: Mobile Robot Control and Decision Architecture
o Mobile robots;
o control and decision paradigms;
o control and decision architecture;
[Lab] Introduction to ROS systems, including installing and configuring work environments, functions and instructions.
Week 3: Locomotion
o Hardware specifications;
o mobile robot kinematics;
o motion control
[Lab] Brief introduction to MATLAB, learning how to program your homework, and Robotics System Toolbox.
Week 4: Sensors
o Robot perception;
o sensor classification;
o sensor specifications; encoder; LF; Kinect; GPS
[Lab] Introduce the concept of transform and how to code the broadcast and receive node of tf.
6
Week 5: Proposal Presentations
[Lab] Project proposal
Week 6: Probabilistic Robotics
o Probability fundamentals;
o Bayes rules;
o action modeling;
o Bayes filters;
[Lab] Get in touch with TurtleBot2 and the remote PC control. Learn how to use Kinect and Odometer.
Week 7: Probabilistic Motion Models
o Odometry-based models;
o velocity-based models;
o map-consistent models
[Lab] Learn the gmapping package and use it to build a map using provided rosbag.
Week 8: Probabilistic Sensor Models
o Beam-based models;
o scan-based models;
o landmark-based models;
[Lab] Mid-term examination
Week 9: Kalman Filter
o Gaussians;
o Kalman filters;
o extended Kalman filters
[Lab] Introduction of AMCL algorithms and the use of certain ROS package.
Week 10: Particle Filter and Monte Carlo Localization
o importance sampling;
o particle filter;
o monte carlo localization
[Lab] Planning(1)
Week 11: Mapping with Known Pose
o Occupancy map;
o reflection map;
[Lab] Planning(2)
Week 12: Eorror Propagation and Feature Extraction
o Error propagation;
o Landmark, feature extraction;