{'fraction_non_alphanumeric': 0.034280117531831536, 'fraction_numerical': 0.00835397822204298, 'mean_word_length': 5.282120883098082, 'pattern_counts': {'":': 1, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Visual Navigation for Autonomous Vehicles: An Open-source Hands-on Robotics Course at MIT

This paper reports on the development, execution, and open-sourcing of a new robotics course at MIT. The course is a modern take on"Visual Navigation for Autonomous Vehicles"(VNAV) and targets first-year graduate students and senior undergraduates with prior exposure to robotics. VNAV has the goal of preparing the students to perform research in robotics and vision-based navigation, with emphasis on drones and self-driving cars. The course spans the entire autonomous navigation pipeline; as such, it covers a broad set of topics, including geometric control and trajectory optimization, 2D and 3D computer vision, visual and visual-inertial odometry, place recognition, simultaneous localization and mapping, and geometric deep learning for perception. VNAV has three key features. First, it bridges traditional computer vision and robotics courses by exposing the challenges that are specific to embodied intelligence, e.g., limited computation and need for just-in-time and robust perception to close the loop over control and decision making. Second, it strikes a balance between depth and breadth by combining rigorous technical notes (including topics that are less explored in typical robotics courses, e.g., on-manifold optimization) with slides and videos showcasing the latest research results. Third, it provides a compelling approach to hands-on robotics education by leveraging a physical drone platform (mostly suitable for small residential courses) and a photo-realistic Unity-based simulator (open-source and scalable to large online courses). VNAV has been offered at MIT in the Falls of 2018-2021 and is now publicly available on MIT OpenCourseWare (OCW).


INTRODUCTION
Robotics and autonomous systems are steadily transforming society by revolutionizing transportation, manufacturing, supply chain logistics, aviation, disaster response and national security, among other domains. This fast-paced transformation puts an increasing and urgent emphasis on training the next generation of engineers and scientists that will be in charge of conceiving, designing, implementing, and operating these systems.
Challenges and opportunities of robotics education. Robotics education poses novel challenges to educators. First, robotics education cuts across multiple disciplines (e.g., computer science, electrical/mechanical/aerospace engineering, applied mathematics) and research areas (e.g., computer vision, machine learning, control theory), hence any single-semester course has to find a suitable trade-off between depth and breadth, as well as between theory and applications. Second, robotics research and applications are advancing at an ever-increasing pace, hence challenging educators to continuously adjust the learning objectives to keep up with the changing demands of a flourishing job market. For instance, the last decade has simultaneously witnessed a boom in self-driving applications and a radical paradigm shift where model-based approaches have been challenged by learning-based data-driven methods. Third, advanced robotics applications often require multiple sensors (e.g., 3D lidars, commercial RGB-D cameras) and powerful embedded computers that are often too expensive to purchase and maintain for residential project-based education and become inadequate for online offerings.
At the same time, these challenges offer unprecedented opportunities for students and educators. First, the fact that robotics spans multiple communities and disciplines makes it a natural playground to exercise foundational knowledge (e.g., linear algebra, optimization, control) while reinforcing it through deliberate practice (e.g., implementing and testing algorithms on a robot). Second, the presence of a vibrant research community and the growing interest towards autonomous systems from the media provide a natural motivation for students, by exposing a clear set of stakeholders that can use the expertise developed in robotics courses. Finally, one realizes that the need for sensors and embedded computing is a "feature" rather than a "bug": robotics is the science of embodied intelligence and the goal of processing information in real-time subject to limited computation is an essential ingredient rather than an afterthought. In addition to this pedagogical opportunity, concerns about the cost of sensors and computation have been partially alleviated by two trends: (i) advances in chip and sensor design -triggered by their use in commercial products, such as smart phones-have led to a new generation of sensors and computers whose cost and formfactor become increasingly compatible with residential education; (ii) advances in simulation have led to the development of lightweight and photo-realistic simulators, which are now commonly used in industry and academia to exercise robotics algorithms and implementations.
The untapped potential of visual navigation. Within the broad landscape of robotics education, visual navigation (where "visual" is meant in a broad sense to include information-rich onboard sensors such as cameras and 3D lidars) has quickly become a fundamental area of expertise. Visual navigation powers modern autonomous vehicles, from self-driving cars, to drones for disaster response, lastmile delivery, and precision agriculture. However, few courses are currently capturing the complexity and untapped educational opportunities in this area. Expertise contributing to visual navigation is fragmented across different courses focusing on robotics and control, computer vision, and machine learning. This fragmentation has several downsides: (i) traditional robotics and control courses often prefer focusing on simpler sensors (e.g., 2D lidars or ultrasonic sensors), hence creating a disconnect with many modern robotics applications; (ii) computer vision courses typically do not "close the loop" over control and actuation, hence deemphasizing the importance of just-in-time computation; and (iii) machine learning courses typically do not focus on robotics applications, hence missing an opportunity to stress the implications of learning-induced failures on safety critical applications and also creating a disconnect with traditional model-based approaches in robotics and vision.
Contribution. In this paper, we attempt to bridge this gap by reporting on the development, execution, and opensourcing of a new robotics course at MIT. The course is a modern take on "Visual Navigation for Autonomous Vehicles" (VNAV) and targets first-year graduate students and senior undergraduates with prior exposure to robotics. VNAV aims at preparing students to perform research in robotics and vision-based navigation (or, more generally, to design, develop, and operate advanced robotics systems), with emphasis on drones and self-driving cars. The course covers a broad set of topics, including geometric control and trajectory optimization, 2D and 3D computer vision, visual and visual-inertial odometry, place recognition, simultaneous localization and mapping, and geometric deep learning for perception. VNAV has three key features: • it bridges traditional computer vision and robotics courses by exposing the challenges that are specific to embodied intelligence, e.g., limited computation and need for just-in-time processing and robust perception to close the loop over control and decision making. This is done by combining selected topics in control with advanced topics in robot vision and perception; • it strikes a balance between depth and breadth by combining rigorous technical notes with slides and videos showcasing recent research advances. For instance, the course starts with a basic introduction to 3D geometry, using a Lie-group theoretic lens, touches on advanced topics, such as optimization on manifolds, and stretches to the latest advances in geometric deep learning and graph neural networks; • it provides a compelling approach for hands-on robotics education by leveraging a physical drone platform (mostly suitable for small residential courses) and a photo-realistic Unity-based simulator (open-source and scalable to large online courses).
In the rest of this paper, we discuss the VNAV curriculum, software and hardware infrastructure, and we report on students' feedback and lessons learned. VNAV has been offered at MIT in 2018-2021 and is now publicly available on MIT OpenCourseWare (OCW) [28] and at vnav.mit.edu/. Moreover, courses based on VNAV have been also offered at the University of Michigan and at the Technical University of Munich in 2021.

RELATED COURSES
Robotics education is a well-studied topic. An IEEE Xplore search for the keywords "robotics & education & course" shows more than 650 publications after the year 2000.
The existing literature has extensively stressed the importance of hands-on labs [1]- [3]. Moreover, the use of final projects and competitions has been understood as a powerful approach to improve knowledge assimilation, and to stress that there can be more than one correct answer to a problem [4]- [6]. Researchers and educators have also investigated flipped classroom approaches [7], where the classroom time has a stronger focus on hands-on activities. Several courses are at the introductory level and target firstyear undergraduate students [8] or high school students [9], where the goal is retention rather than preparing the students for research, development, and operation of advanced robotics systems. Other educators have proposed multisemester courses to deal with the breadth of robotics topics to cover [10]. Traditional robotics courses focus on control algorithms and use simple sensors and actuators (e.g., LEGO Mindstorm [11]). Efforts to increase scalability and reduce costs have focused on the development of simulators [12] or web-based technologies to enhance learning [13], which however have mostly targeted robotics manipulation.
The literature on visual navigation education is sparser and more recent. If we also add the keyword "computer vision" to the IEEE Xplore search mentioned above, then the number of results drops to 36. Few courses focus on advanced vision-based navigation due to the challenges mentioned in the introduction. Early attempts to infuse visual-navigation in mobile robotics [14] trace back to before the "deep learning revolution" and before most of the latest advanced in visual localization and mapping. Maxwell and Meeden [14] focus on early vision (e.g., edge detection, stereo depth). Nitschke et al. [15] propose a one-day contest on automatic visual drone navigation, but mostly focuses on control aspects. Paull et al. [16] propose "Duckietown", a course meant to exercise vision-based navigation for selfdriving cars; the course has a broader scope and while it has the advantage of leveraging relatively inexpensive robots (e.g., a differential drive wheeled platform equipped with a Raspberry PI and a camera), these robots do not have enough computation to exercise advanced vision-based localization and mapping algorithms. Brand et al. [17] and Eller et al. [18] develop the "PiDrone" platform, an exciting low-cost aerial platform for robotics education. The autonomy stack is developed in Python and uses the Robot Operating System (ROS). Other efforts have focused on middle school and high school outreach, with emphasis on mobile robotics [2], [3] and manipulation [19].
Finally, it is worth reviewing relevant online courses and material. Thrun's seminal course on "Artificial Intelligence for Robotics" [20] on Udacity covers selected topics in planning, localization, tracking and control using self-driving cars as the main motivation. Daniilidis and Shi offer the course "Robotics: Perception" [21] on Coursera; the course covers from basic geometric and computer vision to multi-view geometry. Waslander and Kelly offer a "Self-Driving Cars Specialization" [22] on Coursera which leverages an advanced driving simulator. Roy et al. [47] offer the course "Flying Car and Autonomous Flight Engineer" on Udacity, which focuses on control, planning, and GPS-based state estimation. Stachniss [48] focuses on mapping for robotics, with full lectures and short online videos. Recent courses on edX share similar motivations as ours but differ in the selection of topics [23], [24]. It is also worth mentioning broader open-source initiatives, such as the F1Tenth initiative [25] and BWSI (Beaver Works Summer Institute) [26], that provide introductory-level courses for seniors and K-12 students.

CANONICAL ARCHITECTURE USED IN VNAV
The course covers the building blocks and the entire architecture of a modern vision-based autonomous navigation system, as shown in Figure II. The system receives as input a target location the robot has to reach and plans a path to that location (orange blocks). The path is then followed using a suitable controller to govern the robot dynamics (purple blocks). In vision-based navigation, the state of the system and the external environment are not known a priori, and must be estimated from sensor data. The blocks in green represent sensing and robot state estimation algorithms (typically executed at high-rate to provide state feedback to the controller). The blocks in red and blue instead lead to the estimation of the map of the environment the robot is moving in, which is used to inform planning algorithms (typically, both planning and mapping are executed at a lower rate). VNAV covers all these modules (the number above each module in Figure II corresponds to a week in the schedule in Table I): while the perception modules (blocks in red, green, blue) are presented in full generality and are applicable to common sensing modalities (e.g., cameras, lidars, IMU), the planning and control blocks are tailored to agile drone navigation, which -contrarily to wheeled platforms-allow highlighting the complexity of navigation in 3D environments. The VNAV labs focus on implementing each module in the architecture, and gradually build towards an implementation of the entire visualnavigation pipeline in Figure II. The learning goals for the VNAV students consist in developing the ability to: • recall and understand basic mathematical notions in numerical linear algebra, Lie groups, and optimization on manifolds, and their application to visual navigation; • solve novel problem instances (from computer vision to trajectory optimization problems) using proof techniques seen in class, and formally present their derivation and results using proper terminology; • read, understand, and critically analyze technical papers and test state-of-the-art algorithms available in standard open-source libraries; • critically analyze the performance of given software implementations, perform rigorous experimental evaluation, and discuss the impact of different algorithmic and parameter choices; • improve existing methods, implement them on a real or simulated platform, and demonstrate their effectiveness.

II. Course Structure
The learning goals are achieved in a 14-week schedule (Table II), which alternates frontal lectures with hands-on labs, and concludes with an open-ended final project. We describe each component of the VNAV schedule below. Lectures are offered three times a week; each lecture is designed to be 50 minutes long. The lectures are mostly done on the board and cover the mathematical foundations, but also alternate mathematical concepts on the board with slides (typically presented at the beginning or the end of lecture) to provide motivations or show applications of the theoretical concepts. The lectures are supported by lecture notes (also released at vnav.mit.edu/). Table I shows the topics for each week of lecture; the table is color-coded using the same colors used to describe the blocks in Figure  II. The color code highlights how the lectures cover the entire architecture, while emphasizing aspects related to perception and vision. The first two weeks are used to refresh basic concepts in linear algebra and 3D geometry, as well as provide a pragmatic introduction to manifolds and Lie groups. Weeks 3 to 12 cover the core material of the course, including geometric control, trajectory optimization, 2D and 3D computer vision (e.g., feature detection and matching, 2-view and multi-view geometry, RANSAC), optimization on manifolds, visual and visual-inertial odometry, place recognition, and Simultaneous Localization and Mapping (SLAM). These weeks conclude with advanced topics, including robust estimation, dense 3D reconstruction, and geometric deep learning for semantic understanding. The last two weeks of VNAV are devoted to guest lectures and students' presentations. Guest lecturers from industry are invited to discuss other advanced topics or to highlight applications of the VNAV material to real problems; for instance, we invited speakers from Skydio to showcase vision-based drone navigation, or speakers from Boston Dynamics to discuss additional challenges arising from legged locomotion (not covered in VNAV).
Labs complement the theoretical foundations developed in the lectures. VNAV includes 2-hour-long weekly labs with hands-on activities. The first two labs are individual and introduce key software tools used in VNAV (more details in the "Hardware and Software Infrastructure" section below), including Git [29] (for version control) and ROS (the Robot Operating System) [30]. Moreover, these introductory labs provide a refresher about C++ and Linux. Starting from Lab 3, students form teams of 2 or 3, and work together towards implementing instances of the autonomy blocks in Figure II (we refer the reader to the color code used in Figure II and Table I, that describes the correspondence between labs and autonomy blocks). Contrarily to introductory courses, the labs are designed to exercise advanced open-source libraries (e.g., OpenCV [31], GTSAM [32], ORB-SLAM [33][34][35], DBoW2 [36]) rather than implementing capabilities from scratch, which more closely mimics the typical robotics research and development process. Moreover, the lab exercises stress potential failure cases of existing algorithms and the importance of designing trustworthy algorithms and implementations to support safety critical applications of autonomous vehicles. The labs rely on the platforms discussed in the "Hardware and Software Infrastructure" section below and alternate more abstract coding exercises with deployment and testing on the robot and simulator. For instance, Lab 3 includes a simpler control exercise based on our Unity simulator, which aims at developing a geometric control scheme to have the drone fly as quickly as possible along a circular pattern. On the other hand, Lab 4 considers a more realistic and compelling application scenario where the students have to design a trajectory optimization scheme for drone racing, where the drone has to traverse a sequence of gates in the shortest time (see Figure I(b) and the following short video youtu.be/ssgfN7l4STI for an example). Labs 5-9 introduce the students to four open-source libraries, OpenCV [31], GTSAM [32], ORB-SLAM [33][34][35], DBoW2 [36], which are broadly used by researchers and practitioners.
The course concludes with a 4-week-long final project. The instructors provide final project ideas, grouped in three types of projects: • survey projects do not directly require implementation but rather consist in reviewing and presenting technical papers on topics that were not cover in the lectures and labs; in particular, these projects are used to cover more advanced topics in robotics research (e.g., novel applications of deep learning to SLAM, localization in challenging visual conditions); • system projects consist in replicating an existing result in the literature; these projects involve a substantial amount of implementation and testing and may involve the use of robotics platforms or standard benchmarking datasets; these projects are often a good starting point for students approaching robotics research and exploring potential research opportunities. Moreover, they align with existing international initiatives, such as the ML reproducibility challenge [37]; • research projects target students who have already started doing robotics research and may benefit from making progress and getting early/external feedback on their work. These projects are often student-driven, but may also arise from project ideas proposed by the instructors.
The final project ideas are typically inspired by realworld use cases. For instance, multiple research projects (e.g., mapping the MIT tunnels, multi-sensor calibration) have been inspired by the DARPA Subterranean Challenge [43], a research-oriented competition aimed at developing autonomous systems capable of mapping underground environments and reporting the location of elements of interest (e.g., survivors).
The VNAV structure is largely inspired by the CDIO (Conceive Design Implement Operate) approach [38], in that it features extensive group projects and project-based learning, and provides opportunities for the students to exercise technical knowledge as well as communication skills. The final projects lead to a final report and presentation, both designed to roughly mimic the publication and conference presentation process. The report is done using a standard robotics paper format and the evaluation is similar to a peer review process in robotics. The final projects are then presented to the rest of the students in a 20minute frontal presentation. The presentations for system and research projects typically include videos and demo showcasing the robotics systems and algorithms developed during the final projects.

II. Resources and Grading
While the course is mostly self-contained, two main textbooks are also suggested as a more in-depth complement to the lecture notes. In particular, VNAV adopts Barfoot's "State Estimation for Robotics" book [27] and Yi et al.'s "An Invitation to 3-D Vision: From Images to Geometric Models" book [39]. Some portions of VNAV are inspired by Dellaert and Kaess' monograph "Factor Graph for Robot Perception" [40]. Finally, each lecture also provides pointers to relevant references (e.g., tutorial/survey papers as well as technical papers), which target specific approaches (e.g., polynomial trajectory optimization) or more recent topics that are still subject of active research (e.g., graph neural networks for robot perception).
The students are graded based on the lab exercises and the final project. The lab exercises (also released at vnav.mit.edu/) include a set of questions covering both theoretical aspects (discussed during the lectures) and the result of implementation and testing of algorithms (assigned during the labs). Initial assignments (Lab 1-2) are individual, while Labs 3-9 include a mix of team assignments and individual assignments. The lab grades account for 65% of the final grade, while the final project accounts for 25%. Both labs and final project handouts outline a clear rubric for grading. The remaining 10% of the grade is based on TA and team-members' evaluations: each student is assessed by their teammates and the TAs in order to more fairly assess their contribution to their team's assignments.

HARDWARE AND SOFTWARE INFRASTRUCTURE
This section describes the hardware platform and the simulator used in VNAV, as well as the software infrastructure developed to support the course.

I. Hardware Platforms and Simulator
During the first two years, VNAV used a physical drone to support the labs and the final projects. The platform has been replaced by a photo-realistic simulator after the COVID-19 outbreak in 2020. We describe both below.
The hardware platform was based on the Intel Aero Ready To Fly quadrotor [41] -see Figure I(a)-which is customizable and can be easily interfaced with the Robot Operating System (ROS) and standard motion capture systems (e.g., OptiTrack or Vicon). The quadrotor is equipped with an embedded real-time flight controller running the PX4 Autopilot [42] combined with a more capable computer (the Intel Aero Compute Board) dedicated to running ROS. The quadrotor is equipped with an Inertial Measurement Unit (IMU), and a RealSense depth camera. The drone, which has been recently discontinued, costed around $2,500. We are currently working on developing a custom platform, with similar sensing and actuation, but using a more powerful NVIDIA Xavier NX [44] computer. An interesting alternative is the PiDrone platform [18].
After the COVID-19 outbreak, VNAV's labs have transitioned to use a photo-realistic Unity-based simulator, named TESSE, which has been developed in collaboration with MIT Lincoln Laboratory and has been also released open-source at github.com/MIT-TESSE. In the context of VNAV, we have adapted TESSE to model realistic drone dynamics, simulate sensor data found on typical quadrotors (i.e., IMU and depth cameras), and re-create challenging testing scenarios based on a drone racing application. Figure  I(b) reports a snapshot from the simulator, showcasing the drone and the gates (in red) used for drone racing. The simulator has enabled a virtual offering of VNAV during the COVID-19 pandemic and may be also used in future (largerscale) online offerings of the course.

II. Software Infrastructure
The VNAV software infrastructure relies on GNU/Linux as an operating system (Ubuntu distribution), and uses ROS (the Robot Operating System) [30] as a middleware. Version control and software distribution is based on Git [29]. These tools are commonly adopted in robotics research and development. All coding assignments are based on C++.
Within this environment, we make use of popular opensource libraries to support the different VNAV modules. The 2D computer vision algorithms rely on OpenCV [31]. The 3D geometric computer vision algorithms (from RANSAC to on-manifold optimization) rely on OpenGV [45] and GTSAM [32]. The trajectory optimization module relies on an open-source library from ETH [46]. The place recognition lab uses DBoW2 [36], which implements a bagof-visual-words approach for place recognition. Finally, the SLAM lab relies on ORB-SLAM3 [35] as a library for visual and visual-inertial localization and mapping.

ASSESSMENT AND DISCUSSION
This section provides an assessment of VNAV's learning outcomes and discusses potential improvements.

I. Quantitative Assessment
Figure III reports aggregate statistics obtained from the student responses to the end-of-semester course evaluations. Figure III focuses on the evaluations measuring VNAV's impact in increasing the students' (i) interest on the subject (blue bars), (ii) knowledge spectrum (magenta bars), and (iii) ability to perform research (orange and yellow bars). Data are cumulative across all the course's offerings at MIT and the University of Michigan. The MIT data spans the period 2018-2021 (4 offerings), including 60 student evaluations (average response rate was 70%); the University of Michigan data was collected in 2021 (1 offering), including 36 student evaluations (response rate was 85%). The students responded with either Strongly Agree (SA), Agree (A), Neutral (N), Disagree (D), or Strongly Disagree (D). We observe that across all 4 subject questions (A to D above), at least 87-92% of the students responded with SA or A, at most 1-4% of the students responded with D or SD, and the rest 3-8% of the students responded with N.
Several observations are in order. First, VNAV increased the students' interest on the topic of vision-based autonomous navigation (cf. blue bars in Figure III). The students quoted in their written evaluations their excitement for being introduced to a whole new field. We believe that the dual focus of the course on theory and practice was one of the major reasons that helped increase the students' interest in the subject; we also believe that connecting labs and final projects to real-world applications, ranging from the DARPA Subterranean Challenge [43], to Mars rovers and autonomous drones' applications has contributed to increasing the students' interest.

FIGURE III
END-OF-SEMESTER COURSE EVALUATIONS: SUMMARY STATISTICS Second, VNAV largely increased the students' knowledge spectrum on autonomous navigation (cf. magenta bars in Figure III). We believe that the course's focus on teaching the entire visual-navigation pipeline allowed the students to acquire a holistic perspective of how real-world robots can perceive and navigate their surroundings. The students frequently quoted the valuable experience of both working on theory exercises and, at the same time, implementing software to enable real-time perception capabilities in real-world navigation scenarios.
Third, VNAV increased the students' ability to apply mathematical and scientific knowledge, formulate, and solve complex engineering problems (cf. yellow and orange bars in Figure III), which are key prerequisites for research. This observation is also supported by the fact that in the first 3 offerings of VNAV (from 2018 to 2020), students' final projects led to 12 peer-reviewed publications in top robotics conferences (such as ICRA, IROS, ACC, and ISER) and journals (IEEE Transactions on Robotics and IEEE Robotics and Automation Letters). VNAV students also developed and released two major open-source software libraries. The anonymous feedback provided in the subject evaluations suggests that VNAV has been successful in assisting young robotics researchers to further hone their research skills and ideas. That being said, additional data and further analysis are needed to formally establish a causal link between our approach in VNAV and students' research results, which is clearly impacted by factors external to VNAV and is biased by the fact that the student sample already includes researchinclined students with interest towards robotics.

II. Potential Improvements
Improving the software and hardware infrastructure. The VNAV software infrastructure has been developed and refined over the 4 years the course has been offered at MIT. While the feedback from the students has been increasingly positive about the labs, it might be desirable to streamline the software installation and setup process. For instance, some students might spend time trying to compile specific pieces of software on their machines and, while we believe this is an important experience towards robotics research, it might detract from the time spent towards the key learning goals. A potential solution is to use Docker [49] to improve software portability across platforms. Regarding the hardware infrastructure, it would be desirable to develop cheaper drone platforms to broaden access to the course. An interesting effort in this direction is the PiDrone [18].
Undergraduate offerings and outreach. Currently, VNAV targets first-year graduate students and senior undergraduates with prior exposure to robotics. However, it would be interesting to broaden participation and adapt the course to be offered to undergraduates and high-school students with no robotics experience. In future offerings, we plan to open the MIT offering of VNAV to undergraduate students with background in control theory, linear algebra, optimization, and programming. We already had good success with the seniors attending VNAV and we believe that splitting the labs into baseline goals (targeting undergraduates) and advanced goals (targeting graduate students) might be an effective way to be more inclusive towards undergraduate students. Redesigning a selected portion of the course to support high-school outreach activities is more challenging but feasible. For instance, BWSI [26] has offered courses involving visual-navigation with drones, using a platform (similar to the one in Figure  I Creating an open-source VNAV community. VNAV has been offered in multiple universities, including MIT, the University of Michigan, and TUM. In the future, it would be desirable to establish bridges across the different offerings. A potential starting point is to create a joint repository of final projects, to increase the options the students can choose from and to avoid duplicating efforts in developing the project ideas and background material. For instance, the 2021 offering at the University of Michigan included a novel project on perception-aware Model Predictive Control (including description and background material) that might be useful for future offerings at other universities Visualization, visualization, visualization. In past VNAV offerings, we used GeoGebra [50] to visualize key ideas when discussing optimization on manifolds. Students were able to interact with our tool through the GeoGebra web interface. This tool allowed students to visualize and interact with abstract mathematical concepts such as tangent spaces, tangent vectors, retractions, and geodesics. Additionally, we also used g2o [51] (and its GUI) in the classroom to visualize the behavior of various optimization methods for solving SLAM. The feedback provided by the students indicate that these visualization tools helped them grasp and internalize key concepts quickly, accurately, and intuitively. In future offerings of VNAV, we plan to further explore mathematical visualization, interactive learning, and live demonstrations using tools such as GeoGebra [50], Manim [52], and g2o [51].

CONCLUSION
This paper reported on the development, execution, and open-sourcing of the course "Visual Navigation for Autonomous Vehicles" (VNAV) offered at MIT in the Falls of 2018-2021, which has also been adopted (with modifications) in the curricula at the University of Michigan and the Technical University of Munich. The course targets first-year graduate students and senior undergraduates with prior exposure to robotics. VNAV has the goal of preparing the students to perform research in robotics and vision-based navigation, with emphasis on drones and self-driving cars. The lectures cover a broad set of theoretical topics, including geometric control and trajectory optimization, 2D and 3D computer vision, visual and visual-inertial odometry, place recognition, simultaneous localization and mapping, and geometric deep learning for perception. The labs provide hands-on activities to ground the theoretical concepts and expose the students to advanced robotics platforms, simulators, and open-source software libraries. The course culminates in an open-ended final project. The course material is now publicly available on MIT OpenCourseWare and at vnav.mit.edu/.