Before you practice the exercises in this repository, ensure that your development environment is configured with the following tools and dependencies:
- CARLA simulator 0.9.9.4
- NICE DCV Server. This step will install Nvidia drivers along with CUDA libraries for the underlying Tesla T4 GPU
- C++
- Git
- OpenCV
- CMake and Make
- VSCode, or a similar IDE
- Eigen Library for C++
- Point Cloud Library
- Python3 and Pip
- ROS
Fork the repository to your Github account and clone it to your local development environment using the following commands:
git clone https://github.com/udacity/nd0013_cd2693_Exercise_Starter_Code.git
cd nd0013_cd2693_Exercise_Starter_Code
Next, select the lesson you want to practice. The sections below outline the lesson-specific instructions.
Navigate to the individual challenge sub-directory containing the main.cpp file. For example, change to the challenge1/ solution directory.
cd Lesson_2_C++_Checkpoint/solutions/solution1/
Update the main.cpp file where needed, and execute the following commands.
g++ main.cpp
./a.out
Change to the specific exercise directory, compile the main.cpp file, and execute the a.out. For example, the command below will help you run the 1-initialize-priors-function exercise solution.
cd Lesson_3_Markov_Localization/markov/1-initialize-priors-function
Refer to the Guide-[exercise-name].ipynb for the specific instructions on how to update the main.cpp file. If you need help, you can compare your edits with the provided solution.
cd solution
g++ main.cpp
./a.out
Refer to the exercise starter files in the repository.
cd Documents
git clone https://github.com/udacity/SFND_Lidar_Obstacle_Detection.git
cd SFND_Lidar_Obstacle_Detection
Here is the file structure in the Github repository linked above.
.
├── CMakeLists.txt
├── CODEOWNERS
├── README.md
├── media
│ └── ObstacleDetectionFPS.gif
└── src
├── environment.cpp
├── processPointClouds.cpp
├── processPointClouds.h
├── quiz
│ ├── cluster
│ └── ransac
├── render
│ ├── box.h
│ ├── render.cpp
│ └── render.h
└── sensors
├── data
└── lidar.h
Refer the README.md for specific instructions.
cd Lesson_5_Creating_Scan_Matching_Algorithms
This lesson has the following exercises.
.
├── Exercise-Intro-to-ICP
├── Exercise-Creating-ICP
└── Exercise-Creating-NDT
The specific commands for each exercise are available in the respective sub-directory. Follow the instructions per the respective README files.
Exercise | README |
---|---|
Exercise-Intro-to-ICP | README |
Exercise-Creating-ICP | README |
Exercise-Creating-NDT | README |
cd Lesson_6_Utilizing_Scan_Matching
This lesson has the following exercises.
.
├── Exercise-ICP-Alignment
├── Exercise-Mapping
└── Exercise-NDT-Alignment
The specific command for each exercise in available in the respective sub-directory. Follow the instructions per the respective README files.
Exercise | README |
---|---|
Exercise-ICP-Alignment | README |
Exercise-NDT-Alignment | README |
Exercise-Mapping | README |
Navigate to the project starter code director.
cd nd0013_cd2693_Exercise_Starter_Code/Lesson_7_Project_Scan_Matching_Localization/c3-project
Follow the instructions per the specific README.