M ROVER
Object Detector
As a part of URC the rover must be able to identify objects and localize them in 3D space. To accomplish this task, I spearheaded the development of a custom machine learning model. Inference is then accelerated using CUDA and tensor cores to achieve frequency of 15 Hz on the Jetson Xavier. With the objects identified, they are localized in 3D space using a stereo 3D pointcloud.
Object Detector URC 2024
Lander Align
In the Equipment Servicing task the rover must be able to interact with a control panel. Due to the planar nature of the interface the approach can be automated. Using point cloud filtering based on normal vector the plane can be isolated and then modeled using RANSAC. Knowing the panel's location allows the rover to approach it using a nonlinear feedforward plus feedback control law, putting the rover in the best possible position.
Personal Projects
High performance 📈 and low level 🎛 applications peak my interest.
High Performance 🚀
Low Level 🎚
- Pong In Assembly: Fully functional Pong Game written in assembly that interfaces directly to the X11 Server to create a GUI and render all of the game's assets.
- Memory Allocator: An investigation into what libc does under the hood when calling malloc and free.
M Robotics
Spot
Working in the ARM lab I worked with Spot to improved its outdoor functionality. Here are some of the projects I worked on during the process.
Outdoor Localization
Using an Extended Kalman Filter, I fused the localization data from Spot's visual odometry and a GPS to create a more robust outdoor localization system.
Tool Retrieval
Worked with perception, navigation, and manipulation subsystems to integrate an ML based voice prompt tool retrieval pipeline.
Thanks for reading!