I'm 14 years old and working on a project to create an autonomous delivery robot that will operate within my high school. Right now, my small hardware team, which consists of just three people, is still in the process of building the robot, so it's not operational yet. I'm focused on developing the programming and machine learning aspects, but I'm currently the only person at school with the skills to handle this project since I started it.
I've done some previous work with YOLO and convolutional neural networks (CNNs). My plan is to implement ROS with SLAM, using a LiDAR sensor to map out the floor and manually annotate all the classrooms. I'm considering using Nav2 for obstacle navigation; when the robot detects people or other obstacles within a certain range using YOLO and LiDAR, it will automatically stop. In the future, I may transition to using UniDepth.
I aspire to build a first prototype that follows Waymo and Tesla's end-to-end strategies, allowing the robot to navigate dynamically between lessons using path planning. I have been thinking of creating a virtual environment of the school layout and potentially using reinforcement learning for it to manage crowds. However, I'm unsure if I have enough computational power or data, and I'm not very confident in my programming skills yet. Any feedback or advice on how I can improve or what I might be doing wrong would be appreciated!
2 Answers
Starting small is really important! Since you’ve been working on this for a while and nothing's operational yet, consider simplifying your goals. If you had to finish the project in two weeks, what could the robot do? Maybe it could navigate a basic path between set points with a simple map. Once you have something working, it becomes easier to ask the right questions about testing your code and ensuring issues don’t reoccur.
It's impressive that you're tackling this at 14! Take a step back and consider mapping everything out visually, perhaps using a tool like draw.io. It doesn’t need to be perfect; just get a general layout sorted. Focusing on defining your edge cases is crucial as well. You can build a framework around understanding how your robot will interact with people and the environment—think safety first. The fact that you're mindful of your limitations while pushing your abilities is really wise. Keep us posted on your progress!

Right now, I just make the robot drive at a slow speed while keeping a big red emergency stop button on top, so if it encounters anything, it won't be catastrophic—just a bump.