30 Jun

Over the past week, I've been busy debugging the simulation. A few slight modifications were made to the simulated dataset manager that enabled the user to enter the velocity input distribution, and a slight change was made to how landmark vs. measurement data was selected. One test was comparing...

19 Jun

How to represent the three major types (four subtypes) of connection edge-edge: addConnection((faceB,edgeB), (faceA,edgeA), orientation=front-front/front-back, offset=x, angle=x) initial placement: faceA is placed in the x-y plance of an x-y-z coordinate, edgeA is placed along the x-axis. Simila...

06 Jun

This past weekend we were able to do a complete test run of CoLo-PE that we’ve spent the last quarter updating with new changes. The most notable addition is the new communication module which collects data about the received signal strength and the link quality (based on the number of dropped p...

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...