Skip to content

teamrudra/r26_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

R26_test

Some Instructions

  1. You may use any online resources, datasheets, or documentation needed, but be mindful of your time and stay focused on the task.
  2. The duration of the test is 90 mins from 5:15pm to 6:45 pm.
  3. There will be a MCQ test conducted here
  4. There are 4 tasks in the tests. Complete all of them.
  5. In case you are not able to complete all the tasks, do upload whatever you are able to.
  6. 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.
  7. Even if you are not able to solve anything, do fill the readme and what your thought process would have been.
  8. Carefully read the instructions to implement the required functionality.
  9. Install mingw(c compiler) and git if you haven't already done it.
  10. 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

Description

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.

Task 1: Decoding gps data (in ubx format) from u-blox reciever.

Working with UBX format and extracted relevant navigation data for use in the planner.

Task 2: Develop a path planning algorithm to traverse over a gridmap.

Implemented a grid-based path planner that computes an optimal route from start to goal.

Task 3: Generate odometry commands to guide the rover along the generated path.

Converted the path into motion commands (direction and timing) based on wheel parameters.

Task 4: Compile and run the code.

Verified the workflow on sample inputs and ensured the project compiles successfully with g++.

Code

  1. src/main.cpp: Code for running the test.
  2. src/ublox_reader.cpp: Recitfy errors in this code to compute correct lat & lon coordinates.
  3. src/planning.cpp: Complete the defined Planner::pathplanning function
  4. src/odometry.cpp: Complete the defined Odometry::computeCommands function

How to Compile & Check your code

(make sure you are in the root directory)

  1. Compile your code by running: make build
  2. 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: ***
--------------------------------------------
  1. If your make check was unsuccesfull, you can clean your attempt by running make clean, review your implementation and repeat the previous steps.

Solution

Understanding

Describe what you understood about the problem.

Thought Process

After understanding the problem, describe how you decided to proceed towards solving the question.

Implementation

How did you decide to implement your solution.

Mention the details, such as the path planning & odometry how you tested it.

Google Form

Link to Repo Submission

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published