This week, I primarily focused on completing camera calibration and software-side integration with the IMU module. I also took the first nighttime sky photo with the Pi.
The ROS distro running on the Raspberry Pi was incompatible with any ROS2 distro available on my laptops, so we needed a way other than the built-in ROS tools to view the live camera feed and conduct camera calibration. Streaming video from the Pi turned out to be a non-trivial endeavor, but I settled on running a Flask server that serves compressed frames to a browser and brought it to run at approximately 25Hz refresh. Detected checkerboard annotations were overlayed on top of the image by a separate thread. We achieved a camera calibration on Wednesday with a reproduction error of approximately 0.52 pixels.
I also implemented the ROS IMU node which interfaces with the sensors over I2C and republishes this data over ROS topics for the IMU and magnetometer, respectively.
