- You may use any online resources, datasheets, or documentation needed, but be mindful of your time and stay focused on the task.
- The duration of the test is 90 mins from 5:15pm to 6:45 pm.
- There will be a MCQ test conducted here
- There are 4 tasks in the tests. Complete all of them.
- In case you are not able to complete all the tasks, do upload whatever you are able to.
- In the
README.md
of your repository include your thought process, places where you got stuck, where you used the help of AI, google or other online resources. - Even if you are not able to solve anything, do fill the readme and what your thought process would have been.
- Carefully read the instructions to implement the required functionality.
- Install mingw(c compiler) and git if you haven't already done it.
- After finishing your test, provide the link to your forked repository in the google form provided at the end.
Aim/Objective: To decode GPS data of start and goal position, and create a path planning algorithm which computes an optimal path over a predefined gridmap
You are implementing code to decode GPS position data, received from a u-blox GNSS module on-board a rover (check out the datasheet). You are given the current/start position of the rover and the goal position where the rover has to reach, your goal is to develop a path planning algorithm to traverse over a pre-defined gridmap and generate necessary odometry commands (total time & angle traversed) to guide the rover along the generated path.
Task 0: Fork the provided repository and ensure it is set to PUBLIC so we can access and assess your work.
Working with UBX format and extracted relevant navigation data for use in the planner.
Implemented a grid-based path planner that computes an optimal route from start to goal.
Converted the path into motion commands (direction and timing) based on wheel parameters.
Verified the workflow on sample inputs and ensured the project compiles successfully with g++.
- src/main.cpp: Code for running the test.
- src/ublox_reader.cpp: Recitfy errors in this code to compute correct lat & lon coordinates.
- src/planning.cpp: Complete the defined
Planner::pathplanning
function - src/odometry.cpp: Complete the defined
Odometry::computeCommands
function
(make sure you are in the root directory)
- Compile your code by running:
make build
- To check if your code is implemented correctly run:
make check
If you are able to compile your code successfully you should see something like this on your screen:
*** Success: ***
--------------------------------------------
- If your make check was unsuccesfull, you can clean your attempt by running
make clean
, review your implementation and repeat the previous steps.
Describe what you understood about the problem.
After understanding the problem, describe how you decided to proceed towards solving the question.
How did you decide to implement your solution.
Mention the details, such as the path planning & odometry how you tested it.