Omni-Directional Robot



Kayla R

Electrical Engineering

Promise Academy1


Incoming Junior

Second Year Video

 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

For my 3rd  milestone, I have combined my PS2 controller code and multiple motor driver codes and added some of my own to create a code the is compatible with my motors. I have also attached my motors to my chassis and connected my PS2 wireless Bluetooth piece to my Arduino as well as figured out the wiring for my battery and motor controller. Lastly, I have added a switch that turns everything on and off. The Arduino aspect of this milestone was the hardest part in the entire part of my project; going through different codes and understanding the different parts of them in order to combine them and make my own was both fun and challenging. In my final project video, I will add LEDs and paint the chassis.  

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

   Hi, my name is Kayla and I am a rising junior at Promise Academy 1 High School. My project is the minty boost, it runs on two 1.5 volt batteries. This initial input voltage gets created into a higher voltage of 5 volts which is enough to charge a phone. This conversion gets done by the boost converter. Capacitors also play a huge role in this project, particularly the power supply capacitor which regulates the output flow of voltage to 5 volts regardless of if the input voltage is greater than 5. Lastly, the bypass capacitor smooths the current and the USB sends it to the phone.

Leave a Comment

Start typing and press Enter to search