ROS libraries and packages have absolutely essential to this project, take a look at their official documentation.
The IRobot is the perfect inexpensive and easily programmable robot solution. Take a look!
RaspberryPi4 is essential for large program applications. It provides: computational power, memory, ease of access, and networking capabilities
RCLPY is a vital python package that houses ROS2 commands, so obviously it was a heavily used tool. Check it out!
Nav2 is a specific ROS2 package that provides us a plethora of mobity functionalities. Take a look!