10-Week Course Syllabus
Week 1
Lecture and Lab
- Class expectations
- "What will a robotics class enable me to do?"
- Search web for robotics jobs, i.e. keywords 'deep learning,' 'ROS2,' 'AI'
- Grading formula
- Syllabus
- Classes schedule and high level deliverables
- Introduction to the class resources
- Laboratory and safety training
- Design robot, start building robot
- Deep Learning
- Virtual Machines
- DonkeyCar: running on student host computer
- DonkeySim: running on student host computer
- CBT/e-book
- Embedded Linux
- Python
- Concepts of ROS2
Assignments Due
- Begin designing robot
- Electronics mount plate
- 3D print camera mount
- 3D print single board computer case
- DonkeyCar DonkeySim
- 3 autonomous laps running on student host computer (due Tuesday of Week 2)
- Linux and Python traning modules
- ROS2 Basics in 5 Days (Python) Section: Introduction
Week 2
Lecture and Lab
- Team members review and adjust. Let’s lock the teams. Starting this week it will be very hard for people to join and catch.
- Deep Learning
- Review of Virtual Machines and Host Machines
- We use a virtual machine image from a hypervisor company called VMware
- The instructions to use our virtual machine is here
- DonkeyCar - running on students host computer
- DonkeySim - running on the external server
- Embedded Linux on a low power single board computer (SBC)
- How can we install software without a computer monitor, keyboard, and mouse connected to an embedded computer (single board computer)?
- Installing the software into the SBC
- Jetson Nano Single Board Computer (SBC) Hands-on
- Remote access without a monitor, keyboard, mouse
- Initial connection using a USB cable
- Connect to a local WiFi access point e.g., UCSDRoboCar
- Multi-user on a low power SBC
- User Security
- Installing software using Secure Shell (SSH)
- Remote Desktop
- Robot Components and Electronics
- GPS Based Navigation
- GNSS (GPS) 3D Localization
- RTK GNSS Error Correction
- Base Station
- Services
- Open source
- Paid services
- Robot design completed, and major components in place
- Completed
- Electronics mount plate
- 3D printed camera mount
- 3D printed case for the single board computer (SBC)
- Incorporate
- GNSS unit and antenna
- Electronics wiring
- CBT / e-book
- ROS2 Basics: Topics, Launch files
Assignments Due
- Donkey Car DonkeySim 3 autonomous laps - sim running on the external server (due Thursday of Week 2)
- Basic software setup on Jetson (Jetpack, WiFi, hostname, DonkeyCar, etc.) (due Tuesday of Week 3)
- Robot components ready (Thursday of Week 3)
- Mechanical Components
- Electrical Components
- Software - Linux, Jetpack, OpenCV GPU Accelerated, DonkeyCar
- Deep Learning laps
- DonkeyCar GNSS Navigation
- ROS2 Basics in 5 Days (Python) Sections: Basic Concepts, Topics
Week 3
Lecture and Lab
- UCSD’s SuperComputer GPU Cluster Deep Learning acceleration
- Hands-on GPS/GNSS Based Navigation - putting all together - In font of EBU I
- 3 outdoors autonomous laps using GNSS
- 3 Autonomous Laps Deep Learning on EBUII outdoor track
Assignments Due
- 3 Autonomous Laps GNSS / GPS - EBU I (Tuesday of Week 4)
- 3 Autonomous Laps Deep Learning - EBU II (Thursday of Week 4)
- ROS2 Basics in 5 Days (Python) Section: Services
Week 4
Lecture
- Introduction to Docker and Git
- Introduction to UCSD ROS 2 Robocar Framework
- Demo of Python Camera Based Navigation
- Introduction to Class Final Project requirements
- Introduction to Project Management
Assignments Due
- Class Final Project Proposal (Tuesday Week 5)
- 3 Autonomous Laps ROS2 (Thursday Week 5)
- ROS2 Basics in 5 Days (Python) Section: Actions
- ROS2 Guidebook
Week 5
Lecture
- Neural Network
- Car Dynamics
- Final Project Status Update
Assignments Due
- Weekly progress report on final project
Weeks 6 - 10
Lecture
- As needed/per request
- Suggested topics:
- Filtering/state estimation
- Path planning: GPS waypoint, LiDAR, SLAM
- PID control
- ROSBAGS, rviz, rqt
Assignments Due
- Weekly presentation progress report on final project
- Bonus: ROS2 NAV Course