CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Course Logistics Instructor: Jingjin Yu
Logistics, etc. General Lectures: Noon-1:20pm Tuesdays and Fridays, SEC 118 Instructor: Jingjin Yu Office: CBIM 03 (in the back of the building) Office hours: 4:30-5:30pm Tuesdays or by app. (2 days in advance) TAs (to be finalized in the next few days, office hours TBD): Shuai Han (shuai.han@rutgers.edu) Wei Tang (wei.tang@rutgers.edu) Webpage: https://arc.cs.rutgers.edu/courses/f17/460.html E-mail: CS460F@gmail.com (~1 day response time frame) Do not expect instance responses via E-mail plan early!!!
Logistics, etc. Reference Texts - Downloadable [IAMR] Introduction to Autonomous Mobile Robots, 2nd Edition Roland Siegwart, Illah Reza Nourbakhsh, Davide Scaramuzza [MR] Modern Robotics: Mechanics, Planning, and Control Kevin M Lynch and Frank C. Park [PA] Planning Algorithms Steve LaValle [PRMTAI] Principles of Robot Motion:Theory, Algorithms, and Implementations Howie Choset, Kevin M. Lynch, Seth Hutchinson, George A. Kantor, Wolfram Burgard, Lydia E. Kavraki, Sebastian Thrun
Logistics, etc. Course Work and Grading Homework sets (HW): 3-4 (25%) Programing assignments (MP, mostly python): 3-4 (25%) MPs may have hardware project(s), depending on class progress and hardware availability. Groups of 1-2 students. Midterm: Time TBD, likely late October/early November (20%) Final: Thursday, December 21, 8am-11am (20%) Participation: class (4%) + lab (8%) Attendance rules: 3 random name counts throughout the semester, 1 1%, 2 2%, 3 4%. All labs (recitations) must be attended, worth 8% total. More on labs later. 560 students may choose to do a course research project instead of the final. Interested students should talk to me soon.
Logistics, etc. Course Work Policies No late HW/MP. No exceptions plan ahead! However, Lowest scored HW/MP will receive at least 75% of full score Only 1 exception (either HW or MP)! Course final score will be curved Undergraduates and graduate students have different curves The number of HW/MP will depend on progress. Each HW/MP has the same weight. E.g., if we have 8 HW/MP in total, each is then worth 6.25% toward the course total. Zero tolerance on cheating
Logistics, etc. Lab 7-9 labs on robotics software and hardware. Some topics 3D-printing get started Robotic operating systems (ROS) intro ROS simulation (e.g., quad copter control) intro Will begin 2-3 weeks into the semester Done in recitation sessions Participation is mandatory (will record attendance) Only during certain weeks (will be announced) Bring your laptop if you want to actively participate Should have Ubuntu (VM is fine, 14.04.5 preferred) for some labs Other (free) software installation will be announced in advance Can be done in groups (some will require a group) Only participation is required for the 8% credit But, some of the materials may appear in exams
Logistics, etc. Placement of CS 460/560 Placement of CS 460/560 with respect to other robotics courses (in preparation) CS 460/560: Computational Foundations of Robotics, Fall Introductory, mobile robotics focus With labs CS (561?): Algorithmic Foundations of Robotics, Spring Advanced, algorithmic focus with more theory coverage Covers mobile robots and kinematic chains (e.g., manipulators & humanoids) CS (562?): Bio-Inspired Robotics, Spring With a focus on bio-mechanisms, neuroscience, and learning
Logistics, etc. Course Outline Tentative class schedule (14 weeks) 1 week on logistics/introductory material 1-2 weeks on background material (mathematical foundations) 2 weeks on sensing and perception 6-7 weeks on planning and decision making 2-3 weeks on actuation and control Schedule is subject to change depending on class progress
Questions?
CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 00 Summary of Topics Instructor: Jingjin Yu
Introduction What is a robot? Why? Brief history of robots Types of robots and their applications Industrial Transportation Home Medical Agriculture Social and entertainment... The main components of robots Sensing Computation Actuation
Mathematical Foundations Quick review of sets, functions, etc. Transformations Group concepts Fun topological concepts Topological spaces Fixed-point theorems (continuous, discrete) Hairy ball theorem Manifolds Metric spaces
Sensors Real sensors and their mechanism Compass Encoders Accelerometers, gyroscope, magnetic field sensor, IMU IR sensors, active and passive Laser scanners Cameras Virtual and abstract sensors Heading sensors Distance sensors Object counters. Sensor mapping
State Estimation Localization techniques Triangulation, trilateration, etc GPS mechanisms Other localization methods State estimation Kalman filters Extended Kalman filters (EKF) Particle filters Combinatorial filters Simultaneous localization and mapping (SLAM)
Discrete Planning Review and Extensions Review of classical graph search algorithms Dynamic programming DFS, BFS, uniform-cost, A* All pairs shortest path D* and D*-lite
Combinatorial Motion Planning The configuration space Minkowski sum Combinatorial planning methods Visibility graph and 2D shortest path Vertical cell decomposition Cylindrical algebraic decomposition Canny s algorithm Complexity of motion planning Extensions Time varying obstacles Hybrid domain (discrete and continuous) Manipulation planning Coverage planning
Multi-Robot Path Planning Feasibility problems Optimal solutions for the discrete case Distinguishable robots Complexity A*-based methods Integer linear programming based methods Indistinguishable robots Network flow Continuous domains
Probabilistic methods Sampling theory Collision detector Sampling-based planning methods Probabilistic road maps (PRM) Rapidly-exploring random trees (RRT) Optimal version (RRT*, SST)
Other Planning Methods Feedback based planner, artificial potential field Planning under differential constraints Combinatorial methods Sampling based methods Minimalistic planning methods Bug algorithms Gap navigation trees Nonprehensile manipulation Planning under uncertainty Discrete MDP POMDPs
Control Trajectory tracking, pure pursuit PID control Advanced topics (gentle intro) Euler-Lagrange Dynamic programming and the maximum principle Controllability
Computational Methods You Will Learn Example 1: How does GPS navigation work? GPS hardware basics Trilateration-based localization One of your assignments Route planning Example 2: How to move robots? How to model rigid body motion Algorithms for solving them Example 3: How to actually control robots? How to make a quadcopter stay in the air?
A Word About Easy/Hard Questions?