Skip to content

an Autonomous Navigator implemented on the TI-RSLK MAX Chassis, by Gian Fajardo & Lucero Aguilar-Larios

Notifications You must be signed in to change notification settings

dnblvr/robot_navigation_project

Repository files navigation

Autonomous Navigator

Principal Authors:   Lucero Aguilar-Larios & Gian Fajardo

Faculty Advisor:   Dr. Shahnam Mirzaei

Table of Contents


1. Goals

alt text

   The scope of this project is to explore the fundamentals of LiDAR-based 2D mapping and autonomous navigation. In a world reliant on more autonomous systems, these systems need to navigate effectively as they can enable efficient and precise movements in complex environments without human intervention. Furthermore, the system needs to prioritize the safety of the human agents around it. In part, it should traverse dangerous places that humans cannot survive. Exploration of our oceans, disasters created from war, and planets can and do benefit from having autonomous systems. To do this, Autonomous Systems need to identify its environment. From there, motion planning algorithms are applied.

   Whereas other work uses other autonomous systems like humanoids, which will have to adopt different mathematical models to describe their states, our project is different. To see if this plan is feasible, we will simplify the scope to make a two-wheeled robot navigator from the TI-RSLK chassis. This navigator is to be equipped with a LiDAR scanner, the RPLiDAR C1. The goal of this research project is to make an autonomous system that:

  1. scan its environment through two different modes
    1. GraphSLAM method
    2. EKF-SLAM method

2. Methods

Here is how we achieve our goals:

  • We will recreate its pose and its environment in-memory using the graph-based Simultaneous Localization and Mapping (GraphSLAM) algorithm and Kalman filter based using the multiple LiDAR ICs mentioned before.

  • We perform sensor fusion via the extended Kalman Filter (EKF) which will hopefully gather a better estimate of its state without the expected drift from GraphSLAM alone. We intend to use additional sensors like a MARG sensor and a GPS receiver.

  • For methods, we will consider using new approaches. I was considering investigating scan matching methods (ICP) as a second point of measurement for EKF-SLAM.

3. Materials

The materials involved include:

Amounts Name Description
1 TI-RSLK Chassis Two-Wheeled Platform
1 RPLiDAR C1 2D LiDAR Scanner
1 ICM-20948 MARG Sensor
1 GPS Receiver N/A
6 VL53L5CX SparkFun ToF Imager

4. Online Resources

4.1. Things I've made to explain this stuff

4.2. C library

4.3. Hardware Development


  • Alongside this project, I have a self-made API that I've made in reaction to how the given SDK is confusing to read. At the time of writing (10 Dec 2025), this is a fully-functioning driver but I have high hopes that we can further improve this API.


4.4. Sensor Fusion with MARG sensor

  • SparkFun_ICM-20948_ArduinoLibrary/examples/PortableC/Example999_Portable/Example999_Portable.ino at main · sparkfun/SparkFun_ICM-20948_ArduinoLibrary

4.5. Iterative Closest Point (ICP)

4.6. GraphSLAM


4.7. EKF-SLAM

4.8. RRT*

  • Path Planning with A* and RRT | Autonomous Navigation, Part 4 - YouTube
  • path finding - rapid exploring random trees - Stack Overflow

5. Dynamic Window Approach (DWA) Algorithm

6. Checklist

In general, for all tasks, they should follow the same guidelines:

  • make the code happen in any IDE or simulator
  • simulate it in normal C code in Visual Studio Code, MATLAB, or any other IDE, if possible
    • if simulating in MATLAB, use its C-code converter
  • optimize the functions once done, if applicable

6.1. Task 1: 12 Dec 2025 (3 weeks)

  • improve motor control and motor tachometer functions
    • perhaps incorporate the ICM-20948 (exclusively I^2^C) to supplement the tachometer-only motion model
  • improve GraphSLAM
    • loop closure detection
      • develop auto-steering/local planning using the Dynamic Window Approach (DWA) to prevent direct steering
    • perhaps explore other methods like HECTOR SLAM (will provide links)

6.2. Task 2

  • explore EKF-SLAM

6.3. Ongoing Task

  • meet every Monday to check on our weekly progress
Monday Task
14 Dec 1^st^ progress report
21 Dec 2^nd^ progress report
give time to decide to stick by the project
28 Dec 3^rd^ progress report

About

an Autonomous Navigator implemented on the TI-RSLK MAX Chassis, by Gian Fajardo & Lucero Aguilar-Larios

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages