This course provides a computer scientist’s perspective of how autonomous robots perceive the environment and plan their actions accordingly. Topics include: Coordinate Systems, Sensors for mobile robots, including cameras, wheel/motor sensors, obstacle avoiding sensors, etc., Localization of mobile robots and mapping of an environment (SLAM), Path/motion planning algorithms such as Bug, A*, D*, PRM, RRT etc., and multi-robot systems.
The students will learn about the above-mentioned techniques and implement a few of them in simulation using high-fidelity simulators like V-Rep, Webots, and/or Gazebo. Students will also gain experience in the Robot Operating System (ROS) and will potentially implement algorithms on real TurtleBot 3, AR Drone, or Bebop 2 robots as part of their final class projects.
|Textbook||Correll, N. (2015). Introduction to Autonomous Robots-Kinematics, Perception, Localization and Planning (Free downloadable version on GitHub). (Required)
Siegwart, R., Nourbakhsh, I. R., Scaramuzza, D., & Arkin, R. C. (Second edition, 2011). Introduction to autonomous mobile robots. MIT press. (Recommended)
LaValle, S. M. (2006). Planning algorithms. Cambridge University Press (Free downloadable version from the author’s website). (Recommended)
|Prerequisites||COP 3530/3538 Data Structures|
||The student will:
1. Represent the position and orientation of a robot.
2. Understand and model various sources of noise in a robot’s perceptions.
3. Implement vision-based algorithms for object detection and obstacle avoidance.
4. Design techniques for mapping an environment.
5. Understand and implement state-of-the-art localization techniques.
6. Implement and optimize state-of-the-art path/motion planning algorithms.
|– Introduction: History and Overview
– Locomotion and manipulation and their “degrees of freedom”
– Coordinate systems and frames of reference
– Different sensors used in mobile autonomous robots: Accelerometer, IMU, Gyroscope, GPS, laser, encoders etc.
– Noise representation in sensors
– Configuration space and its discretization
– Path/motion planning algorithms: A*, D*, Sampling-based methods such as PRM, RRT etc.
– Simultaneous localization and mapping (SLAM)
– Multi-robot systems: coverage path planning, communication