06 Jun

Throughout the past two weeks, I was able to figure out the I2c function calls from the ST’s Arduino API and extract and use them directly on the Arduino IDE. First, I used the Doxigen documentation tool with Graphviz dot to generate block diagrams of all functions, classes and structs and their con...

30 May

This week I worked on finishing up preparations for the test run of CoLo PE that will hopefully happen this Friday. Last week I opened up a new Create 2 robot to test how well using circular flat retro reflective stickers would work as a substitute for the official Optitrack markers or our 3D prin...

30 May

Recently I've been reading some interesting papers on SLAM algorithm specifically using cameras. Some of these really broadened my mind. Some of interesting algorithm incluedes the most fundamental one, mono SLAM [1], and the recent one, ORB-SLAM [2]. I'm now studying these frameworks in my spare ti...

30 May

Representation of addConnection: addConnection( (FaceA,EdgeofA), (FaceB,EdgeofB), front-front/front-back, (x,y,z), (rotationX,rotationY,rotationZ) ) Step1: user should assume FaceA is in an x-y-z coordinates with EdgeofA aligned with the x-axis in the xy plane. The connected faceB is also in the...

23 May

This week I was able to process and visualize the data received from the Arduino using a Python script. The code mainly uses the matplotlib and numpy libraries’ functions in order to manipulate and plot the data in different formats. The data were captured by the VL35L1X sensor on an Arduino Uno for...

20 May

Over the last week I've implemented relative observation and communication support as well as a random data generator for the simulation. Relative observations mean that robots can measure not only distances & bearings of landmarks, but also of other robots. Enabling communication in the simulatio...

16 May

After wrapping up testing the accuracy of NTP, this week I worked on creating new Optitrack Markers for the two new robots and landmarks we plan to add. Creating our own custom markers provides a cheaper, faster, and more flexible alternative to ordering genuine Optitrack markers. 3D Printed Mark...

16 May

Cut-off strategy means to use only first N observations to do polyak averaging, and stop updating landmark after N observation. The cut-off strategy has two advantages: More robust than traditional polyak averaging in both global observation model and intermittent observation model Able to...

09 May

Last week I tested the ping between computers on the same local network and found that the round trip time of a packet inconsistently ranged between 3.4 ms to 588 ms. Typically, packets sent within the same local network should be less than 10 ms, but for some unknown reason the latency in our netw...

09 May

This week I've been revisiting the online EM for Hidden Markov Model [1]. The formulation between HMM and latent model is similar but there's a little different. I've also developed an performance evaluator to quantify and optimize the performance of our framework, especially the choice of learnin...