課程資訊
課程名稱
機器人知覺與學習
Robot Perception and Learning 
開課學期
113-1 
授課對象
電機資訊學院  資訊網路與多媒體研究所  
授課教師
柯宗瑋 
課號
CSIE5117 
課程識別碼
922 U3430 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期五2,3,4(9:10~12:10) 
上課地點
資101 
備註
總人數上限:50人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Building a robot to function in the real-world remains challenging, which requires (1) perception, that recognizes the hidden states of the embodied scene, (2) decision making, that generates optimal plans to achieve tasks, and (3) action, that controls robot’s machinery to move in and interact with the environment. With decades of efforts, scientists have introduced numerous techniques that enable robots working in a controlled and known environment (e.g. industrial robots). However, these techniques fail in non-controlled and non-structured environments, such as streets/kitchens/homes/offices that are noisy, complex and constantly changing. Moreover, these techniques are incapable of building robots that continually learn new tasks, adapt effectively to new environments, and achieve each user’s individual need.

This course provides a technical overview of perception, decision making and action control in robotics with an emphasis on the development of generalist robots. The course covers: (1) state-of-the-art robot perception that senses the environment with visual, audio, and tactile signals, (2) classical control and planning, that provides a theoretical basis, and (3) state-of-the-art robot learning that facilitate adaptive and continual learning of robot tasks. 

課程目標
The goal of this class is to guide you through “what are the essential components” and “when/how they are used” in robotic research. Going through each component thoroughly is not our goal.

After this course, I hope you know:
- What are the topics of perception that are highly related with Robotics
- The classical planning-and-control pipeline in Robotics
- Why learning is important in Robotics, and what are the open research questions in Robot learning
- What’re under the hood of robot system

After this course, I hope you’d be able to:
- Set up a visual perceptual system for real-world robots
- Set up a simulator to kick-start your robotic research
- Train robot policies with imitation learning
- Train robot policies with reinforcement learning
- Implement a diffusion model 
課程要求
Theory: Machine Learning, Linear Algebra, Probability Theory
- ML: stochastic gradient descent, loss function, optimization, neural network
- Linear Algebra: matrices, vectors, norms, scalar/vector products, orthogonality, singular value decomposition…
- Probability Theory: expectation, independence, Baye’s Theorem...


Coding:
- Linux: setting up the required environment, being familiar with bash scripts
- Python: creating python projects, importing required packages, visualizing your results
- Pytorch: creating NNs, setting up training & evaluation pipeline

Hardware: your own Linux machine with GPU for your final project 
預期每週課後學習時數
 
Office Hours
每週五 13:00~14:00 
指定閱讀
 
參考書目
Textbooks:
1. Modern Robotics: Mechanics, Planning, and Control. Frank Chongwoo Park and Kevin M. Lynch. Available at https://hades.mech.northwestern.edu/index.php/Modern_Robotics
2. Underactuated Robotics by Russ Tedrake. Available at https://underactuated.csail.mit.edu/index.html
3. Reinforcement Learning: An Introduction. Andrew Barto and Richard S. Sutton. Available at http://incompleteideas.net/book/the-book-2nd.html.
4. Computer Vision: Algorithms and Applications 2nd Edition. Richard Szeliski. Available at https://szeliski.org/Book/.
5. Robotic Systems. Kris Hauser. Available at https://motion.cs.illinois.edu/RoboticSystems/Book.html.

Other resources:
1. Reinforcement learning:
- UC Berkeley CS 285: Deep Reinforcement Learning, by Sergey Levine (https://rail.eecs.berkeley.edu/deeprlcourse/)
- UCL Courses on RL, by David Silver (https://www.davidsilver.uk/teaching/)
- UCSD: Machine Learning for Robotics, by Hao Su (https://haosulab.github.io/ml-meets-robotics-SP24/schedule.html)
- UIUC ECE598SG: Special Topics in Learning-based Robotics, by Saurabh Gupta (https://saurabhg.web.illinois.edu/teaching/ece598sg/fa2022/)
- CMU 10-403: Deep Reinforcement Learning, by Katerina Fragkiadaki (https://cmudeeprl.github.io/403website_s24/)
- MIT 6.8200: Computational Sensorimotor Learning, by Pualkit Agrawal (https://pulkitag.github.io/6.8200/docs/)

2. Control and Planning
- UW CSE-571: AI-Robotics, by Abhishek Gupta (https://courses.cs.washington.edu/courses/cse571/23sp/)
- UW CS-490R: Mobile Robots, by Sanjiban Choudhury (https://courses.cs.washington.edu/courses/cse490r/19sp/#schedule)

3. Robot Learning
- UT Austin CS391R: Robot Learning by Yuke Zhu (https://sites.google.com/view/gt-cs-8803-dlm/home)
- USC CS 699: Deep Learning for Robotic Manipulation, by Daniel Seita (https://sites.google.com/usc.edu/cs699-fa23-manipulation/home)
- Stanford CS 237b: Principles of Robot Autonomy II (https://web.stanford.edu/class/cs237b/)


Also, I found following the course material (https://manipulation.csail.mit.edu/) by Russ Tedrake extremely useful, which gives an overview of robot manipulation 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Homework 
45% 
Coding assignments 
2. 
Participation  
5% 
 
3. 
Final Project 
50% 
 
 
針對學生困難提供學生調整方式
 
上課形式
作業繳交方式
延長作業繳交期限
考試形式
其他
課程進度
週次
日期
單元主題
無資料