Messenger Robot Final

I decided to continue with my idea of a messenger robot in the context of accessibility. For example, if for some reason you can’t move, you can control this robot with your computer to send and retrieve items with another person.

From last week, I added/improved on a few things. Mainly, I increased the torque of the wheels so the car could actually move. I created a gear system and made the drive gear smaller than the driven gear. I also decreased the wheel size. Then, to help it move, I reduced friction wherever I could and reduced the weight. I took off a motor (from 2 to 1) to make it lighter and also because it only needed one. I also added a lipoly battery so it could be mobile.

I added an ultrasonic sensor that would return the distance in cm of how far away the target is, in this case the other person who you’re sending the robot to. I put a small container area at the top with an “item goes here!” sign as a signifier to where you should put the item you want to send.

I made a p5js sketch as well, where you can control the robot. A small button at the top left sets pin 4 as output. Hovering the mouse on the left side of the screen turns the motor off, while on the right side of the screen turns it on. At the bottom, it says “I am ___ cm away from my target!” which is the ultrasonic sensor reading outputting to the user.

I ran into a few problems involving both the robot and the sketches. It took me a long time to figure out how to get it moving, experimenting with the gear system and constantly trying to find ways to increase the torque. When I plugged in the lipoly battery, it wouldn’t work – I had to put wires in the male header, and then run them to the power and ground lines. The ultrasonic sensor was also pretty hard to implement, which required another custom function and more code in p5. For the p5js sketch, I came up with a blank screen in the beginning, but just forgot to import the dom library for the buttons. When I was using it later, the mouse hovering didn’t work, but Che Yu helped me figure out that the feather was taking to many requests, so we used a boolean to make sure that the number of requests was controlled.