Dienstag, 5. Mai 2015

Final Project - post 2

In the last week, we did the following things:
- finalized the concept (add/remove parts)
- laser cut the robot's casing
- figure out and solder the circuit
- work on the code

Here's a short video update:

So let me go through the above points step by step to give you an update.

Final concept
Natalyia and I decided to keep it simple and only used the motor shield. We wanted to make sure that the robot does what he is supposed to do (which is drawing) in a controlled fashion before potentially hooking it up to other sources of input (such as weather or date APIs).
Also, we are using gear DC motors now (instead of normal DC motors) to give the robot more torque. To increase the bot's ability to drive more, we added a little metal ball caster wheel, so the bot is now balancing on the two wheels and the caster wheel.

Laser cutting the parts
This part took some trying and testing to get the measurements perfectly down. We wanted to glue as few parts as possible so we made exact measurements to give the parts a good fit. This worked in most cases (range sensor, wheels, one vibration motor) but we had to use a little duct tape in other instances.

Figuring out the circuit
For space reasons we did not include our breadboard in the bot. Instead we used a perf-board and soldered the wires together. Altough more space efficient, it took more fiddling with the circuit to make it work properly. Also, the circuits can get really messy using this approach:
wiring

Working on the code
Once the circuit was done, we had to start working on the code. To make the bot more interactive, we had to create conditions for the bot to react to us. So for example, we made a little hat the bot gets excited about and starts to draw when it's wearing it. We are also using the range sensor to influence the the drawing; so when you get too close, the bot will "freak out", drive away and then resume drawing the pattern we programmed it to do.

Drawbot's hat

What's next?
Now we only need to fine-tune parts of the code for the bot to function correctly. Once that is done, we are ready to present :-)