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.

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.

Rachel’s Status Report 2/21

This week, I investigated optimal camera configurations for reliable star detection under nighttime conditions. I researched how exposure time, gain, and aperture impact signal-to-noise ratio, motion blur, and star visibility, especially given the UAV’s motion. I explored trade-offs between longer exposure, which gives brighter stars but increased motion blur, and shorter exposure, which has reduced blur but lower signal strength.

I am currently on schedule, as this week was intended to narrow down hardware and imaging parameter considerations before implementation. In the immediate next steps, I plan to begin testing different exposure and gain combinations on sample nighttime imagery and evaluate detection performance quantitatively.