課程名稱 |
機器人知覺與學習 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% |
|
|
針對學生困難提供學生調整方式 |
上課形式 |
|
作業繳交方式 |
延長作業繳交期限 |
考試形式 |
|
其他 |
|
|
|