Mobile Robotics

Week Date Chapter (Before Class)
1 Tue Aug 27 Introduction and Safety
Thu Aug 29 Design, Assembly, and Electronics
2 Tue Sep 3 Arduino and Embedded Systems
Thu Sep 5 Open-Loop Go to Goal
3 Tue Sep 10 Culture, Automation, and Jobs
Thu Sep 12 Kinematic Modeling
4 Tue Sep 17 Sensors: Wheel Encoders, IMU, and LIDAR
Thu Sep 19 Feedback Control
5 Tue Sep 24 Sense-Plan-Act
Thu Sep 26 Kinematic Trajectory Tracking
6 Tue Oct 1 Bug Algorithms and State Machines
Thu Oct 3 Maps and Representations
7 Tue Oct 8 Sampling and Graph Search
Thu Oct 10 Global and Local Path Planning
8 Tue Oct 15 Fall break
Thu Oct 17 Uncertainty and Error Propagation
9 Tue Oct 22 State Estimation and Filters
Thu Oct 24 Localization
10 Tue Oct 29 Iterative Closest Point (ICP)
Thu Oct 31 Simultaneous Localization and Mapping (SLAM)
11 Tue Nov 5 Embedded Vision
Thu Nov 7 Feature Extraction and Optical Flow
12 Tue Nov 12 Object Detection and Segmentation
Thu Nov 14 ?Visual SLAM?
13 Tue Nov 19 Imitation and Reinforcement Learning
Thu Nov 21 Moral Decision Making
14 Tue Nov 26 Project Workday
Thu Nov 28 Thanksgiving
15 Tue Dec 3 Project Workday
Thu Dec 5 Reading day
16 TBD Final exam

Course Topics and Modules

Modules

  1. Design and Electronics (1,2,3,4)
  2. Modeling and Feedback Control (6,7,8,9,10,11)
  3. Maps and Motion Planning (12,13,14)
  4. Uncertainty (15,16)
  5. Localization and Mapping (17,18,19)
  6. Vision and Learning (20,21,22,23)
  7. Society (5,24)
Chapter Topic Interactive Exercise
1 Introduction and Safety Prototyping
2 Design, Assembly, and Electronics CAD with Onshape Circuits and Wiring
3 Arduino and Embedded Systems Bluetooth LE Remote Control
4 Open-Loop Go to Goal Go to Goal Motor Control 1
5 Culture, Automation, and Jobs Discussions
6 Kinematic Modeling Kinematics Motor Control 2
7 Sensors: Wheel Encoders, IMU, and LIDAR IMU Plotting Sensor Plotting
8 Feedback Control Proportional Control Motor Control 3
9 Sense-Plan-Act Go to Goal Go to Goal
10 Kinematic Trajectory Tracking Tracking Tracking
11 Bug Algorithms and State Machines Bug0 Bug0/1/2
12 Maps and Representations Occupancy Grid Occupancy Grid
13 Sampling and Graph Search Graph Search D* Lite
14 Global and Local Path Planning Dynamic Reactive Control
15 Uncertainty and Error Propagation Uncertainty Senor Modeling
16 State Estimation and Filters Circle Drive Pose Estimation
17 Localization Sensor Fusion Sensor Fusion
18 Iterative Closest Point (ICP) ICP ICP
19 Simultaneous Localization and Mapping (SLAM) SLAM SLAM
20 Embedded Vision SenseCraft
21 Feature Extraction and Optical Flow Optical Flow Optical Flow
22 Object Detection and Segmentation Segmentation Segmentation
23 ?Visual SLAM?
24 Imitation and Reinforcement Learning
25 Moral Decision Making
26 Project Workday
27 Project Workday

https://arxiv.org/abs/1808.10703

TODO: repetition in topics (eg, control -> planning -> control)

Literature / Pop-Culture

Modules

  1. Design and Electronics
  2. Introduction
  3. Safety and Design
  4. Embedded Systems
  5. Open-Loop Go to Goal
  6. Modeling and Feedback Control
  7. Feedback Control with PID and Wheel Encoders
  8. Kinematic Modeling
  9. LQR and iLQR for Circular Paths (feed-forward?)
  10. Maps and Motion Planning
  11. No map? State Machines and Bug Algorithm
  12. ICP mapping? occupancy grid? Correll 12.3
  13. Graph Search and A* (D* Lite?) or sampling-based planning (RRT? PRM?)
  14. Control Architecture Scales (Correll 13.4)
  15. Uncertainty (State Estimation?)
  16. Error Propagation
  17. Sensor Fusion with Kalman Filters
  18. Localization and Mapping
  19. Localization with Particle Filters
  20. Graph-based SLAM
  21. Vision and Learning
  22. Conventional (Features, Optical Flow)
  23. Object Detection
  24. Segmentation
  25. Imitation Learning (RL?)
  26. Societal Impacts
  27. History and Pop-Culture
  28. Automation and Jobs
  29. Moral Decision Making and Liability
  30. Autonomous Vehicle Ethics
  31. Open-Ended Project
  32. Project Workday
  33. Project Workday

