I'm studying robotics and one practice that I have to do is to implement my own SLAM system on ROS.
I need some advice about where to start.
Where do I start?
Robotics Stack Exchange is a question and answer site for professional robotic engineers, hobbyists, researchers and students. It only takes a minute to sign up.Sign up to join this community
Take some of the robotics courses of burgard wolfram. You can easily find his video lectures on his homepage. You don't need to watch all of the videos. Just watch and try to understand optimization and graph-based slam part.
I recommend you to implement graph-based slam in matlab first. Don't go for Extended Kalman Filter slam. They are outdated. The robotics courses of the above have some toy graph slam examples. Run that first, analyze the code, and make your own.
Once you are confident with the theory start to implement it in ROS. Don't try to implement something you are not 100% sure in c++ because the debugging is hell with c. Or the best way is to start with open source slams such as LOAM.
Where to start will very depending on your current skill-set, as well as the specifics of the course you're studying. My recommendation is start with the Extended Kalmann Filter as well as Bayesian Filtering. These will form a foundation for your SLAM (Depending on how to want to approach it). From there, I guess all you can do is have a look at what resources there are online for implementing it. I would recommend either Here or, if you can, Here. I can personally vouch for the Probabilistic robotics textbook being a fantastic resource.