Hello World!

I amNajman Husaini

3 Body Problem

0.5x 5x

Masses


Summary

   I am a Senior Year Software Development student at the University of Utah. My degree has an emphasis on game development, and I have extensive experience with game engines such as Godot and Unreal Engine 5. I am also the programming team lead of Utah Student Robotics, a student organization that competes in the annual NASA Lunabotics competition against 50 teams. Factoring in my coursework and experience as a Teaching Assistant for the School of Computing, I have formidable talent in multiple domains of software development along with the confidence to communicate and collaborate effectively.

The competition is simple. Move the most amount of material from the excavation zone into the dump zone, and don't hit any rocks on the way. In 2024, we did just that. We moved the most amount of moon dirt (LHS-1) out of all 50 teams from universities around the US and the military. My main contribution was implementing all of the software that allowed 2 pilots to simultaneously commandeer the robot wirelessly and in real time using 6 camera feeds streamed using FFmpeg over RTP. We also received points for being able to dig and dump autonomously using state machines. Due to our robust and noise-resistant communication protocol over UDP, we had the smallest bandwidth usage whilst having enough camera coverage and fidelity to avoid using the arena provided cameras.

Technology

The entire robot is programmed with Rust. tokio is used as the core model of execution, and wgpu with compute shaders written in WGSL is used for any GPU programming. To promote rapid prototyping, a feature-complete robotics framework was developed from the ground up in the footsteps of the Robot Operating System. This framework was called unros and is now superceeded by urobotics for the 2025 competition. The mission control software is developed in Godot and is used to visualize the robot's state and direct the robot's autonomous actions.

rust wgpu
tokio godot