Missing topics?

  • MPC
  • Reinforcement Learning
  • Control Architecture
  • Visual SLAM? Google Cartographer?
  • Dynamics Modeling
  • State-Space Modeling and Simulation

Planning Topics

  1. perception
  2. path planning
    1. global path planning (eg, Dijkstra, A, RRT, PRM, D, D* Lite)
    2. local path planning (eg, dynamic window, and some of the global planners)
  3. motion control

Potential New Schedule

  1. Introduction and Safety
  2. Design and Assembly
  3. Arduino and Embedded Systems
  4. Open-Loop Go to Goal
  5. History, Pop-Culture, Automation, and Job Loss
  6. Kinematic Modeling
  7. Wheel Encoders, IMU, and LIDAR
  8. Sense-Plan-Act Go to Goal (Klancar: reference pose)
  9. Bug Algorithms and State Machines
  10. Kinematic Trajectory Tracking
  11. Map/Environment Representation (and Configuration Space)
  12. Sampling and Graph Search
  13. Global and Local Path Planning
  14. Uncertainty and Error Propagation
  15. State Estimation and Filters
  16. ?ICP? “Lines? ?Lidar?
  17. Localization
  18. ?Simple SLAM?
  19. Feature Extraction and Optical Flow
  20. Object Detection and Segmentation
  21. ?Visual SLAM?
  22. Imitation Learning and Reinforcement Learning
  23. Moral Decision Making, Liability, and Ethics
  24. Project Workday
  25. Project Workday
  • mocap?

  • then kinematic trajectory tracking?

  • planning sequence

    • map/environment representation (https://www.mathworks.com/help/robotics/ug/perform-path-planning-simulation-with-mobile-robot.html)
    • configuration space
    • sampling methods like RRT, RRT*, ?PRM?
    • graph search like A* or D* Lite (https://www.cs.cmu.edu/~motionplanning/lecture/AppH-astar-dstar_howie.pdf)
  • uncertainty

    • propagation of error
    • state estimation, filters
    • something with lines and lidar?
    • localization
    • simplest SLAM
  • vision and learning

    • conventional vision (features, optical flow)
    • object detection
    • segmentation
    • imitation learning, reinforcement learning
    • visual SLAM?
  • Moral Decision Making, Liability, and Ethics

  • Project Workday

  • Project Workday

Week Date Chapter
1 Tue Aug 27 Introduction
Thu Aug 29 Safety and Design
2 Tue Sep 3 Embedded Systems
Thu Sep 5 Open-Loop Go to Goal
3 Tue Sep 10
Thu Sep 12
4 Tue Sep 17
Thu Sep 19
5 Tue Sep 24
Thu Sep 26
6 Tue Oct 1
Thu Oct 3
7 Tue Oct 8
Thu Oct 10
8 Tue Oct 15 Fall break
Thu Oct 17
9 Tue Oct 22
Thu Oct 24
10 Tue Oct 29
Thu Oct 31
11 Tue Nov 5
Thu Nov 7
12 Tue Nov 12
Thu Nov 14
13 Tue Nov 19
Thu Nov 21
14 Tue Nov 26 Project Workday
Thu Nov 28 Thanksgiving
15 Tue Dec 3 Project Workday
Thu Dec 5 Reading day
16 TBD Final exam

Exercises (probably want 14?):

  1. Open-loop go to goal
  2. Remote control
  3. Closed-loop go to goal with wheel encoders (Klancar Example 3.1)
    1. reference position through intermediate points
  4. Go to goal and avoid obstacles
  5. Autonomously explore a space with static obstacles
  6. Autonomously navigate a course with dynamic obstacles
  7. Chosen Project
  8. Society discussion compute kalman matrix values from sensor data least squares derive equations (eg, Kalman filter, equations of motion)

Robotics and Autonomous Systems - MATLAB & Simulink Mobile Robot Kinematics Equations - MATLAB & Simulink Perform Path Planning Simulation with Mobile Robot - MATLAB & Simulink Mapping - MATLAB & Simulink Motion Planning with MATLAB - MATLAB & Simulink Examples Robotics and Autonomous Systems — Examples

Grid based search

Lidar to grid map

Assignments - tell a complete story - assignment to go to home base from set starting location - assignment to navigate map from unknown starting location - use google sheet to aggregate data collection - gradescope: ask for advice on making the assignment better

  1. deadman’s switch (stop when no signal; otherwise autonomous)
    1. Should start with simple blink using chrono (no delay) (or AntiDelay)
    2. http://sofapirate.github.io/Chrono/
    3. profile with perfetto and simple C++ class
    1. https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/main.cpp
    2. Does not work with delays
    3. How to Avoid Using the Delay() Function in Arduino Sketches
    4. robot might run away
  2. dead-reckoning
    1. Land robot in target zone
    2. motor performance changes as battery drains (feedback control will help)
  3. automatic emergency breaking
  4. pid wall following
  • bug or wall-following or artificial potential fields
    • https://www.cs.cmu.edu/~motionplanning/
    • https://www.cs.cmu.edu/~motionplanning/lecture/lecture.html

Assignment: include bug in Arduino code and have them fix it.

Peer Evaluation - CATME

loop (repetition) 1. encoders distance 2. add vision 3. implement lqr/mpc (https://github.com/f1tenth/f1tenth_lab9_template)

Other thoughts

  • gaussian equation widget (adjust values and show the graph)
  • Maximum Likelihood, Least Squares Estimation, Maximum A Posteriori Estimation
  • Least Squares and KKT conditions
  • Dual problems: control and estimation
  • Least squares as a special case of maximum likelihood estimation on Gaussian models.
  • estimation before localization
  • if covering linearization, then look at boyds lecture on nonlinear least squares
  • boyd lectures have good info on nonlinear control (e.g., directing a nonholonomic robot)
  • cirlces and lines path planning (modern robotics)
  • Klančar examples (e.g., Kalman)
  • Boyd LQR notes
  • only teach dynamics when needed; kinematics probably good enough
  • reactive, FSMs, hierarchical FSMs, behavior trees, mission planning

Concept Inventory

Here is the inventory of topics I considered when developing this course.

Category Concepts
1. Design Requirements, CAD, Fabrication, Mechatronics, Electronics, Safety
2. Programming Embedded Systems, Communication, Real-Time, Debugging
3. Math Linear Algebra, Probability, Statistics, Discretization, Optimization, Linearization
4. Modeling Diagramming, Mechanics, Kinematics, Dynamics, Simulation, Motion Capture
5. Control Feedback, Motion, Robustness, Adaptivity, Reactive, Behavioral
6. Planning Search, Mapping, Motion, Trajectory
7. Vision Conventional, Learning, Optical Flow
8. Uncertainty Estimation, Localization, Fuzzy Logic, Filtering, Identification, SLAM
9. Society History, Laws, Ethics, Morals, Jobs, Pop-Culture

Specific techniques:

  1. Design: Requirements, OnShape, 3D Printing, Laser Cutting, Soldering, Circuits
  2. Programming: Emergency Braking, Active Enable, Arduino, I2C, WiFi, Debugging, Discretization
  3. Math: Vectors, Rotation Matrices, Bayes Theorem, Least Squares, Linearization, Optimization
  4. Modeling: Differential Kinematics, Dynamics, State-Space, Simulation
  5. Control: Open-Loop, Tracking, PID, (i)LQR, MPC, State Machines, Bug Algorithm, Pure Pursuit, Architectures
  6. Planning: BFS, DFS, A, RRT, D, D* Lite, PRM, Occupancy Grid, Constrains
  7. Vision: Optical Flow, Object Detection, Learning (ML and RL), Policy Search
  8. Uncertainty: Kalman Filters (KF, EKF, UKF), Particle Filters, Estimation, Localization, Mapping, SLAM
  9. Society: Moral Decision Making, Job Loss, Literature

Try markmap > Download as interactive HTML

  • Society
    • History
    • Pop-culture
    • Automation and Jobs
    • Ethics
    • Moral Decision Making
    • Liability
  • Design
    • Requirements Engineering
    • Computer Aided Design (CAD) (eg, OnShape)
    • Fabrication (eg, 3D Printing, Laser Cutting)
    • Electronics (eg, Soldering, Circuits)
    • Safety (eg, Emergency Braking, Active Enable)
    • Embedded Systems (eg, Arduino, I2C, BLE, Debugging)
  • Mathematics and Numerics
    • Vectors, Spaces, and Linear Algebra
    • Least Squares
    • Probability
    • Statistics
    • Optimization
  • Modeling
    • Kinematics
    • Dynamics
    • Simulation
    • State-Space
    • Discretization
    • Linearization
  • Control
    • Open-loop Control
    • Feedback Control (eg, PID)
    • LQR and iLQR
    • MPC and MPPI
    • Control Theory
    • Bug Algorithms
    • State Machines
    • Sense-Plan-Act
    • Hierarchical Control
  • Localization
    • Uncertainty
    • Error Propagation
    • Bayes Theorem
    • State Estimation
    • Sensor Fusion
    • Histogram Filters
    • Kalman Filters (eg, KF, EKF, UKF)
    • Particle Filters
  • Mapping
    • Representation (eg, Occupancy Grid)
    • Cell Decomposition (eg, quadtree)
    • Roadmaps (eg, Voronoi)
    • Potential Fields
    • Point Clouds
    • Clustering
    • Iterative Closest Point (ICP)
    • SLAM (eg, Graph-based, EKF, FastSLAM)
  • Planning
    • Global and Local
    • Constraints
    • Dynamic Window Approach
    • Trajectory Tracking (eg, Pure Pursuit, MPC, iLQR)
    • Probabilistic Roadmaps (PRM)
    • Graph Search (eg, BFS, DFS, A, D Lite)
    • Sampling (eg, RRT)
    • Motion Planning
    • Trajectory Planning
    • Path Planning
  • Vision
    • Feature Extraction
    • Optical Flow
    • Object Detection
    • Segmentation
    • Learning (eg, ML, RL, Policy Search)

terrybrash/dragon-space: Spatial partitioning concepts and implementions.