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.

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.

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.

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.

Eddie’s Status Report 2/21

This week, I focused on beginning implementation of the Extended Kalman Filter for our positioning system. I set up the filter structure in code, including the state representation, prediction step using IMU acceleration, and covariance propagation. I also started implementing the measurement update step that will incorporate celestial position estimates to correct inertial drift. Currently, I am testing the filter framework using simulated data to verify that the prediction and update steps behave correctly.

My progress is on schedule. The main goal for this phase was to begin coding the estimation algorithm, and I now have the core filter structure in place.

Next week, I plan to complete testing of the filter, tune the noise parameters, and prepare the implementation to accept real IMU and celestial solver data once the hardware is ready.

Eddie’s Status Report 2/14

This week, I focused on developing the estimation framework for our celestial positioning module. Specifically, I designed the structure of our Kalman Filter based state estimator and formalized the mathematical model for fusing IMU acceleration with celestial position outputs. I worked through both 2D and 3D formulations and decided that a full 3D state representation is needed to properly handle gravity projection and tilt induced drift. I derived the continuous and discrete time process models for position and velocity propagation using accelerometer measurements.

My progress is currently on schedule. This week was intended for algorithm development and mathematical groundwork before the implementation. The derivations are complete at a conceptual level, and I am ready to begin coding to validate filter behavior before hardware integration.

Eddie’s Status Report 2/7

This week, I prepared and presented our proposal, achieving a much deeper understanding of our project as a whole. Additionally, I learned more in-depth about Kalman Filters and state estimators. This is important because our project requires the aggregation of different sensor data to achieve location prediction.

My progress is on schedule since my background knowledge will allow me to start planning our algorithm and how our project will fit into the algorithms. By next week, I expect to have written out algorithms specific to our project.