Simultaneous Localization and Mapping (SLAM) can be implemented in a number of ways depending on the sensors used via various ROS packages. I used a ROS SLAM package and simulated sensor data to create an agent that can both map the world around it, and localize within it.
Final map can be found at https://drive.google.com/file/d/1CcuF15C6Y-_Jqqu_kUsPpy5xEWeDe7PH/view?usp=sharing