Team Status Report 3/21

This week, we made progress on both the IMU and visual pipelines. The IMU attitude estimation improved after calibration, and the complementary filter is now producing more stable results. On the visual side, we continued improving the consistency of the plate solving and attitude estimation.

We also attempted to collect new nighttime data, but weather conditions made it difficult to get usable images.

Overall, we are on track. Next, we plan to integrate the IMU and visual attitude estimates and begin testing the full system together.

Eddie’s Status Report 3/21

This week, I worked on refining the IMU attitude estimation and starting integration with the rest of the estimator. I also adjusted the architecture so that the complementary filter outputs Euler angles, which will be used together with visual attitude estimates. I also continued testing using recorded data and improved visualization tools to better understand the filter behavior.

My progress is on schedule. The main goal this week was to get stable IMU-based attitude estimates and integrate the IMU and visual attitude estimates and start testing the combined system.

Next week we will add the position estimates into the system.

Rachel’s Status Report 3/21

This week, I focused on improving the robustness of the attitude estimation pipeline and validating its consistency across different image inputs. I refined the integration between the plate solver output and our calibrated camera model, which helped reduce inconsistencies in the computed orientations.

I need to begin connecting the attitude outputs to the next stage of the pipeline and figure out how to convert these orientations into preliminary latitude and longitude estimates. This is is critical for meeting our system accuracy goals.

We verified our subsystem by testing star detection robustness under noise, blur, and occlusion, and by validating plate solving and attitude estimation using known WCS outputs, measuring angular residual errors and solve success rates. For validation, we use ground-truth datasets from NASA SkyView and Stellarium to compare estimated boresight RA/Dec against known values and compute angular and position error relative to the ≤10 km requirement.

Julius’ Status Report 03/21

This week, I focused on IMU calibration after Eddie’s initial implementation of the complimentary filter showed signs of the magnetometer being out of calibration. From plots, the magnetometer signal appeared to be more accurate and without sudden jerks after the calibration as opposed to before. I am working on collecting a new data recording for re-evaluation of the complimentary filter tomorrow.

I also attempted to take nighttime shots twice this week, though weather in the Pittsburgh area was cloudy and cold, which resulted in poor quality imagery on both attempts.

I will continue this next week.

Rachel’s Status Report 3/14

This week, I primarily focused on implementing and testing the plate solving functions to accurately extract the camera’s attitude. After successfully completing camera calibration, I began integrating the calibration parameters into the pipeline and testing how they affect the computed camera attitudes. I also started evaluating the ASTAP plate solver that Prof. Mukherjee recommended during our meeting last week, with the goal of improving the efficiency and runtime of our current solving pipeline.

In the coming week, I plan to make the attitude estimation functions more robust so that they can consistently produce reliable camera orientation estimates. Once the attitude estimation is stable, we will be able to move forward to the next stage of the pipeline, which involves estimating global longitude and latitude from the celestial observations.

Team Status Report 3/14

This week, we achieved several milestones, achieving both a camera calibration and an IMU-derived attitude estimate using a complimentary filter on gyroscope and accelerometer. We also took the first nighttime photograph with the camera.

We logged a set of motions along each attitude access for offline tuning the complimentary filter, and achieved a reasonable reconstruction in simulation when playing back the data for consumption by the filter.

The camera calibration involved producing a streaming web app where frames were live-streamed from the Raspberry Pi to a web browser with checkerboard detections overlaid.

This week, our goal is to achieve attitude estimation from celestial features and visual-based attitude estimation with IMU attitude estimation.

Julius’ Status Report 3/14

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.

Eddie’s Status Report 3/14

This week, I focused on integrating the IMU sensing pipeline and beginning development of the attitude estimation component of our state estimator. I implemented a complementary filter that combines gyroscope, accelerometer, and magnetometer measurements to estimate roll, pitch, and yaw from the IMU data stream. I structured the implementation so that the complementary filter runs as a standalone module, while a lightweight ROS node subscribes to the IMU topics and publishes the resulting orientation estimates.

I also created tools to test the filter using recorded IMU and magnetometer data. This included scripts to replay logged sensor data through the filter and visualization tools to plot and view the estimated orientation over time, including a simple 3D viewer to better interpret the results.

My progress is currently on schedule. The main goal this week was to establish a reliable orientation estimate from the IMU before integrating it into the full state estimation pipeline.

Next week, I plan to integrate the complementary filter output with the rest of the estimator and begin modifying the attitude filter so that it can fuse the IMU orientation estimates with visual attitude measurements from the celestial solver.

Rachel’s Status Report 3/07

This week I focused on the visual processing portion of our celestial positioning system. I worked on refining the visual pipeline architecture for our report, including the image capture, preprocessing, star detection, plate solving, WCS boresight extraction.

My progress is currently on schedule. The work I completed this week aligns with my role in image processing and vision, and it gives us a much clearer structure for implementing and validating the visual pipeline.

Julius’ Status Report 3/07

This week, I did not make much progress on the project as I was out of the country on break. A majority of my time was concentrated on delivering my portion of the design report. This week, my primary goal is to deliver the camera calibration on Tuesday and to take the first sky image Tuesday night, conditions permitting, to hand it off to start evaluation of the image pipeline Tuesday night. After this is complete, I will begin CAD’ing the carrier board and assembling the hardware, with a goal of delivering the first version next weekend.