📝 Course Description
This course provides a comprehensive introduction to the fundamental concepts and practical applications of mobile robotics. Students will gain a solid understanding of robot kinematics, locomotion, perception, and navigation, with a strong emphasis on hands-on experience using the Robot Operating System 2 (ROS2). The curriculum is designed to equip students with the necessary skills to design, program, and integrate mobile robotic systems in various environments.
🎯 Learning Objectives
-
Upon completion of this course, students will have a general understanding of the field of mobile robotics (including both hardware and software), understand various problems and existing solutions (at the system and algorithm levels), and be able to use ROS middleware.
-
Integrating theory with practice, students will also gain hands-on experience using simulators to address fundamental mobile robotics problems, such as frontier-based exploration, SLAM using 2D laser rangefinders/cameras, grid-map-based robot navigation, etc.
📚 Prerequisites
-
Programming experience (e.g., C, C++, Python, Java, etc.) is essential.
-
Basic knowledge of linear algebra, calculus, and probability theory is required.
-
Experience with Linux (especially command-line) is helpful.
🗓️ Course Schedule
- Lecture 1 (.pdf): Introduction (1h30, overview of mobile robotics, history, applications, and challenges)
- Practical work 1 (.pdf): ROS2 Installation (1h30, setting up the ROS2 environment on student machines)
- Lecture 2 (.pdf): Software for Robotics (1h30, robot software architectures and communication protocols)
- Practical work 2 (.pdf): ROS2 Beginner Level (1h30, hands-on with basic ROS2 commands and the turtlesim simulator)
- Lecture 3 (.pdf): System Integration (1h30, interfacing hardware and software, building and managing development workspaces)
- Practical work 3 (.pdf): ROS2 Intermediate Level (1h30, working with multiple nodes, custom messages, and launch files)
- Lecture 4 (.pdf): Locomotion (1h30, types of mobile robot locomotion including wheeled and legged)
- Practical work 4 (.pdf): Play with Gazebo (1h30, simulating a robot in Gazebo and commanding its movement)
- Lecture 5 (.pdf): Kinematics (1h30, forward kinematics of wheeled and legged robots)
- Practical work 5 (.pdf): tf2 & URDF (1h30, implementing tf2 for coordinate transformations and creating URDF models)
- Lecture 6 (.pdf): Perception (1h30, introduction to robot sensors such as lidar, camera, IMU and encoders)
- Practical work 6 (.pdf): Maze Solving (1h30, using sensor data to navigate and solve a simple maze)
- Lecture 7 (.pdf): SLAM (1h30, fundamentals of Simultaneous Localization and Mapping)
- Practical work 7 (.pdf): slam_toolbox (1h30, implementing and evaluating SLAM using slam_toolbox)
- Lecture 8 (.pdf): Exploration (1h30, strategies for autonomous robot exploration)
- Practical work 8 (.pdf): Frontier-based Exploration (1h30, developing and testing a frontier-based exploration system)
- Lecture 9 (.pdf): Planning (1h30, task and path planning algorithms)
- Practical work 9 (.pdf): Nav2 (1h30, configuring and using Nav2 planners and designing basic behavior trees)
- Lecture 10 (.pdf): Navigation (1h30, global and local navigation strategies, obstacle avoidance, and dynamic environments)
- Practical work 10 (.pdf): Nav2 (1h30, full navigation stack implementation with Nav2)
- Lecture 11 (.pdf): Multi-robot Systems (1h30, coordination, communication, and task allocation in multi-robot teams)
- Practical work 11 (.pdf): ROS2 Namespaces and DDS (1h30, implementing multi-robot communication and basic (formation) patrol)
-
Lecture 12: Exam
- Lecture 13 - 18: Project
📖 References
-
David FILLIAT. Robotique Mobile. ENSTA.
-
Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. Introduction to Autonomous Mobile Robots. MIT Press.
-
Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic Robotics. MIT Press.
-
Howie Choset, Kevin M. Lynch, Seth Hutchinson, George A. Kantor, Wolfram Burgard, Lydia E. Kavraki, and Sebastian Thrun. Principles of Robot Motion: Theory, Algorithms, and Implementations. MIT Press.
-
Shuuji Kajita, Hirohisa Hirukawa, Kensuke Harada, and Kazuhito Yokoi. Introduction to Humanoid Robotics. Springer.