28 Jul

We had learned from the non-ML-based ball detection algorithm that a color-and-contour-based algorithm cannot always detect the ball with enough accuracy. As a result, I have been developing an ML-based platform for training a model with multiple images of the ball and identifying a bounding box aro...

28 Jul

Last week, the engineering effort was focused on setting up the hardware and building the blimp and any other required electronic components. Initially, we couldn't set it up using the balloon that we bought from Amazon, so we had to reuse the blimp that was used in the previous tournament. Due to t...

27 Jul

Over the past week, I have been working on getting the dashboard to display video. As shown in this image, the dashboard can now do so. To do this, one can pass in JPEG binary data or base64 encoded JPEG images, which it will then display. I do this by having the OpenMV cam send this info to the...

27 Jul

I have been working on allowing the user to review their robots runs within the dashboard. There is now a Download txt file button at the top of the screen, which allows one to download a text file containing a JSON object that represents every input the dashboard received. However, this currentl...

27 Jul

I have built the first prototype of a boat with rudder steering. This video shows the rudder steering in action. We ran the boat four times and obtained these results: When the rudder is straight, the boat goes (relatively) straight. When the rudder is tilted to the left, the boat veers to...

27 Jul

Last week, the two biggest things that we accomplished were making one node in the mesh network into an MQTT bridge, which would connect to an MQTT broker to be able to use the dash with the mesh network, as well as set up the RFM69HCW 433 MHz packet radios into a unicast mesh network. So, using t...

22 Jul

Last week, I worked on filtering three independent data streams from barometers using a simple Kalman filter. The output is given below: The black lines represent the ground truth, the red dots represent each data point, the orange curve represents the output of a running average filter with 1...

22 Jul

The previous illustration is in this link This post is mainly talking about the error fixed in the MM estimator. The biggest error of the MM estimator in derivation and code is that: The error is: In the matrices, I used the scalar 1 to replace identity matrix I. For example, using (1-K) to re...

19 Jul

Last week, I set up the RFM69HCW 433 MHz radio hardware to be able send messages from one radio to the other. Below is a picture of the set up. I have the 433 MHz packet radio on a breadboard and connected to an ESP32 Feather Board, as well as attached to a quarter-wavelength antenna (about 17 centi...

19 Jul

Building upon the work that was done last week, the goal this week was to include some sort of motion actuation to demonstrate that a vehicle can track a specific blob of a specific color using the OpenMV camera. However, due to setback in the goal of making a blimp, we decided to proceed with a sma...