Introduction to Cognitive Robotics www.cognitiverobotics.net Version History Version 1 26/01/2021 Version 1.1 06/02/2021 CR02-02: Slides 5 and 6 added a note on creating a ROS workspace CR02-02: Slide 9 corrected a slide reference CR01-03: Slide 7 fixed typo CR03-03: Added slide 5 CR03-04: Removed slides 21-37 as these contain the material in CR03-05 Version 1.2 17/02/2021 CR01-04: Slides 12 and 13 changed github organization name to cognitive-robotics-course CR02-02: Changed dvernon to mystudentid CR03-01: Slide 1 title changed to relative position estimation using inertial sensors CR03-01: Added sides with videos for a sample of robots, e.g. Picker, Atlas, Turtlebot, Zipline CR03-02: Slide 1 title changed to relative position estimation using odometry CR03-02: Slide 23 added note on change in orientation bing the same in both frames of reference CR03-02: Slide 24 added note on orientation at time t in the inertial frame of reference CR03-02: Slide 24 removed Delta theta from diagram CR03-02: Slide 34 change note on pi - (pi – Delta theta)/2) to pi/2 - (pi – Delta theta)/2) CR03-03: Slide 2 change (xR, yR) to (xr, yr) to avoid confusion with axes in robot frame of reference XR, YR CR03-03: Slide 3 changed second instance of L2 = (x2, y2) to L3 = (x3, y3) CR03-03: Slide 4 added a hint to the question CR03-03: Slide 5 added an answer to the question CR03-03: Slide 7 added a note about the two circles CR03-03: Slide 8 changed text to make it explicit that the goal is to measure angles CR03-03: Slide 9 changed text to make it explicit that the goal is to measure angles CR03-05: Slide 6 changed "multiplying by time" to "multiplying by time elapsed" CR03-05: Slide 13 changed "both errors" to "all three errors" CR04-06: Slide 2 deleted CR04-03: Slides 17-19 added on alternative conventions for end-effector frame CR04-06: Slide 1 corrected lecture number (4 -> 6) Version 1.3 09/03/2021 CR02-02: Slides 10, 17, 30, 41 modified to use CMake directives that avoid name pollution CR05-01: Slides 27, 29, 30 cosmetic change in colour of chromatic axis label and arrow; rearranged slides 50-54 CR05-02: Slide 2 new note on OpenCV 3.3 on Ubuntu with ROS; Slide 3, 9, 13, 17 refer to example application, not project Added instructions on how to run the examples CR05-03: Slide 9 repositioned arrow and 255 label; Slides 38, 40, 43, 50, 52 refer to example application, not project Added instructions on how to run the examples CR05-04: Added instructions on how to run the examples; tidied up the maths on slides 8-13 CR05-05: Slide 15, changed incorrect superscript u to v Slide 20, changed incorrect subscript 6 to 7 Added instructions on how to run the examples CR05-06: Added instructions on how to run the examples and tidied up the alignment of the text CR05-07: Tidied up the alignment of the text and re-typeset the mathematical equations CR05-07: Tidied up the alignment of the text Version 1.4 21/04/2021 CR04-03: Added Slide 20 with the CRAM convention for embedding a frame in an end-effector CR05-01: Cosmetic changes CR06-01: Added introductory slide on the scope of Module 6; added slide at the end containing references, added slide on dynamical systems; tidied up slides generally CR06-02: Removed some unnecessary slides on phylogeny and ontogeny; tidied up slides generally CR06-03: Tidied up slides generally CR06-04: Updated slide 10 to explain Flanagan's video on goal-directed gaze; tidied up slides generally CR07-02: Updated list of video on Slide 47 and added Slide 48 with additional videos CR07-03: Tidied up Slides 5-7 CR08-01: Added Slides 24-26 on the backquote function CR08-02: Added a note on the function null on Slide 12 Version 1.5 2/05/2021 CR04-02: Slide 16 and 17 added with CRAM quaternion notation and examples CR09-01: Slides 22 and 23 updated with correct handle-failure function and syntax CR09-02: Slide 20 updated with correct syntax for make-designator (` instead of ') CR11-01: New version based on the zero prerequisites tutorial CR11-02: New version based on the zero prerequisites tutorial CR11-03: New version based on the zero prerequisites tutorial CR11-04: New lecture on defining a new grasp, also based on the zero prerequisites tutorial Version 1.6 3/06/2021 CR07-03: New version of the CRAM cognitive architecture diagram CR07-04: New version of the CRAM cognitive architecture diagram Version 2.0 24/12/2024 CR01-03: Added slides at the end on the second reason for studying cognitive robotics CR01-04: Changed installation guide on the wiki to Ubuntu 18.04 and noted the legacy Ubuntu 16.04 version CR03-01: Added slides on locomotion vs. navigation. Removed slides on relative position estimation with inertial sensors CR03-02: Replaced relative position estimation using odometry, and kinematics of a two-wheel differential drive robot with material on absolute position estimation CR03-03: Replaced absolute position estimation with relative position estimation using inertial sensors. CR03-04: Replaced closed-loop control and PID control, the go-to-position problem, divide-and-conquer controller with relative position estimation using odometry CR03-05: Replaced go-to-position and go-to-pose problems, MIMO controller with kinematics of a two-wheel differential drive robot CR03-06: Replaced finding a shortest path in a map; breadth-first search algorithm; other search approaches with the go-to-position problem; divide-and-conquer controller. CR03-07: New slide deck on go-to-position and go-to-pose problems; MIMO controller. CR03-08: New slide deck on path planning: the wavefront algorithm to find a shortest path on a map using breadth-first search for unweighted graphs. CR03-09: New slide deck on path planning: Dijkstra's algorithm for weighted graphs. CR03-10: New slide deck on path planning: A* algorithm; other search approaches. CR04-01: Added diagram on slide 23. CR04-04: Added slide 27 on the definition of the block frame of reference. CR04-05: Removed exercises and added a video of an ABB manipulation task. CR05-01: Split in two with image processing now in CR05-02. CR05-02: Converted from OpenCV 3.2 to OpenCV 4.2. CR05-08: Split in two, with stereo vision and epipolar geometry now in CR05-10. CR06-06: Added material on hetero- and auto-associative memory in slides 11 - 18. CR06-06: Added videos of Warneken and Tomasello on altruistic / instrumental helping in slides 30 and 31. CR08-02: Split into two with Lambda and mapping functions, CLOS, inference now in CR08-03 CR08-03: Moved lecture on emacs to CR08-04. CR10-01: Changed topic to pose specification in ROS and Lisp; removed material on TF. CR10-05: Added a preview slide 13. CR10-05: Added a preview slide 13. CR10-09: Added a preview and summary slides 46-49. For further details, send an email to David Vernon (david@vernon.eu)