Bob Ross Bot
A Bob Ross themed plotter
|
This project modulates a robotic plotter that draws images
The general design of our project is as follows:
The desktop interface is a CLI that allows the user to select a picture, Then it runs a sobel filter on the image, and then it inverts the image. This turns the image into a black and white image that is mainly lines. The desktop interface will then display the image before sending it to the Nucleo board. This example below is what it should look like when filtering the image. The result will be different when we implement it but it should look similar.
The first task controls the theta axis motor. This task will try to move the theta of the plotter to the desired angle.
The second task controls the r axis motor. This task will try to move the radius of the plotter to the desired radius.
For the two motors the FSM will be as follows:
The third task controls the z axis solenoid. This will move the pen up or down depending on whether it should be drawing or just moving.
The limit switches are used to determine when the plotter has reached the end of the plot in either the theta or r axis. This should only be useful in calibration mode because the image will be inside the plotters range of motion. If the switch is pressed during operation it should skip the current point and move on to the next point.