The nine-axis ARHS attitude sensor MEMS magnetometer bought from yahboom performs well in ROS1, but when it is used in ROS2, the data of a number of sensors will tend to zero indefinitely and the data will float in chaos. The warehouse has rewritten the driver code of the IMU CMP10A. So that it can read the data correctly in ROS2 HUMBLE.
you must have serial, and change CMakeLists.txt
$ git clone https://github.com/wjwwood/serial
$ make
$ make test
$ make doc
$ sudo make install
set(SERIAL_INCLUDE_DIR /home/nano/ws/src/serial/include)
set(SERIAL_LIBRARY /home/nano/ws/src/serial/build/libserial.a)
$ rosdep update
$ rosdep install --from-paths src --ignore-src -r -y --rosdistro humble
$ colcon build
$ . install/setup.bash
$ ros2 launch gnss_imu_sim imu_driver_launch.py