
During my summer university break, I made the choice to create a drawing robot. This robot has the ability to ascend vertical surfaces like a whiteboard, where it can draw shapes and images using a marker. The feasibility of all this was made achievable thanks to the Arduino Engineering Kit.
Electronics used
The electronis used in this project were:
- 1 Arduino Nano 33 IoT;
- 1 Arduino Nano Motor Carrier (contains H-bridges to run the motors);
- 2 DC motors with a gear ratio of 1:100 (to increase the torque);
- 2 Hall effect encoders (to read angular speed of the motors);
- 1 servo motor (to raise and lower the marker).
The math and physics behind the drawing robot
After having assembled and wired the robot, with some basic physics and math principle, I figured it out how to move the robot along an XY plane (the whiteboard). The robot moved thanks to the two DC motors that rolled up or unrolled the wire attached to two pulleys placed at the two upper ends of the whiteboard. The mathematical aspects related to the robot's motion are summurized in the following document.
Images processing software to transform any digital image into speed information for the motors
To write any image, the robot uses some image conversion algorithm that uses several images processing MATLAB libraries that accept in input images and outputs a sequence of connected little segments that the robot is going to draw on the whiteboard. Here's an example of the drawing robot that draws a heart, and here a flower.