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.

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.

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.

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.

Team Status Report 02/21

This week, we set up the Raspberry Pi 4 which we will use as our compute module for the project and presented our design proposal, connected the camera, and set up ROS on board to stream the camera frames. Our progress is currently being limited by the arrival of all other hardware, which has been delayed from DigiKey. In the meantime, we will continue with camera calibration and image preprocessing to be ready for when weather conditions are suitable to start capturing our first camera data for feature extraction.

Team Status Report 2/14

This week, we focused on building the foundations of our approach across all categories. We have initial algorithms in place for sensor fusion from sensors and visual positioning fixes as well as a pipeline to extract features to produce a global position fix from the camera. On the hardware side, we have purchased all parts except from the mechanism that would allow the camera to rotate, and are awaiting their arrival. We are working on the design presentation next week, and are also planning to gather our first data for offline testing of visual feature registration this week while the weather is amenable to doing so.

A: Our celestial positioning system improves safety by providing an alternative navigation method in GPS-denied environments, where loss of positioning could lead to crashes or mission failure. By maintaining reliable localization for drones or autonomous systems, the design reduces risks to people, property, and surrounding infrastructure.

B: Our system addresses important social factors by increasing accessibility to reliable positioning technology independent of GPS infrastructure. Many existing navigation solutions rely heavily on satellite connectivity, which can be unreliable or unavailable in remote regions, wilderness environments, or during infrastructure outages. By providing an alternative positioning method using only onboard sensors and passive observation of celestial features, our system enables individuals and communities to maintain situational awareness even when conventional systems fail.

C: The system is being constructed with low-cost mass-production in mind. All components are off-the-shelf and widely available. The camera is cheaper by several orders of magnitude than those used on aerial systems historically for celestial positioning. The Raspberry Pi provides no hardware acceleration, and is thus easily swappable for other processors which meet the memory restrictions. The sensor suite is also non-specific to the module itself and can be swapped for more expensive or cheaper sensors, potentially at the cost of performance if cheaper.

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

Team Status Report for 2/7

This week, most of our bandwidth was spent preparing our proposal presentation, which was presented on Wednesday. We also began preparing our parts list and our hardware layout; ordering parts and beginning software development are the goals for the upcoming week. Our team is also working to gain familiarity with requisite concepts including filtering, localization, drone controls, and vision while we wait for arrival of parts.