Final Project → The Result
In general, the bot is a fairly descent proof of concept. I had no time to work on the code before the official demo of June 4th, and I loaded the code without having a chance to test it before going live...
The robot drew (sort of), the polygons as expected but bugs in the program made that the robot would not move to the next spot to draw the next polygon.
I'm saying "sort of" because there were two major flaws during demo which I must resolve.
One flaw was electronics I build my board using the small 5V. regulator from inventory, and that regulator does not pass enough current to drive a servo... I realised that issue litterally minutes before the live demo because I had done all my testing with the FTDI cable connected, and the issue did not manifest itself until I cut DooD's umbilical cord.
So during demo I deactivated the Pen-Up / Pen-Down feature (to be honnest the mechanical design of the lift arm using a simple rubber band needs improvement anyways).
The other major flaw is the grip: During demo the wheels where spinning without offering traction, and DooD looked like a baby girafe on an icy lake trying to get on his legs for the first time... After demo, I realised that when I was applying downward pressure on DooD as the wheels spun it would have the traction it needed and performed the choregraphy as I'd hoped it would.
Structural elements
- The chassis is well dimentioned and the different elements are firmly attached to it through different methods.
- The marble omni direction wheel is a last minute invention to paliate parts that did not arrive. It fills well its function, but needs to be improved and properlly attached to the body.
- Wires between motors an board and battery and board need to be organized.
Mechanical elements
- The robot drives and both motors are controled independently
- The Pen lift mechanism activates with a servo when the board is connected through programmer or FTDI.
- The Pen lift mechanism fails to activate when DooD is solely powered with the battery. → this is due to an error in chosing power regulator (the one chosen does not let through enough current to power a servo.
- The Pen lift mechanism based on the rubberband does not have the desired property (precision when liting or dropping pen, slack when pen is down.)
- The wheels lack grip, and at best alter significantly the precision, and at worst the design is not recognisable from the programmed path.
Electronics
- The boards works to control the motors
- The the 5V. voltage regulator needs to be swithed to a more potent one.
- The 3 x 3.7V. in series Lithium-ion batteries seem to work fine and provide good autonomy.
- A charging circuit needs to be added for the batteries.
- The accelerometer shield needs to be developped and tested.
Software
At this stage the basic functions for going straight or pivoting on place, as well the Pen-Up/Pen-Down commands are implemented and tested. There are mechanical issues that affect the end result but the software doesn't not seem to cause dysfunction.
All the more advanced funtions need to be developped.
- Move straight function works as expected
- Pivot function works as expected. (Calibrating of pen tip position may be required to improve precision)
- The draw curve funtion needs to be tested for validation.
- Debugging necessary in relocate and point north functions.
- Develop basic HPGL interpreter (most common functions).
- Create Specific DooD Font(s).
dOOd's first steps from Matthieu.
DooD 2.0 and beyond
The scope of improvements that could be made to DooD before it becomes the item every households needs three of is pretty wide. However my personal challenges along with "recommendations" from my kids --what do they know anyways-- are listed below:
- Improve pen lift system
- Lithium-Ion battery charger
- Self Balancing
- Wireless communication
- Voice Recognition →(when I showed it to my daughter, she said: "Oh that's nice, but how does it know what it's supposed to draw? I thought that you just tell him 'draw daddy' and it does it...")