Hi, my name is Kayla and this is my second year at Bluestamp. For my intensive project, I have chosen the omnidirectional robot. This robot can move in any direction and is controlled by a wireless PS2 controller and programmed with Arduino. My second-year experience has been different from my first because I used more coding particularly with Arduino than I did last year. My first-year intensive project was the portable centrifuge and it involved mostly mechanical engineering, 3D modeling, and some electrical engineering, compared to this year’s project which was coding heavy and involved a healthy mix of electrical and mechanical engineering. My goal to reach in my second year at Bluestamp was to familiarize myself with Arduino and learn how to construct and design aside from 3D modeling. After the completion of my robot, I have looked into the applications of omnidirectional robots in the architectural field. For instance, if there was a problem in a vent that was too narrow for a human to fit through you could send a regular 4-wheeled robot into the vent but that would involve more movement considering the robot can’t turn on itself. A more practical solution would be to send an omnidirectional robot inside that could easily navigate through the pathways by turning and rotating on itself. construction firms such as Bechler and AECOM who build intricate buildings might seriously benefit from the use of omnidirectional robots. Amazon actually uses these types of robots in their warehouses to move huge stacks of boxes around, the robots slip underneath the shelves and literally carry them to their final destinations with ease opposed to forklifts that only support the shelf on 2 slim prongs and require more human control and skill. My robot and the Amazon robots are similar in the fact that they can turn on themselves allowing them to move in any direction, one of the differences between the two is that my robot has two layers and is much smaller compared to Amazon’s. Amazon’s robots are built for industrial usage and the transportation of large goods, my robot is more on the non-industrial side which makes it good for transporting medium-small things; both are good for their own settings. In conclusion, while completing my project the purpose behind it was always in my mind and played a huge role in figuring out how to make it better. I think keeping a robots purpose in mind is extremely beneficial in the making of it. In this case, thinking about what I wanted my robot to do lead me to pick the omnidirectional robot and which direction I wanted my robot to move to lead me to pick a three-wheeled design.
Final Milestone
For this milestone, I have painted the chassis and attached a ream of NeoPixels to the top of it. First I painted both boards and the along with the braces so they wouldn’t be conductive anymore. Next I connected the NeoPixels to Arduino and downloaded the Neopixel library and downloaded the “RAINBOW” code which has delays that control how long the break between the light being on and the light being off is. The code also establishes a range of colors that the LEDs can turn. To make the code work I connected the NeoPixels to pin number “8” and used a five volt regulator to make the entire stip of lights light up. I did this because the Arduino can’t power more than 130 LEDs and the strip I was using had 150. The regulator takes power from the battery instead of the Arduino but releases it at a constant rate of 5 volts. I ended up cutting the strip anyway so it could fit perfectly around the perimeter of the top board but I still did this just incase I wanted to use them all. The most challenging part about this was downloading the right NeoPixel library, at first I downloaded the “Adafruit Circuit Playground” which did not establish commands in my code. In the end I am proud of my project and the modifications I added to it.
Third Milestone
Second Milestone
For this milestone I have designed my chassis and assembled it, the short sides are 7cm and the longer sides are 18cm. There are six sides in total so my robot has a hexagon frame, the body pieces are 11 cm apart from each other. I drilled 2 holes on every other side of each body piece for the braces to be drilled into. Next, I drilled 2 holes on every other side of the bottom body piece so I could mount the motors with aluminum strips, square shafts, and collar shafts. I connected the battery to the breadboard along with the motors which makes it possible for the motors to be powered. The hardest part in this step was to mounting the motors because I didn’t understand how to match the screws to the holes in the aluminum strip and the orientation of them. For my next milestone, I will control the motors with the motor controllers wirelessly with the PS2 controller.
First Milestone
For my first milestone, I have uploaded the PS2X Arduino library and ran the example code. The library basically establishes variables and commands that I can use in my code, different pins are assigned to different commands that work in conjunction with the motors and wheels along with the PS2 controller. Radio frequencies are sent between the controller and the Bluetooth piece which make it able to wirelessly communicate, between the Arduino and the computer there is serial communication happening which sends little bits of code through the USB back and forth between the computer and the Arduino. .Commands such as forward and backward are made into signals that the computer can understand. I have made it so that when I press the “X” button the blue light turns on and when I press the “O” button the light turns off. The challenges I had to overcome in doing this we’re going through faulty and incompatible controllers as well a finding an accurate PS2 controller library and adjusting the example code to make it do what I wanted. For my next milestone, I will assemble the chassis and mount everything on it.
Starter Project