Boat 1 Boat 2 Boat 3 Boat 1: Our goal is to create a printable robotic boat for early education. We decided on a paddleboat as the most straightforward model. We wanted to get an idea of how the boat would be constructed with a simple mechanically propelled paddlewheel, so our first prototyp...
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...
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...
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...
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...
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...
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...
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...
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...
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...