// the find
gaoxiang12/slam_in_autonomous_driving
《自动驾驶中的SLAM技术》对应开源代码
This is the companion code to a Chinese-language textbook on LiDAR/IMU SLAM for autonomous driving, walking through ESKF, pre-integration, 2D/3D mapping, ICP/NDT, tightly-coupled LIO, and offline mapping with loop closure. It's aimed at people who want to implement these algorithms themselves rather than use them as black boxes — grad students, robotics engineers building intuition, not people looking for a production LIO stack.
Every core algorithm (KD-tree, ICP, point-to-plane ICP, NDT, ESKF, IMU pre-integration, IEKF) is implemented from scratch per chapter rather than wrapped around an existing lib, so you can actually read and modify the math instead of fighting someone else's abstraction. The scope is unusually complete for a teaching repo — it goes from raw IMU/GNSS data through LIO all the way to offline mapping and tile-based relocalization, which most SLAM courses stop well short of. The repo is upfront about its own rough edges: a NOTES section documents known IMU coordinate quirks per dataset (NCLT, ULHK) and an open TODO flags that LioPreinteg doesn't converge on some data.
The build is a real tax: ROS Noetic, PCL, g2o, Pangolin, specific GCC versions, with a separate Ubuntu 18.04 workaround path and a Docker option that still requires manually building g2o inside the container — this isn't a `cmake && make` afternoon. Datasets are 270GB total, hosted on Baidu Cloud and OneDrive with no mirror closer to most non-China users, so reproducing the demos is its own project. There's no stable API or library boundary — it's book code organized by chapter, so pulling a piece (say, the NDT LO) into another codebase means extracting it by hand, not importing a package. A few known issues (GUI crashes on recent laptop GPUs, gmock build failures in chapter 5) have sat open for a while with no indication they'll be fixed rather than just documented around.