Eddie’s Status Report 04/25

This week, I focused on testing the integrated EKF pipeline with the data collected from the moored weather balloon test. I helped review the logged IMU and visual data and checked how the filtering pipeline behaved when the visual feature extraction became unreliable due to cloud cover.

I found that the EKF pipeline can still process the sensor data, but the visual updates are less useful when the star detection pipeline fails or produces poor measurements. This showed that we need stronger filtering or masking before passing visual measurements into the estimator.

My progress is on schedule. Next week, I will help finish the final report, poster, and video, and include the testing results from the balloon experiment.

Team Status Report 4/18

This week, we focused on integrating the full system and evaluating performance. We connected the EKF pipeline with the IMU and visual components and began running end-to-end tests using real collected data.

We also collected trajectory data and compared results against GPS ground truth, seeing significant improvements over pure IMU dead reckoning. Overall system metrics are within our design targets, including position accuracy, timing, and power.

We are on schedule. The remaining work is final testing and preparing for the demo.

Eddie’s Status Report 4/18

This week, I implemented the attitude and position EKF modules and connected them to the IMU and visual pipelines. I also tested the data flow between nodes and began running end-to-end tests using recorded data.

For verification, I checked that the attitude EKF produces stable roll, pitch, and yaw when combining IMU and visual inputs, and that the position EKF propagates motion correctly and updates toward visual position measurements. Initial results show the system is behaving as expected.

In the process, I had to learn more about EKF design, coordinate frame transformations, and how to structure ROS nodes for modular systems. I mainly learned this through documentation, online resources, and testing small examples before integrating everything together.

My progress is on schedule. Next week, I plan to run more tests and evaluate accuracy against ground truth.

Eddie’s Status Report 4/4

This week, I focused on verifying the IMU attitude estimation after calibration updates. I reran the complementary filter on recorded data and analyzed the roll, pitch, and yaw outputs using plots and a 3D viewer.

The results show improved stability, especially in yaw, after fixing the magnetometer issue. This verifies that the IMU subsystem is producing reliable orientation estimates.

I also wrote up the code for the position esitmation node but I might need some testing with the visual pipeline once we have that data.

My progress is on schedule. Next week, once we have a good day I will test all the estimations together.

Eddie’s Status Report 3/28

This week, I worked on integrating the IMU attitude estimation with the rest of the estimator and preparing for the interim demo. I refined the complementary filter pipeline and continued testing using recorded data and visualization tools.

My progress is on schedule. The main goal was to ensure the IMU attitude estimates were stable for use in the system.

Next week, I planned to begin integrating position estimation.

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.

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.

Team Status Report 3/7

This week, our team continued development of both the hardware and software components of the celestial positioning system. On the hardware side, we continued configuring the onboard compute platform and sensor interfaces so that camera and IMU data can be reliably streamed into the processing pipeline. On the software side, we made progress on several key algorithmic components including the celestial feature detection pipeline and the state estimation framework that will fuse inertial and visual measurements.

Our current focus is on ensuring that the different subsystems can operate together as a complete navigation pipeline. The camera system is being prepared for reliable star detection under nighttime conditions, while the estimation framework is being implemented to fuse IMU propagation with celestial observations. These components together will allow the system to produce stable position estimates even when GPS signals are unavailable.

In the upcoming week, we plan to continue refining the visual feature extraction pipeline and integrate the estimator with the outputs of the celestial solver. As additional hardware arrives, we will begin collecting test data to evaluate system performance under realistic conditions.

A: Our celestial positioning system is designed to address the global need for reliable navigation in environments where GPS signals are unavailable or unreliable. GPS denial can occur in many contexts worldwide, including remote regions with limited infrastructure, areas affected by signal interference or jamming, and environments where satellite visibility is obstructed.

C: As designed, our system is designed for repeated-use on UAVs for global positioning. It uses standard electronic components, and thus doesn’t pose any additional risk of pollution or damage to the environment more than a drone does without it. While our initial prototype will feature a 3D-printed PLA carrier board for rapid iteration, we will attempt to make our final carrier board metal which will structurally strengthen the module but also decrease negative environmental impact.

A written by Eddie, B written by Rachel, C written by Julius.

Eddie’s Status Report 3/7

This week, I continued developing the state estimation framework for our celestial positioning system. I expanded the Extended Kalman Filter implementation to better handle the interaction between inertial measurements and visual updates from the celestial solver. In particular, I worked on structuring the filter so that the IMU propagates the system state at a higher rate while the visual pipeline provides lower-frequency corrections. I also began testing the filter behavior with simulated measurements to evaluate how well the estimator corrects drift when intermittent celestial observations are available.

My progress is currently on schedule. The main objective this week was to refine the estimator structure and verify that the propagation and update steps behave consistently when combining inertial and visual information. Initial tests suggest that the filter framework is functioning as expected.

Next week, I plan to further tune the noise parameters and integrate the estimator interface with the outputs of the visual pipeline so that the filter can begin processing real data once the hardware and sensing pipeline are fully operational.