PRE2024 3 Group6: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
(Add papers - Dev)
m (updated spelling and wording)
 
(77 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Dev, Geert Langhout - 1721704, Michiel Sweere - 1762435, Merlin 1734008, Haochen1533819
{| class="wikitable"
|+Group Members (Group 6)
!Name
!Student Number
|-
|Dev Joshi
|1787101
|-
|Geert Langhout
|1721704
|-
|Haochen
|1533819
|-
|Merlin
|1734008
|-
|Michiel Sweere
|1762435
|}
 
=== Problem statement ===
Blackboards are widely used even in the digital age. At the Technical University of Eindhoven blackboards are beloved with teachers and students alike. There are many reasons for the love for blackboards, however one downside is that cleaning the blackboards is inefficient. While the professor is cleaning the blackboard the lesson is momentarily halted and the chalk can get everywhere which can make for an unclean environment. Designs exist to clean the dusters automatically, but that still leaves cleaning the blackboard to the teacher.<ref>Jagtap, S., & Tuljapure, S. (n.d.). ''DESIGN OF BLACKBOARD DUSTER CLEANING MACHINE''.</ref> A blackboard cleaning robot could mean that a teacher does not need to pause their lecture and could lessen the unsanitary environment of the teacher.
 
=== Objective ===
The objective of this project is to develop a robot that can efficiently and without much drawbacks clean the blackboard. The robot should be able to reach all the spaces on the blackboard and clean them. This is the basic requirement of the robot, furthermore several things are preferred. First of all the robot should be able to detect if parts are not necessarily erased and avoid erasing these locations. Second, the space the robot takes up should be minimized and the chalk residue should be stored, as to lessen the need for routine cleaning of the machine. Lastly the robot should clean the robot efficiently as to be as small as a distraction for students and professors as possible.
 
=== Who are the users? ===
The primary users of a blackboard cleaning robot include '''teachers, lecturers, and school staff''' that rely on blackboards for instruction. Additionally, people working at '''companies, research labs, and conference halls''' that use whiteboards or blackboards could also utilize these robots. '''Janitorial staff''' working at these institutions can also benefit from the robot as it reduces their workload. It was also decided to focus in specific on '''Dutch universities''' for our design, since we have better access to these institutions.
 
=== What do they require? ===
Users need robots to be better than humans in some aspects of the task of wiping the blackboard, such as faster, cleaner, and dust-free, or have some additional intelligent functions, such as controlling with phone app,  saving erased content or providing intelligent assistant services. After meeting the main requirements and some minor requirements, we will try to make the robot more stable, reliable and cheap, and apply it to more different blackboards.
 
== Goals ==
'''Core goal:''' Clean the blackboard quietly and effectively, leaving no dead corners.
 
'''Secondary goals:'''
 
1. Provide a function to save the blackboard content before erasing, which can be linked with the projector to recall the previously erased content.
 
2. Remote control through a mobile app.
 
3. Provide a dust removal solution to prevent dust pollution from affecting the health of users.<ref>Y. A. Maruthi 1 & S. Ramprasad 1 & N. Lakshmana Das 2; Trace Elemental Characterization of Chalk Dust and Their Associated Health Risk Assessment</ref>
 
4. Provide selective cleaning, leaving important parts on the board uncleaned
 
== Outcomes user interviews ==
Some highlights/recurring thoughts encountered during interviews conducted with potential users of our product:
 
Problems current use with the cleaning of blackboard
 
* Hands get chalky
* Dirty boards at start of lecture
 
Preferred timing of cleaning
 
* Clean during breaks
* Automatically after lectures
 
Additional preferred features
 
* Scan in notes
* Erasing certain parts and leaving others out, would be nice to have organic shapes cleaned
* Dry and wet cleaning options
 
Robot specifications
 
* Should clean board in 5 minutes
* Should not block the board in any way
* Should be able to clean the whole board
* Robot should be quiet
 
Robot-user interaction
 
* Swiping away the places that should be cleaned on a tablet
 
== RPCs ==
The following RPCs have been formulated based on the interviews conducted.
 
=== Requirements ===
 
* Able to clean entire blackboard - (some interviewees wanted this, some not. For broadest appeal we want the ability to clean the entire board)
* Able to selectively clean board, avoiding areas indicated by user - (Most interviewees viewed this as very helpful)<ref>M. Umbarkar 1, S. Kattitharayil 1, F. Rozario 1; Design & Fabrication of Smart Board Cleaner
 
International Research Journal of Engineering and Technology (IRJET), vol. 6, no. 4, pp. 1645–1650, Apr. 2019</ref>
* Able to withstand accidental bump during operation (an interviewee mentioned this)
* Design can work on multiple sizes of blackboard (an interviewee viewed this as useful)
* Under 35 decibels during lecture time (WHO limit for disturbing educational activities, lecturers also preferred it to be <= whispering level)
* Can be used during lectures and breaks (some interviewees wanted to use it while teaching, some only during the break)
* Should clean biggest blackboard at TU/e within 5 mins (this guarantees the cleaning process is done before the break ends)
* Has wet cleaning option (desired by interviewees to ensure fully clean board)
 
=== Preferences ===
 
* Should put less dust into the air than when cleaning using a normal chalkboard eraser (preference of ours, to enhance safety since the dust is harmful to health)
* Idiot-proof, simple interaction (interviewees didn’t always want to have to learn how to control it, ‘just press a button’)
* Production is CO2 neutral for the university (offered by one interviewee, can be used as selling point)
* Automatically cleans board at end of lecture (brought up by some interviewees so they know the board is clean when they start teaching)
* Can connect to phone/device where lecturers can control it (enables some extra functionality, which a few interviewees viewed as helpful)
 
=== Constraints ===
 
* Cannot interfere with normal functioning of lecture, i.e. blackboard sliding down because of weight (interviewees were hesitant to use it if it interrupted their teaching)
* Should not block any of significant areas when not in use, i.e. areas outside of corners (interviewees didn’t mind it sitting in a corner, but would like the board to be accessible)
 
== Design evaluation ==
In this section, designs will be introduced and evaluated how well they fit the RPC's.
 
=== Car wipers design ===
This is a design based on a car windshield wiper. Through the combination of six connecting rods, it can achieve a similar effect to a car windshield wiper and wipe the blackboard surface very quickly. The advantages are small size and extremely fast speed. However the car wiper design is bound to have blind spots, it will block part of the blackboard and making it able to selectively clean parts is not possible. Thus the car wipers design does not fit the RPC's.<ref>V. A. 1, N. Abinesh 1, J. Abiram 1, C. Abishack 1, V. A. Kumar 1; Design and Fabrication of Blackboard Cleaner
 
International Journal of Engineering Applied Sciences and Technology (IJEAST), vol. 5, no. 11, pp. 229–237, Mar. 2021</ref>
 
=== Drone design ===
While brainstorming, a lot of designs couldn't service multiple blackboards at the same time. Therefore, it might be cost-efficient to design a robot which is able to clean every blackboard in the room. There is another benefit to this: the dimensions of the blackboard do not matter as much, since the robot won't be attached to it. One way to realize this idea is with a drone. The drone could be 'resting' in a corner of the room, charging, until it is called to action. It then flies up, identifies the blackboard(s) that need cleaning and flies there, giving a wide berth to any obstacles in its way. Using an eraser affixed to its body, it can clean the board side to side or in swaths going up, paying close attention to its balance. Once done, it flies back to its charging station where the eraser can also be cleaned for next time.
 
This approach has some benefits, but also major drawbacks. Next to the benefits detailed above, drone technology has become mainstream. It could be possible to simply adapt an existing drone frame for this purpose, speeding up development. However, the main drawback would be sound. If the lecturer wants the board to be cleaned ''during'' the lecture, the drone might drown out their voice. Safety is also a big concern which would need extra attention during development.
 
=== Crane design ===
This is a variation of the traditional design, where the vertical brush heads are replaced with a small robot suspended on the top track, which moves left and right through the track and up and down through the suspension system. The advantage is that it is smaller and lighter, but the disadvantage is that the erasing speed is necessarily very low.<ref>张立勋, 夏占, 齐李, 张永发, 韩亮, & Ltd, Z. Y. R. T. C. (2013, February ''CN203184863U - Cantilever type sliding rail mechanism applied to rectangular coordinate system welding robot        - Google Patents''. <nowiki>https://patents.google.com/patent/CN203184863U/en</nowiki></ref> Another disadvantage is that the control of such a design can get quite complicated due to the swinging of the robot.<ref>TIANLEI WANG, NANLIN TAN, et al; "Global-Equivalent Sliding Mode Control Method for Bridge Crane"</ref>
 
The crane design likely satisfies our requirements and constraints, although we cannot guarantee the cleaning speed without doing testing first. We believe this design might be too slow for our requirements. The design also would have to be tweaked for different blackboard sizes.
 
=== Traditional design ===
[[File:Traditional.jpg|thumb|Tradition design used in japan]]
This is the most traditional design of a blackboard-wiping robot. It is a rectangular block with the same width as the blackboard. It moves left and right in front of the blackboard via upper and lower tracks and cleans with row-by-row blackboard brushes. The advantages of this design are stability, speed, maturity, and a large number of examples that have been put on the market. There is a lot of redundant space to add additional components such as dust removal modules. The disadvantage is that it is too large and must be installed with two rows of upper and lower tracks.<ref>Prashanth Pai Manihalla, Yathin Krishna, Nagaraja Anand Naik, Naveen Kumar, Rakshith, Rakshith Billava Ramappa; Design and fabrication of an electromechanical system to clean the blackboard. ''AIP Conf. Proc.'' 20 May 2020; 2236 (1): 050006. <nowiki>https://doi.org/10.1063/5.0007099</nowiki></ref><ref>V. Mohanavel, C. Kailasanathan, T. Sathish, V. Kannadhasan, S. Vinoth Joe Marshal, K. Sakthivel, Modeling and fabrication of automatic blackboard dust remover, Materials Today: Proceedings, Volume 37, Part 2, 2021, Pages 527-530, ISSN 2214-7853, <nowiki>https://doi.org/10.1016/j.matpr.2020.05.487</nowiki>.</ref><ref>https://patents.google.com/patent/US3731335A/en</ref><ref>FENGYIBAO 1, RESIN XIAODAN 1, WU SONGZUE 1, XU HAO 1, SU HAILONG 1, FUMIN 1; Intelligent and Automatic Blackboard Cleaning Nacgube
 
(School of Mechanical Engineering, Tianjin University of Science & Technology, Tianjin 300222, China)</ref>
 
The ‘traditional’ design satisfies our requirements and constraints, though we would need to carefully implement it to ensure it is not too loud. The problem with this design is that it already exists, meaning that we would need to work on something to improve upon this design. The design also would have to be tweaked for different blackboard sizes. For the traditional design the improvement we wanted to look into was selective cleaning. At the end the traditional design was considered to not be innovative enough and be too bulky to our liking.


https://docs.google.com/document/d/1pPDWfC-ANSb7UUsSuHuB8DjOFGSYxDZMXs8z4nUY1Wk/edit?usp=sharing
=== Cable car design ===
[[File:Cableexample.jpg|thumb|Example of how a cable driven robot could look]]
This is a design similar to a glass-wiping drone, which is attached to the blackboard surface by magnets. The highlight of its design is that there are two taut cables between it and the two corners of the blackboard, which can provide a certain support for its weight and help the robot accurately locate its position on the blackboard at any time, eliminating the trouble of self-positioning in similar designs. Studies show similar designs performed quite well in comparable applications. <ref>Tang, L., Tang, X., Jiang, X., & Gosselin, C. (2015). Dynamic trajectory planning study of planar two-dof redundantly actuated cable-suspended parallel robots. ''Mechatronics'', ''30'', 187–197. <nowiki>https://doi.org/10.1016/j.mechatronics.2015.07.005</nowiki></ref><ref>German, J. J., K.W. Jablokow, & Cannon, D. J. (2002). ''The cable array robot: theory and experiment''. ''3'', 2804–2810. <nowiki>https://doi.org/10.1109/robot.2001.933047</nowiki></ref>


^shared document
The cable design does satisfy all requirements and constraints. The cable design could be quiet depending on the motors used and is ideal for selective cleaning. There are some reservations about being able to properly develop it within the time frame and the long term use of such a robot. Even so the cable design is novel and does fit well with the requirements set.


Problem statement:
=== Free form design===
The free form design has a wide variety of possible designs <ref>Junru Zhu, Yongqiang Zhu, Pingxia Zhang, Review of advancements in wall climbing robot techniques, Franklin Open, Volume 8, 2024, 100148, ISSN 2773-1863, <nowiki>https://doi.org/10.1016/j.fraope.2024.100148</nowiki>.</ref><ref>Chan, Brian & Balmforth, Neil & Hosoi, AE. (2005). Building a better snail: Lubrication and adhesive locomotion. Physics of Fluids - PHYS FLUIDS. 17. 10.1063/1.2102927. </ref><ref>VertiGo - a Wall-Climbing Robot including Ground-Wall Transition</ref>. This design does adhere to the RPC’s, but the free form design would be complex and costs would be higher than for other designs. With the limited time and money at our disposal other designs were preferred.<ref>Junyu Hu, Xu Han, Yourui Tao, Shizhe Feng, A magnetic crawler wall-climbing robot with capacity of high payload on the convex surface, Robotics and Autonomous Systems, Volume 148, 2022,103907, ISSN 0921-8890, <nowiki>https://doi.org/10.1016/j.robot.2021.103907</nowiki>.</ref><ref>Qin, J., & Wei, Q. (2020). Wall-climbing obstacle-avoiding full-automatic lampblack cleaning device. ''IOP Conference Series Materials Science and Engineering'', ''793''(1), 012036. <nowiki>https://doi.org/10.1088/1757-899x/793/1/012036</nowiki></ref>
Following these considerations, we chose the cable car design. It fits well with our requirements and is a novel way in tackling the blackboard cleaning problem.
== Working out the cable car design==
After choosing the cable car design, the scope of our prototype was decided. Within this scope, we identified different parts to work out: the duster, connection of the duster to the motors, the motors, the path planning for the duster, and the image recognition. These subproblems were then divided amongst us to solve individually. After solving a subproblem, it will be integrated together with other subproblems to form the solution of the entire design.


Blackboards are widely used even in the digital age. At the Technical University of Eindhoven blackboards are beloved with teachers and students alike. There are many reasons for the love for blackboards, however one downside is that cleaning the blackboards is inefficient. While the professor is cleaning the blackboard the lesson is momentarily halted and the chalk can get everywhere which can make for an unclean environment. A blackboard cleaning robot could mean that a teacher does not need to pause their lecture and could lessen the unsanitary environment of the teacher.
===Hardware===


Objective:  
====Cable connection====
There were several possible problems identified with the cables: sagging, being too elastic, and spooling up the wire in the wrong way.


The objective of this project is to develop a robot that can efficiently and without much drawbacks clean the blackboard. The robot should be able to reach all the spaces on the blackboard and clean them. This is the basic requirement of the robot, furthermore several things are preferred. First of all the robot should be able to detect if parts are not necessarily erased and avoid erasing these locations. Second, the space the robot takes up should be minimized and the chalk residue should be stored, as to lessen the need for routine cleaning of the machine. Lastly the robot should clean the robot efficiently as to be as small as a distraction for students and professors as possible.  
Sagging could make the positioning of the duster less accurate. If the cable sags, the predictable straight-line distance between motor and duster is no longer accurate. However, the maximum sag was calculated (with some assumptions and roundings) to be ~1.4 cm. Using this sag, the estimated change in length for the cable to reach the duster compared to the straight-line distance is less than a mm, well within an acceptable range.
 
Being too elastic would also hurt the accuracy of positioning. By a quick calculation, the maximum force would only elongate the cable by at most 1 mm using steel, and 1 cm using plastic. Not significant enoug to endanger the functioning of the robot.


Lastly, spooling up the cable is also important for positioning. Using a 'standard' spool, the cable could move laterally over the barrel. It could overlap other pieces of cable while another part of the barrel was still free. This means that with one rotation of the motor, it is unknown how much cable has been released or gathered. This could be measured in other ways, but that would add complexity. Another solution would be to use a levelwind spool - this however would also increase complexity and use more space. We decided on using a spool with a barrel-width the same as the diameter of the cable. This way, at every point in a rotation you know how much cable you are moving. The only downside here is that the driving motor would need more torque, since the maximum diameter of the spool is larger. Assuming a 1mm diameter cable however, this maximum diameter is less than 7 cm.


====Cable Design:====
[[File:Cable duster blackboard.png|thumb|cable design]]
To reduce cable tension, a design was chosen where the cable extends to the edge of the board and then loops back. On the edge of the blackboard, the cable attaches to the spool on one end and is secured with a knot to the case surrounding the motor on the other end of the cable.


On the duster, the cable attaches to the upper side to prevent it from rotating and ensure the cleaning surface remains properly oriented. The cable attachment on the motor side is straightforward, a simple 3D-printed loop to which the cable can be attached with a know will suffice. However, on the duster side, it is important for the cable connection to be adjustable to allow for testing different configurations.


Goals
To achieve this, a bar is mounted as depicted in the figure below. A pulley can slide along this bar and be fixed at different positions, making it easy to experiment with various cable placements.


'''Core goal:''' Clean the blackboard quickly and effectively, leaving no dead corners.  
====Cleaner Design:====
[[File:Cleaner design.png|thumb|Cleaner Design]]
The cleaner utilizes a treadmill concept to achieve wet and dry cleaning. The image is a side view of the design. The design incorporates a belt (black) made of "felt" for dry cleaning as one half and "microfiber" for wet cleaning as the other. The reason they are chosen is because felt is traditionally used in cleaners and is water-resistant whereas microfiber can easily absorb water and is generally used for cleaning. Furthermore, they are easily available.


To move the belt, there is one active rolling motor (yellow) and one passive roller (grey). These can be used to switch between the dry and wet sections. A water tank is located between the rollers which is used to moisten the microfiber. The disposal mechanism (green) still needs to be worked on but the current idea is to utilize capillary action to passively spread the water on the microfiber.


'''Secondary goals:'''
The mechanism is surrounded by a casing (red) with magnets (purple) to stick to the blackboard.


1. Provide a function to save the blackboard content before erasing, which can be linked with the projector to recall the previously erased content.
====Balance Design:====
[[File:Balance.png|thumb|Balance Design with water tank]]
In the later version of the prototype design, we added a water tank to support the wet cleaning function. In order to stabilize the robot during operation, we designed a counterweight system, using the water tank as the counterweight of the entire robot. Its specific form is shown in the right figure. The water tank is rigidly connected to the duster, contain the water a distance lower than the duster, which greatly lower the overall center of gravity. The cable connection is the core force point of the entire device, lateral rotation tendency will be centered at this point, and the water tank will generate a torque in the opposite direction due to the rigid connection when any rotation occured, driving the duster back to the horizontal direction.


2. Remote control through a mobile app.
Turning the view to the side, we can see that the linkage between the water tank and the duster is using a ball bearing, which allows the water tank to generate an opposite torque when the entire system produces an unbalanced rotation on the side, pressing the duster to the surface of the blackboard to maintain overall balance.


3. Provide a dust removal solution to prevent dust pollution from affecting the health of users. (May be the most important secondary goal)
====Motor selection====
To drive the cables, motors are needed. Since we want to control the position of the motor relatively accurately to ensure the position of the duster is also accurate, we had to decide between a servo motor and a stepper motor. Comparing the two, we decided for a stepper motor since it was the cheaper option and we did not need the features servos offered over it. After this decision, the next important decision was needed: the required torque. For every position on a blackboard, the required force on the cables was calculated. Directly in between the motors the highest forces were calculated: this makes sense, since the vertical component of the forces along cables is small compared to the horizontal forces. Taking a mass of 1 kg and a height difference of 10 cm between the motors and the attachment to the duster, the force on each cable was 70 N. Combining that with the maximum diameter possible on our spool (7 cm) we get a required torque of 2.5 Nm. To reduce this, a pulley is attached to the duster and through the pulley the cable is run back. This increases the maximum spool diameter, but also halves the force. To further reduce this needed torque, the minimum height difference between duster and motors can be increased, halving the required forces if set at 20 cm.


4. If you decide to have projection capabilities, you may be able to combine voice recognition and natural language processing functions to record some important words (using ready-made APIs, such as Google Speech-to-Text), or even connect with chat AI such as GPT or Deepseek to provide AI assistant services instantly through oral dictation when needed. (This is relatively simple in theory. After all, it is a purely procedural job and does not even require much debugging.)
==== Motor attachment to blackboard====
To connect the motors to the blackboard, a set of clamps will be used. These clamps can be loosened by the user, moving the motor and spool to a new location if desired. This functionality means the blackboard can be cleaned and used at the same time, should the user desire this.


====Controller design====
[[File:Block diagram of control loop on distance.png|thumb|Block diagram of control]]
A start has been made on a controller design. The plan is currently to use feed forward to account for the majority of the necessary motion. Feedback will be used to account for errors, for example when the cable sits differently on the spool than expected.


Designs:
The control variable will be the desired distance between the motor and the duster. For each position, there's only one specific distance that places the duster exactly at that spot. So, once the desired position is known, the required distance can be easily calculated and used as input for the controller. The controller then combines both the feed forward and feedback signals and sends the result to the motors.


1.simple one, one eraser hanging on a track. Moved up and down.
===Software===
Our software must be able to detect the blackboard from an image, which can be supplied either manually by the user, or by a camera filming the blackboard. From this, it must be able to detect the areas that have to be cleaned and create a path along all of these areas, after which it should return to its starting position. Unfortunately, there is no known polynomial time algorithm for finding such a path (see [https://en.wikipedia.org/wiki/Travelling_salesman_problem Travelling salesman problem]), meaning a suitable approximation will have to be used to find a path. Our software could be able to scan in the notes that a lecturer has taken, before cleaning, to aid in studying. Additionally, the software could allow for areas to be avoided when cleaning, along with providing an option whether wet or dry cleaning is to be used. All of these functionalities should be made available for the user through an interface of an app.  


==Prototype==
To test the feasibility of our design, we decided to make a prototype of it. This prototype has a couple of important changes compared to the design outlined above. A video of some of the testing done can be found [https://youtu.be/Yv8YkTtmVr8 here].


2.Traditional design, one big bar moves from left to right
=== Hardware ===
[[File:Spool.png|thumb|left|200x200px|Spool which connected to the motors]]
[[File:Duster.png|thumb|200x200px|Duster holder design]]
Two NEMA 23 stepper motors were used with a torque of approximately 1.9 Nm. The duster prototype, spools and motor casings were made out of PLA and clamped to the board using nuts and bolts. The duster design had multiple placeholders for cylindrical magnets so the strength to the board could be tweaked. A counterweight hanging from a linkage was connected to the duster to prevent it from pivoting from its axis. Butcher's twine was used for the rope material to link the motors to the duster due to ease of availability and use.


[[File:Clampcombined.png|thumb|Front and back view of the clamp design used]]
Some parts of the mechanical design, like implementing pulleys, were infeasible to produce in such a short time frame. Mostly the duster design was too complex, due to its many small parts and water included in it. For the prototype, the duster was changed into a holder for a blackboard duster with a static counterweight to replace the water tank.


The clamps attaching the motors to the blackboard are also different than envisioned. Building a dependable hand-operated system that provided enough clamping force to keep the motors in place would take too long, so it was decided to use bolts and nuts to provide the force for this.


3.Shaped like car wipers.






4.Freely moving little car with two cables pointed on two corners.
===Software===
The software of our prototype is split into to main parts, the blackboard & text detection, and the path-finding algorithm. Python was used for both of these parts, along with some imported packages, most notably numpy, for calculations, and OpenCV, for image operations. The text detection consists of three main parts, all of which rely on OpenCV methods to do image operations. First, we need a source image of the blackboard. This image does not need to be perfect, but should at least clearly have the corners and edges of the blackboard in frame. Second, we apply a number of filters to this image in order to do edge detection.The blackboard is then found by evaluating the largest area enclosed by a set of edges found during edge detection. This method proved very successful during testing. We can then crop out the blackboard out of the source image and transform it into a new image with dimensions proportional to those of the blackboard. Finally, using this new image of only the blackboard, we apply more filters to get only the text on the blackboard. This is done by evaluating each pixel and coloring those that meet a certain value white. While coloring those that do not are colored black.
[[File:Blackboard1.jpg|thumb|Source image of the blackboard]]
For the path-finding, we first need to know which parts of the blackboard we need to clean. To do this, we add a rectangular grid over the text image, and for each rectangle we check if there is text on the board there. We then do path-finding on all the rectangles, denoted by coordinates in our grid, that need to be cleaned. For our path-finding algorithm we chose to implement a greedy algorithm that goes to the nearest uncleaned area next. We chose for this algorithm, since it was easy to implement, and most often does not result in a much larger path than the shortest path over all points. After running the path-finding algorithm, we end up with a queue of points on the blackboard to be visited. We translate this to a queue of motor commands for the stepper motors, by calculating how much the cable lengths must change to go to the next position. Finally, we send this over to the raspberry pi.
The raspberry pi runs a main process and one process for each motor. The main process handles interception of messages from the blackboard detection and path-finding software and passes this onto the motor processes. The motor processes wait for a message from the main process telling them for how long and in which direction the motor should spin. After a motor has stopped, it's corresponding process sends a message back to the main process, which will wait for both motors to finish before sending new commands. When the entire queue of motor commands has been cleared, the processes will get an exit message, after which they will terminate.  
After calculating the path through the program, we designed a python script to calculate the relative relationship between the cable and the dust collector position to ensure that the required cable length can be accurately controlled at each point on the path. This program is based on the mechanical analysis of the entire system, but after combining all the physical equations, we get a set of equations with four unknowns (the specific forces and angles of the two cables), which can only be fitted. Without giving a guess value, the code cannot calculate the exact result. Therefore, in the prototype program, we used a simple program that does not consider the rotation of the connecting rod at all. It assumes that the entire duster and its connecting device will always be horizontal to the ground. Although this does not allow us to accurately and perfectly control the position of the robot through the cable, it is already a relatively accurate enough solution.


5. Drone
In the subsequent improvement plan, we will combine the camera's image recognition technology to observe and feedback the specific position and status of the robot in real time. These data can be used as guesses and input into the program version based on physical analysis to obtain more accurate control effects.[[File:Warped.jpg|thumb|Cropped out and translated image of the blackboard]]


== Planning and milestones ==
[[File:Text1.jpg|thumb|Text of the blackboard]]
===Accounting of parts===
{| class="wikitable"
{| class="wikitable"
|+
|+
! Amount
!Type
!Total mass (g)
!Cost/unit (€)
!Total cost (€)
|-
|2
|NEMA 23 stepper motor
|2100
|24.50
|49.00
|-
|2
|TMC2209 stepper motor driver
|8
|7.00
| 14.00
|-
|1
|Raspberry Pi 3
|45
| 50.00
|50.00
|-
|1
|Assortment of DuPont cables
|10
|2.00
|2.00
|-
|1
|16 meters of 0.75 mm copper cable
|120
|2.00
|2.00
|-
|1
|PC power supply
|1300
|0.00
|0.00
|-
|1
|3D-printed duster cover
|70
|1.40
|1.40
|-
|2
|3D-printed clamp
|160
| 1.60
|3.20
|-
|2
|3D-printed spool
|60
|0.60
|1.20
|-
|1
|3D-printed cable-duster linkage
|50
|1.00
| 1.00
|-
|1
|20 meters of butcher's twine
|30
|0.96
|0.96
|-
|'''13'''
|'''Total'''
|'''3953'''
|
|'''124.76'''
|}
In the table above all used parts can be seen. Combined the cost for these is around 125€. For future development into a product, costs could be reduced in the following areas:
*Motors: The current motors are chosen based on a conservative calculation. Further testing, a dual cable setup as detailed earlier, or gearing between the motor and spool can reduce the necessary torque and drive down the cost.
*Micro controllers: For easier testing a Raspberry Pi was used, but this application could possibly also be run on something like an Arduino, or a board of our own design.
*Scale: Buying the parts in bulk saves money compared to buying them in small orders.
Some things would add cost in future iterations, like a camera to capture the board state. Overall we feel that 100€ is around the right order for the cost of a finished product.
==Future steps==
Building the prototype allowed us to get some valuable insights.
*Our choice of magnets was subpar, a better choice would be magnet strips for better distribution of force
*The movement should be a bit smoother, as right now the motors jerked around the duster too much
*The cable spools were too wide, bumping into the blackboard poles when put onto the blackboard nearest to the wall. This could be prevented by a type of pulley-system
*Building a real-time positioning system combined with a camera will enable real-time correction of the robot's position in the system through image recognition technology. This will enable us to more accurately locate whether the duster is in the area it should clean and avoid cleaning areas that should not be cleaned.
*Improve the cable calculation program by combining the camera positioning system.
*Currently the prototype is working with a PC power supply, this is very bulky. For the actual cleaner it would be better to have a smaller power supply to make it easier to install.
==References==
<references />
==Appendix==
===Deliverables===
At the end of this project we aim to have the prototype of a robot which is able to clean a blackboard automatically.
{| class="wikitable"
|+Planning and Milestones
!Week
!Week
!Activities
!Activities  
!Milestones
!Milestones
|-
|-
Line 61: Line 335:
|-
|-
|'''2'''
|'''2'''
|Decide on design, work out design and develop algorithms
|Carry out user study, generate RPCs based on responses
|Design chosen, cleaning path algorithm chosen
|RPC list done
|-
|-
|'''3'''
|'''3'''
|Work out design and start prototyping, start writing code for robot
| Decide on design and start working out design, decide on cleaning path algorithm
|
|Design chosen, cleaning path algorithm chosen
|-
|-
|'''4'''
|'''4'''
|Put together mechanical aspects of prototype, combine software with actuators
| Put together mechanical aspects of prototype, combine software with actuators
|Mechanical part prototype finished, software finished
|Mechanical part prototype finished, software finished
|-
|-
Line 77: Line 351:
|-
|-
|'''6'''
|'''6'''
|Test out prototype on blackboards, prepare presentation
| Test out prototype on blackboards, prepare presentation
|Tests finished
|Tests finished
|-
|-
|'''7'''
|'''7'''
|Present, write out improvement points for robot.
|Present, write out improvement points for robot.  
|
|
|}
|}


=== Deliverables ===
===Task division===
At the end of this project we aim to have a robot which is able to clean a blackboard automatically.
 
=== Task division ===
{| class="wikitable"
{| class="wikitable"
!Name
! Name
!Task
!Task
|-
|-
|Dev
|Dev
|
|Mechanical design
|-
|-
|Geert
|Geert
Line 100: Line 371:
|-
|-
|Michiel
|Michiel
|
|Electrical design
|-
|-
|Merlin
|Merlin
|
| Software design
|-
|-
|Haochen
| Haochen
|
| Physics analysis & programming
|}
|}


== Time division ==
==Time division==
{| class="wikitable"
{| class="wikitable"
|+Week 1
|+Week 1
!Name
!Total
! Breakdown
|-
|Dev
|9h
|4h reading papers, 2h additional research (blogs, videos, ideating), 1.5h designing concepts, 1h meeting, 0.5h writing docs
|-
|Geert
|8h
|Intro lecture + meeting after [2.5h], researching papers [3.5h], update meeting [1h], adding planning and drone explanation to wiki [1h]
|-
|Michiel
|7h
|5h reading and finding papers, 1h writing problem statement and objectives, 1h meeting
|-
|Merlin
|10h
|4h reading papers. 1h watching videos. 1h meeting. 1h thinking of ideas. 3h discussing with fellow students/getting feedback.
|-
|Haochen
|8h
|5h finding and reading papers, 1h brain stroming with reaserch result, 2h discussing and summerizing.
|}
{| class="wikitable"
|+Week 2
!Name
!Total
!Breakdown
|-
|Dev
|4h
| 1h interview, 2h meetings and RPC formulation, 1h designing concepts
|-
|Geert
|4.5h
|2h interviews and working out results, 2h meetings and RPC formulation, 0.5h updating wiki
|-
|Michiel
|3h
|1h interviews, 2h meetings and RPC formulation
|-
|Merlin
|4.5h
|1h meetings, 1.5h work on cable design, 1h reading, 1h discussing with other students
|-
| Haochen
|4h
|1h meetings, 2h working on car wiper and traditional design,1h reading paper.
|}
{| class="wikitable"
|+Week 3
!Name
!Total
!Breakdown
|-
|Dev
| 5h
|3h meeting, 1h researching designs, 1h evaluating designs
|-
|Geert
|5.5h
|3h meeting, 1h evaluating designs, 1h interview, 0.5h updating wiki
|-
|Michiel
|6h
|3h meeting, 1h research designs, 1h updating wiki, 1h interview
|-
|Merlin
|7h
|1h watching videos on whiteboard cleaners, 1h evaluating designs, 1h meetings, 1h editing wiki, 1h self study on cable design, 1h discussing with other students, 0.5h miscellaneuos.
|-
|Haochen
|5h
|3h meetiing, 1h research design, 1h interview
|}
{| class="wikitable"
|+Week 4
!Name
!Name
!Total
!Total
Line 117: Line 467:
|-
|-
|Dev
|Dev
|
|8h
|
|3h meetings, 3h concepting cleaner designs and materials, 2h detailing treadmill concept and updating wiki
|-
|Geert
|11h
|3h meetings, 2h researching motors and calculating maximum forces, 2h calculating cable inaccuracies, 2h figuring out inertial matching in with changing forces, 1h checking turning of duster due to cables, 1h editing wiki
|-
|Michiel
|7h
|3h meetings, 1h tests on blackboard, 2h cable design, 1h wiki updating
|-
|Merlin
|9h
|2h meetings, 2h reading opencv documentation, 5h working on blackboard detection software.
|-
|Haochen
|11h
|3h meetings, 3h learning computation, 5h programing path finding code.
|}
{| class="wikitable"
|+Week 5
!Name
!Total
!Breakdown
|-
| Dev
|7h
|3h meetings, 4h concepting and designing prototype duster design
|-
|-
|Geert
|Geert
|
|10h
|
|2h meetings, 1.5h inventarising necessary materials + meeting with Ruud, 1h balancing duster, 4h designing + printing spool, 1.5h control
|-
|-
|Michiel
|Michiel
|
|11h
|
|3h meetings, 2h setting up raspberry pi, 6h setting up motor+driver and coding for the driver
|-
|-
|Merlin
|Merlin
|
|9h
|
|8h working on blackboard detection software, 1h meetings
|-
|Haochen
|9h
|3h meetings, 6h improving and finished path finding computation
|}
{| class="wikitable"
|+Week 6
!Name
!Total
!Breakdown
|-
|Dev
| 7h
|4h printing duster and linkage, 1h fixing duster components, 2h working with raspi
|-
|Geert
|16.5h
| 1h meetings, 1.5h testing magnets, 14h building prototype
|-
|Michiel
|12h
|1h meetings, 9h making motors+rapspi work, 2h researching communication PC&Rapspi,
|-
|Merlin
|13h
|1h meetings, 5h detection software, 4h working on processing text image, 1h work on raspberry
pi software, 2h reading on processes
|-
|-
|Haochen
|Haochen
|
|5h
|
|1h meeting, 2h help building prototype, 2h cable caculation code design
|}
|}
{| class="wikitable"
{| class="wikitable"
|+Week 2
|+Week 7
!Name
!Name
!Total
!Total
Line 143: Line 547:
|-
|-
|Dev
|Dev
|
| 7h
|
|2h redesigning duster, 2h software, 2h help with building and testing, 1h presentation
|-
|-
|Geert
|Geert
|
|20h
|
|14h building prototype, 1h calculating positioning, 2h preparing cables, 3h presentation
|-
|-
|Michiel
|Michiel
|
|11h
|
|10h building prototype, 1h presentation
|-
|-
|Merlin
|Merlin
|
|12h
|
|4h working on raspberry pi software + testing, 3h presentation, 5h path planning software
|-
|-
|Haochen
|Haochen
|7h
|3h cable calculation code programing, 3h help building prototype,1h presentation
|}
{| class="wikitable"
|+Week 8
!Name
!Total
!Breakdown
|-
|Dev
|
|
|
|
|-
|Geert
|5h
|1.5h meeting, 3.5h updating wiki
|-
|Michiel
|4.5h
|1.5h meeting, 3h updating wiki
|-
|Merlin
|3h
|1.5h meeting, 1.5h updating wiki
|-
|Haochen
|3.5h
|1.5h meeting, 2h updating wiki
|}
|}
== Papers: ==
Michiel:
Prashanth Pai Manihalla, Yathin Krishna, Nagaraja Anand Naik, Naveen Kumar, Rakshith, Rakshith Billava Ramappa; Design and fabrication of an electromechanical system to clean the blackboard. ''AIP Conf. Proc.'' 20 May 2020; 2236 (1): 050006. <nowiki>https://doi.org/10.1063/5.0007099</nowiki>
V. Mohanavel, C. Kailasanathan, T. Sathish, V. Kannadhasan, S. Vinoth Joe Marshal, K. Sakthivel, Modeling and fabrication of automatic blackboard dust remover, Materials Today: Proceedings, Volume 37, Part 2, 2021, Pages 527-530, ISSN 2214-7853, <nowiki>https://doi.org/10.1016/j.matpr.2020.05.487</nowiki>.
Junyu Hu, Xu Han, Yourui Tao, Shizhe Feng, A magnetic crawler wall-climbing robot with capacity of high payload on the convex surface, Robotics and Autonomous Systems, Volume 148, 2022,103907, ISSN 0921-8890, <nowiki>https://doi.org/10.1016/j.robot.2021.103907</nowiki>.
https://patents.google.com/patent/CN203184863U/en
http://203.201.63.46:8080/jspui/bitstream/123456789/6270/1/PR3245%20Blackboard%20Cleaning%20Robot%20Akshay%20Rajeev%20_%20K%20Dinesh%20Raj%20_%20Ria%20Augustine%20%20_%20S.k%20Yukta%20Swamy%20%20Ms.%20Anju%20Das-Aug-2021.pdf
https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://journal.ijresm.com/index.php/ijresm/article/download/664/637/1222&ved=2ahUKEwjzu-qr68WLAxVWnf0HHQUlKysQFnoECAkQAQ&usg=AOvVaw0tymKpUEf3fz1tLpeGhu05
Geert:
Geert:
T. Kusnur and M. Likhachev, "Complete, Decomposition-Free Coverage Path Planning," ''2022 IEEE 18th International Conference on Automation Science and Engineering (CASE)'', Mexico City, Mexico, 2022, pp. 1431-1437, doi: 10.1109/CASE49997.2022.9926483.
Could be used for finding the optimal cleaning path without being too computationally intensive.
TIANLEI WANG, NANLIN TAN, et al; "Global-Equivalent Sliding Mode Control Method for Bridge Crane"
Could be used for controller if we decide to go the direction of cranes. Instead of wind resistance we can use the resistance of the cleaner against the blackboard. Unsure if still applicable when using two wires to hang something from, but should be fine.
C. -Y. Lin and T. -C. Hu, "Development and Locomotion Control of a Horizontal Ledge-Climbing Robot," ''2021 7th International Conference on Control, Automation and Robotics (ICCAR)'', Singapore, 2021, pp. 60-64, doi: 10.1109/ICCAR52225.2021.9463324.
Interesting way to do locomotion on the top of the blackboard. Depending on execution might be widely usable, also over handles like in the lecture hall in Gemini-south.
Patent automatic blackboard cleaner: https://patents.google.com/patent/US3731335A/en
Spans the entire height of the board, not very adjustable.
Y. A. Maruthi 1 & S. Ramprasad 1 & N. Lakshmana Das 2; Trace Elemental Characterization of Chalk Dust and Their Associated Health Risk Assessment
Reason besides labor saving to make the robot: might prevent some chalk from going into the air. Would need scientifically supported better method of cleaning then.
Haochen:
1''.'''intelligent and Automatic Blackboard Cleaning Nacgube'''''
'''''FENGYIBAO, RESIN XIAODAN, WU SONGZUE, XU HAO, SU HAILONG, FUMIN'''''
'''''(School of Mechanical Engineering, Tianjin University of Science & Technology, Tianjin 300222, China)'''''
The design of a vertical column-shaped blackboard-erasing robot was demonstrated, which uses roller felt for cleaning and a dust collection module that uses static electricity to prevent dust from flyiny around.
2.'''''M. Umbarkar, S. Kattitharayil, and F. Rozario, "Design & Fabrication of Smart Board Cleaner," International Research Journal of Engineering and Technology (IRJET), vol. 6, no. 4, pp. 1645-1650, Apr. 2019.'''''
This is a design that divides the blackboard into four different areas, and has the function of connecting and controlling via mobile phone Bluetooth. Based on Arduino, it can be used as a reference.
3.'''''V. A., N. Abinesh, J. Abiram, C. Abishack, and V. A. Kumar, "Design and Fabrication of Blackboard Cleaner," International Journal of Engineering Applied Sciences and Technology (IJEAST), vol. 5, no. 11, pp. 229-237, Mar. 2021.'''''
This is a six-rod mechanism designed to imitate car wipers. Considering the long-standing successful design of car wipers, referring to this solution for improvement may make our design more eye-catching.
Merlin:
Merlin:
'''Jagtap, S., & Tuljapure, S. (n.d.). ''DESIGN OF BLACKBOARD DUSTER CLEANING MACHINE''.'''
Paper shows a specific design of a blackboard duster machine that aims to prevent dust particles getting into the air. Paper can also be a useful reference when we write down our own design.
'''‌Tang, L., Tang, X., Jiang, X., & Gosselin, C. (2015). Dynamic trajectory planning study of planar two-dof redundantly actuated cable-suspended parallel robots. ''Mechatronics'', ''30'', 187–197. <nowiki>https://doi.org/10.1016/j.mechatronics.2015.07.005</nowiki>'''
Paper explores different designs of two-dof (degrees of freedom) actuated cable-suspended robots. If we choose to do a cable implementation for our robot, the systems would almost be the same, except for the (electro)magnet. Our robot would be a statically determined, cable-driven, parallel robot.
'''German, J. J., K.W. Jablokow, & Cannon, D. J. (2002). ''The cable array robot: theory and experiment''. ''3'', 2804–2810. <nowiki>https://doi.org/10.1109/robot.2001.933047</nowiki>'''
This paper shows some of the mathematics behind cable arrays, or actuated cable-suspended systems. They also demonstrate that this can be done well in practice, with small error margins, which would be fine for our robot.   
Dev: 
'''‌Review of advancements in wall climbing robot techniques: Junru Zhu, Yongqiang Zhu, Pingxia Zhang'''
This paper provides a detailed overview of the current advancements (as of 2024) in the field of wall climbing robots. This provides multiple options for different adhesion, locomotion and control strategies for a freely moving blackboard cleaning robot.
'''Building a Better Snail: Lubrication and Adhesive Locomotion:''' '''Brian Chan, N. J. Balmforth, and A. E. Hosoi'''
This paper proposes two designs for adhesive locomotion (relevant for vertical locomotion on a blackboard) based on the biomechanics of a snail.
'''Albagul, Abdulgani & Asseni, A & Khalifa, Othman. (2011). Wall climbing robot: Mechanical design and implementation.'''
This paper details a wall climbing design from end-to-end using a vacuum pump and suction pumps. Design can be incorporated with a duster to provide utility for the task at hand.
'''VertiGo - a Wall-Climbing Robot including Ground-Wall Transition‌: Dr Paul Beardsley'''
This paper provides a innovative design for using propellors to provide force along with wheels for multimodal locomotion.
‌'''BLACKBOARD CLEANING ROBOT: Akshay Rajeev, K Dinesh Raj, Ria Augustine, S.K Yukta Swamy'''
This paper details a side-to-side blackboard cleaning robot using Arduino as a microcontroller and DC motor for actuation. Can be incorporated with sensors for additional functionality.

Latest revision as of 21:26, 10 April 2025

Group Members (Group 6)
Name Student Number
Dev Joshi 1787101
Geert Langhout 1721704
Haochen 1533819
Merlin 1734008
Michiel Sweere 1762435

Problem statement

Blackboards are widely used even in the digital age. At the Technical University of Eindhoven blackboards are beloved with teachers and students alike. There are many reasons for the love for blackboards, however one downside is that cleaning the blackboards is inefficient. While the professor is cleaning the blackboard the lesson is momentarily halted and the chalk can get everywhere which can make for an unclean environment. Designs exist to clean the dusters automatically, but that still leaves cleaning the blackboard to the teacher.[1] A blackboard cleaning robot could mean that a teacher does not need to pause their lecture and could lessen the unsanitary environment of the teacher.

Objective

The objective of this project is to develop a robot that can efficiently and without much drawbacks clean the blackboard. The robot should be able to reach all the spaces on the blackboard and clean them. This is the basic requirement of the robot, furthermore several things are preferred. First of all the robot should be able to detect if parts are not necessarily erased and avoid erasing these locations. Second, the space the robot takes up should be minimized and the chalk residue should be stored, as to lessen the need for routine cleaning of the machine. Lastly the robot should clean the robot efficiently as to be as small as a distraction for students and professors as possible.

Who are the users?

The primary users of a blackboard cleaning robot include teachers, lecturers, and school staff that rely on blackboards for instruction. Additionally, people working at companies, research labs, and conference halls that use whiteboards or blackboards could also utilize these robots. Janitorial staff working at these institutions can also benefit from the robot as it reduces their workload. It was also decided to focus in specific on Dutch universities for our design, since we have better access to these institutions.

What do they require?

Users need robots to be better than humans in some aspects of the task of wiping the blackboard, such as faster, cleaner, and dust-free, or have some additional intelligent functions, such as controlling with phone app, saving erased content or providing intelligent assistant services. After meeting the main requirements and some minor requirements, we will try to make the robot more stable, reliable and cheap, and apply it to more different blackboards.

Goals

Core goal: Clean the blackboard quietly and effectively, leaving no dead corners.

Secondary goals:

1. Provide a function to save the blackboard content before erasing, which can be linked with the projector to recall the previously erased content.

2. Remote control through a mobile app.

3. Provide a dust removal solution to prevent dust pollution from affecting the health of users.[2]

4. Provide selective cleaning, leaving important parts on the board uncleaned

Outcomes user interviews

Some highlights/recurring thoughts encountered during interviews conducted with potential users of our product:

Problems current use with the cleaning of blackboard

  • Hands get chalky
  • Dirty boards at start of lecture

Preferred timing of cleaning

  • Clean during breaks
  • Automatically after lectures

Additional preferred features

  • Scan in notes
  • Erasing certain parts and leaving others out, would be nice to have organic shapes cleaned
  • Dry and wet cleaning options

Robot specifications

  • Should clean board in 5 minutes
  • Should not block the board in any way
  • Should be able to clean the whole board
  • Robot should be quiet

Robot-user interaction

  • Swiping away the places that should be cleaned on a tablet

RPCs

The following RPCs have been formulated based on the interviews conducted.

Requirements

  • Able to clean entire blackboard - (some interviewees wanted this, some not. For broadest appeal we want the ability to clean the entire board)
  • Able to selectively clean board, avoiding areas indicated by user - (Most interviewees viewed this as very helpful)[3]
  • Able to withstand accidental bump during operation (an interviewee mentioned this)
  • Design can work on multiple sizes of blackboard (an interviewee viewed this as useful)
  • Under 35 decibels during lecture time (WHO limit for disturbing educational activities, lecturers also preferred it to be <= whispering level)
  • Can be used during lectures and breaks (some interviewees wanted to use it while teaching, some only during the break)
  • Should clean biggest blackboard at TU/e within 5 mins (this guarantees the cleaning process is done before the break ends)
  • Has wet cleaning option (desired by interviewees to ensure fully clean board)

Preferences

  • Should put less dust into the air than when cleaning using a normal chalkboard eraser (preference of ours, to enhance safety since the dust is harmful to health)
  • Idiot-proof, simple interaction (interviewees didn’t always want to have to learn how to control it, ‘just press a button’)
  • Production is CO2 neutral for the university (offered by one interviewee, can be used as selling point)
  • Automatically cleans board at end of lecture (brought up by some interviewees so they know the board is clean when they start teaching)
  • Can connect to phone/device where lecturers can control it (enables some extra functionality, which a few interviewees viewed as helpful)

Constraints

  • Cannot interfere with normal functioning of lecture, i.e. blackboard sliding down because of weight (interviewees were hesitant to use it if it interrupted their teaching)
  • Should not block any of significant areas when not in use, i.e. areas outside of corners (interviewees didn’t mind it sitting in a corner, but would like the board to be accessible)

Design evaluation

In this section, designs will be introduced and evaluated how well they fit the RPC's.

Car wipers design

This is a design based on a car windshield wiper. Through the combination of six connecting rods, it can achieve a similar effect to a car windshield wiper and wipe the blackboard surface very quickly. The advantages are small size and extremely fast speed. However the car wiper design is bound to have blind spots, it will block part of the blackboard and making it able to selectively clean parts is not possible. Thus the car wipers design does not fit the RPC's.[4]

Drone design

While brainstorming, a lot of designs couldn't service multiple blackboards at the same time. Therefore, it might be cost-efficient to design a robot which is able to clean every blackboard in the room. There is another benefit to this: the dimensions of the blackboard do not matter as much, since the robot won't be attached to it. One way to realize this idea is with a drone. The drone could be 'resting' in a corner of the room, charging, until it is called to action. It then flies up, identifies the blackboard(s) that need cleaning and flies there, giving a wide berth to any obstacles in its way. Using an eraser affixed to its body, it can clean the board side to side or in swaths going up, paying close attention to its balance. Once done, it flies back to its charging station where the eraser can also be cleaned for next time.

This approach has some benefits, but also major drawbacks. Next to the benefits detailed above, drone technology has become mainstream. It could be possible to simply adapt an existing drone frame for this purpose, speeding up development. However, the main drawback would be sound. If the lecturer wants the board to be cleaned during the lecture, the drone might drown out their voice. Safety is also a big concern which would need extra attention during development.

Crane design

This is a variation of the traditional design, where the vertical brush heads are replaced with a small robot suspended on the top track, which moves left and right through the track and up and down through the suspension system. The advantage is that it is smaller and lighter, but the disadvantage is that the erasing speed is necessarily very low.[5] Another disadvantage is that the control of such a design can get quite complicated due to the swinging of the robot.[6]

The crane design likely satisfies our requirements and constraints, although we cannot guarantee the cleaning speed without doing testing first. We believe this design might be too slow for our requirements. The design also would have to be tweaked for different blackboard sizes.

Traditional design

Tradition design used in japan

This is the most traditional design of a blackboard-wiping robot. It is a rectangular block with the same width as the blackboard. It moves left and right in front of the blackboard via upper and lower tracks and cleans with row-by-row blackboard brushes. The advantages of this design are stability, speed, maturity, and a large number of examples that have been put on the market. There is a lot of redundant space to add additional components such as dust removal modules. The disadvantage is that it is too large and must be installed with two rows of upper and lower tracks.[7][8][9][10]

The ‘traditional’ design satisfies our requirements and constraints, though we would need to carefully implement it to ensure it is not too loud. The problem with this design is that it already exists, meaning that we would need to work on something to improve upon this design. The design also would have to be tweaked for different blackboard sizes. For the traditional design the improvement we wanted to look into was selective cleaning. At the end the traditional design was considered to not be innovative enough and be too bulky to our liking.

Cable car design

Example of how a cable driven robot could look

This is a design similar to a glass-wiping drone, which is attached to the blackboard surface by magnets. The highlight of its design is that there are two taut cables between it and the two corners of the blackboard, which can provide a certain support for its weight and help the robot accurately locate its position on the blackboard at any time, eliminating the trouble of self-positioning in similar designs. Studies show similar designs performed quite well in comparable applications. [11][12]

The cable design does satisfy all requirements and constraints. The cable design could be quiet depending on the motors used and is ideal for selective cleaning. There are some reservations about being able to properly develop it within the time frame and the long term use of such a robot. Even so the cable design is novel and does fit well with the requirements set.

Free form design

The free form design has a wide variety of possible designs [13][14][15]. This design does adhere to the RPC’s, but the free form design would be complex and costs would be higher than for other designs. With the limited time and money at our disposal other designs were preferred.[16][17] Following these considerations, we chose the cable car design. It fits well with our requirements and is a novel way in tackling the blackboard cleaning problem.

Working out the cable car design

After choosing the cable car design, the scope of our prototype was decided. Within this scope, we identified different parts to work out: the duster, connection of the duster to the motors, the motors, the path planning for the duster, and the image recognition. These subproblems were then divided amongst us to solve individually. After solving a subproblem, it will be integrated together with other subproblems to form the solution of the entire design.

Hardware

Cable connection

There were several possible problems identified with the cables: sagging, being too elastic, and spooling up the wire in the wrong way.

Sagging could make the positioning of the duster less accurate. If the cable sags, the predictable straight-line distance between motor and duster is no longer accurate. However, the maximum sag was calculated (with some assumptions and roundings) to be ~1.4 cm. Using this sag, the estimated change in length for the cable to reach the duster compared to the straight-line distance is less than a mm, well within an acceptable range.

Being too elastic would also hurt the accuracy of positioning. By a quick calculation, the maximum force would only elongate the cable by at most 1 mm using steel, and 1 cm using plastic. Not significant enoug to endanger the functioning of the robot.

Lastly, spooling up the cable is also important for positioning. Using a 'standard' spool, the cable could move laterally over the barrel. It could overlap other pieces of cable while another part of the barrel was still free. This means that with one rotation of the motor, it is unknown how much cable has been released or gathered. This could be measured in other ways, but that would add complexity. Another solution would be to use a levelwind spool - this however would also increase complexity and use more space. We decided on using a spool with a barrel-width the same as the diameter of the cable. This way, at every point in a rotation you know how much cable you are moving. The only downside here is that the driving motor would need more torque, since the maximum diameter of the spool is larger. Assuming a 1mm diameter cable however, this maximum diameter is less than 7 cm.

Cable Design:

cable design

To reduce cable tension, a design was chosen where the cable extends to the edge of the board and then loops back. On the edge of the blackboard, the cable attaches to the spool on one end and is secured with a knot to the case surrounding the motor on the other end of the cable.

On the duster, the cable attaches to the upper side to prevent it from rotating and ensure the cleaning surface remains properly oriented. The cable attachment on the motor side is straightforward, a simple 3D-printed loop to which the cable can be attached with a know will suffice. However, on the duster side, it is important for the cable connection to be adjustable to allow for testing different configurations.

To achieve this, a bar is mounted as depicted in the figure below. A pulley can slide along this bar and be fixed at different positions, making it easy to experiment with various cable placements.

Cleaner Design:

Cleaner Design

The cleaner utilizes a treadmill concept to achieve wet and dry cleaning. The image is a side view of the design. The design incorporates a belt (black) made of "felt" for dry cleaning as one half and "microfiber" for wet cleaning as the other. The reason they are chosen is because felt is traditionally used in cleaners and is water-resistant whereas microfiber can easily absorb water and is generally used for cleaning. Furthermore, they are easily available.

To move the belt, there is one active rolling motor (yellow) and one passive roller (grey). These can be used to switch between the dry and wet sections. A water tank is located between the rollers which is used to moisten the microfiber. The disposal mechanism (green) still needs to be worked on but the current idea is to utilize capillary action to passively spread the water on the microfiber.

The mechanism is surrounded by a casing (red) with magnets (purple) to stick to the blackboard.

Balance Design:

Balance Design with water tank

In the later version of the prototype design, we added a water tank to support the wet cleaning function. In order to stabilize the robot during operation, we designed a counterweight system, using the water tank as the counterweight of the entire robot. Its specific form is shown in the right figure. The water tank is rigidly connected to the duster, contain the water a distance lower than the duster, which greatly lower the overall center of gravity. The cable connection is the core force point of the entire device, lateral rotation tendency will be centered at this point, and the water tank will generate a torque in the opposite direction due to the rigid connection when any rotation occured, driving the duster back to the horizontal direction.

Turning the view to the side, we can see that the linkage between the water tank and the duster is using a ball bearing, which allows the water tank to generate an opposite torque when the entire system produces an unbalanced rotation on the side, pressing the duster to the surface of the blackboard to maintain overall balance.

Motor selection

To drive the cables, motors are needed. Since we want to control the position of the motor relatively accurately to ensure the position of the duster is also accurate, we had to decide between a servo motor and a stepper motor. Comparing the two, we decided for a stepper motor since it was the cheaper option and we did not need the features servos offered over it. After this decision, the next important decision was needed: the required torque. For every position on a blackboard, the required force on the cables was calculated. Directly in between the motors the highest forces were calculated: this makes sense, since the vertical component of the forces along cables is small compared to the horizontal forces. Taking a mass of 1 kg and a height difference of 10 cm between the motors and the attachment to the duster, the force on each cable was 70 N. Combining that with the maximum diameter possible on our spool (7 cm) we get a required torque of 2.5 Nm. To reduce this, a pulley is attached to the duster and through the pulley the cable is run back. This increases the maximum spool diameter, but also halves the force. To further reduce this needed torque, the minimum height difference between duster and motors can be increased, halving the required forces if set at 20 cm.

Motor attachment to blackboard

To connect the motors to the blackboard, a set of clamps will be used. These clamps can be loosened by the user, moving the motor and spool to a new location if desired. This functionality means the blackboard can be cleaned and used at the same time, should the user desire this.

Controller design

Block diagram of control

A start has been made on a controller design. The plan is currently to use feed forward to account for the majority of the necessary motion. Feedback will be used to account for errors, for example when the cable sits differently on the spool than expected.

The control variable will be the desired distance between the motor and the duster. For each position, there's only one specific distance that places the duster exactly at that spot. So, once the desired position is known, the required distance can be easily calculated and used as input for the controller. The controller then combines both the feed forward and feedback signals and sends the result to the motors.

Software

Our software must be able to detect the blackboard from an image, which can be supplied either manually by the user, or by a camera filming the blackboard. From this, it must be able to detect the areas that have to be cleaned and create a path along all of these areas, after which it should return to its starting position. Unfortunately, there is no known polynomial time algorithm for finding such a path (see Travelling salesman problem), meaning a suitable approximation will have to be used to find a path. Our software could be able to scan in the notes that a lecturer has taken, before cleaning, to aid in studying. Additionally, the software could allow for areas to be avoided when cleaning, along with providing an option whether wet or dry cleaning is to be used. All of these functionalities should be made available for the user through an interface of an app.

Prototype

To test the feasibility of our design, we decided to make a prototype of it. This prototype has a couple of important changes compared to the design outlined above. A video of some of the testing done can be found here.

Hardware

Spool which connected to the motors
Duster holder design

Two NEMA 23 stepper motors were used with a torque of approximately 1.9 Nm. The duster prototype, spools and motor casings were made out of PLA and clamped to the board using nuts and bolts. The duster design had multiple placeholders for cylindrical magnets so the strength to the board could be tweaked. A counterweight hanging from a linkage was connected to the duster to prevent it from pivoting from its axis. Butcher's twine was used for the rope material to link the motors to the duster due to ease of availability and use.

Front and back view of the clamp design used

Some parts of the mechanical design, like implementing pulleys, were infeasible to produce in such a short time frame. Mostly the duster design was too complex, due to its many small parts and water included in it. For the prototype, the duster was changed into a holder for a blackboard duster with a static counterweight to replace the water tank.

The clamps attaching the motors to the blackboard are also different than envisioned. Building a dependable hand-operated system that provided enough clamping force to keep the motors in place would take too long, so it was decided to use bolts and nuts to provide the force for this.



Software

The software of our prototype is split into to main parts, the blackboard & text detection, and the path-finding algorithm. Python was used for both of these parts, along with some imported packages, most notably numpy, for calculations, and OpenCV, for image operations. The text detection consists of three main parts, all of which rely on OpenCV methods to do image operations. First, we need a source image of the blackboard. This image does not need to be perfect, but should at least clearly have the corners and edges of the blackboard in frame. Second, we apply a number of filters to this image in order to do edge detection.The blackboard is then found by evaluating the largest area enclosed by a set of edges found during edge detection. This method proved very successful during testing. We can then crop out the blackboard out of the source image and transform it into a new image with dimensions proportional to those of the blackboard. Finally, using this new image of only the blackboard, we apply more filters to get only the text on the blackboard. This is done by evaluating each pixel and coloring those that meet a certain value white. While coloring those that do not are colored black.

Source image of the blackboard

For the path-finding, we first need to know which parts of the blackboard we need to clean. To do this, we add a rectangular grid over the text image, and for each rectangle we check if there is text on the board there. We then do path-finding on all the rectangles, denoted by coordinates in our grid, that need to be cleaned. For our path-finding algorithm we chose to implement a greedy algorithm that goes to the nearest uncleaned area next. We chose for this algorithm, since it was easy to implement, and most often does not result in a much larger path than the shortest path over all points. After running the path-finding algorithm, we end up with a queue of points on the blackboard to be visited. We translate this to a queue of motor commands for the stepper motors, by calculating how much the cable lengths must change to go to the next position. Finally, we send this over to the raspberry pi.

The raspberry pi runs a main process and one process for each motor. The main process handles interception of messages from the blackboard detection and path-finding software and passes this onto the motor processes. The motor processes wait for a message from the main process telling them for how long and in which direction the motor should spin. After a motor has stopped, it's corresponding process sends a message back to the main process, which will wait for both motors to finish before sending new commands. When the entire queue of motor commands has been cleared, the processes will get an exit message, after which they will terminate.  

After calculating the path through the program, we designed a python script to calculate the relative relationship between the cable and the dust collector position to ensure that the required cable length can be accurately controlled at each point on the path. This program is based on the mechanical analysis of the entire system, but after combining all the physical equations, we get a set of equations with four unknowns (the specific forces and angles of the two cables), which can only be fitted. Without giving a guess value, the code cannot calculate the exact result. Therefore, in the prototype program, we used a simple program that does not consider the rotation of the connecting rod at all. It assumes that the entire duster and its connecting device will always be horizontal to the ground. Although this does not allow us to accurately and perfectly control the position of the robot through the cable, it is already a relatively accurate enough solution.

In the subsequent improvement plan, we will combine the camera's image recognition technology to observe and feedback the specific position and status of the robot in real time. These data can be used as guesses and input into the program version based on physical analysis to obtain more accurate control effects.

Cropped out and translated image of the blackboard
Text of the blackboard

Accounting of parts

Amount Type Total mass (g) Cost/unit (€) Total cost (€)
2 NEMA 23 stepper motor 2100 24.50 49.00
2 TMC2209 stepper motor driver 8 7.00 14.00
1 Raspberry Pi 3 45 50.00 50.00
1 Assortment of DuPont cables 10 2.00 2.00
1 16 meters of 0.75 mm copper cable 120 2.00 2.00
1 PC power supply 1300 0.00 0.00
1 3D-printed duster cover 70 1.40 1.40
2 3D-printed clamp 160 1.60 3.20
2 3D-printed spool 60 0.60 1.20
1 3D-printed cable-duster linkage 50 1.00 1.00
1 20 meters of butcher's twine 30 0.96 0.96
13 Total 3953 124.76

In the table above all used parts can be seen. Combined the cost for these is around 125€. For future development into a product, costs could be reduced in the following areas:

  • Motors: The current motors are chosen based on a conservative calculation. Further testing, a dual cable setup as detailed earlier, or gearing between the motor and spool can reduce the necessary torque and drive down the cost.
  • Micro controllers: For easier testing a Raspberry Pi was used, but this application could possibly also be run on something like an Arduino, or a board of our own design.
  • Scale: Buying the parts in bulk saves money compared to buying them in small orders.

Some things would add cost in future iterations, like a camera to capture the board state. Overall we feel that 100€ is around the right order for the cost of a finished product.

Future steps

Building the prototype allowed us to get some valuable insights.

  • Our choice of magnets was subpar, a better choice would be magnet strips for better distribution of force
  • The movement should be a bit smoother, as right now the motors jerked around the duster too much
  • The cable spools were too wide, bumping into the blackboard poles when put onto the blackboard nearest to the wall. This could be prevented by a type of pulley-system
  • Building a real-time positioning system combined with a camera will enable real-time correction of the robot's position in the system through image recognition technology. This will enable us to more accurately locate whether the duster is in the area it should clean and avoid cleaning areas that should not be cleaned.
  • Improve the cable calculation program by combining the camera positioning system.
  • Currently the prototype is working with a PC power supply, this is very bulky. For the actual cleaner it would be better to have a smaller power supply to make it easier to install.

References

  1. Jagtap, S., & Tuljapure, S. (n.d.). DESIGN OF BLACKBOARD DUSTER CLEANING MACHINE.
  2. Y. A. Maruthi 1 & S. Ramprasad 1 & N. Lakshmana Das 2; Trace Elemental Characterization of Chalk Dust and Their Associated Health Risk Assessment
  3. M. Umbarkar 1, S. Kattitharayil 1, F. Rozario 1; Design & Fabrication of Smart Board Cleaner International Research Journal of Engineering and Technology (IRJET), vol. 6, no. 4, pp. 1645–1650, Apr. 2019
  4. V. A. 1, N. Abinesh 1, J. Abiram 1, C. Abishack 1, V. A. Kumar 1; Design and Fabrication of Blackboard Cleaner International Journal of Engineering Applied Sciences and Technology (IJEAST), vol. 5, no. 11, pp. 229–237, Mar. 2021
  5. 张立勋, 夏占, 齐李, 张永发, 韩亮, & Ltd, Z. Y. R. T. C. (2013, February CN203184863U - Cantilever type sliding rail mechanism applied to rectangular coordinate system welding robot        - Google Patents. https://patents.google.com/patent/CN203184863U/en
  6. TIANLEI WANG, NANLIN TAN, et al; "Global-Equivalent Sliding Mode Control Method for Bridge Crane"
  7. Prashanth Pai Manihalla, Yathin Krishna, Nagaraja Anand Naik, Naveen Kumar, Rakshith, Rakshith Billava Ramappa; Design and fabrication of an electromechanical system to clean the blackboard. AIP Conf. Proc. 20 May 2020; 2236 (1): 050006. https://doi.org/10.1063/5.0007099
  8. V. Mohanavel, C. Kailasanathan, T. Sathish, V. Kannadhasan, S. Vinoth Joe Marshal, K. Sakthivel, Modeling and fabrication of automatic blackboard dust remover, Materials Today: Proceedings, Volume 37, Part 2, 2021, Pages 527-530, ISSN 2214-7853, https://doi.org/10.1016/j.matpr.2020.05.487.
  9. https://patents.google.com/patent/US3731335A/en
  10. FENGYIBAO 1, RESIN XIAODAN 1, WU SONGZUE 1, XU HAO 1, SU HAILONG 1, FUMIN 1; Intelligent and Automatic Blackboard Cleaning Nacgube (School of Mechanical Engineering, Tianjin University of Science & Technology, Tianjin 300222, China)
  11. Tang, L., Tang, X., Jiang, X., & Gosselin, C. (2015). Dynamic trajectory planning study of planar two-dof redundantly actuated cable-suspended parallel robots. Mechatronics, 30, 187–197. https://doi.org/10.1016/j.mechatronics.2015.07.005
  12. German, J. J., K.W. Jablokow, & Cannon, D. J. (2002). The cable array robot: theory and experiment. 3, 2804–2810. https://doi.org/10.1109/robot.2001.933047
  13. Junru Zhu, Yongqiang Zhu, Pingxia Zhang, Review of advancements in wall climbing robot techniques, Franklin Open, Volume 8, 2024, 100148, ISSN 2773-1863, https://doi.org/10.1016/j.fraope.2024.100148.
  14. Chan, Brian & Balmforth, Neil & Hosoi, AE. (2005). Building a better snail: Lubrication and adhesive locomotion. Physics of Fluids - PHYS FLUIDS. 17. 10.1063/1.2102927.
  15. VertiGo - a Wall-Climbing Robot including Ground-Wall Transition
  16. Junyu Hu, Xu Han, Yourui Tao, Shizhe Feng, A magnetic crawler wall-climbing robot with capacity of high payload on the convex surface, Robotics and Autonomous Systems, Volume 148, 2022,103907, ISSN 0921-8890, https://doi.org/10.1016/j.robot.2021.103907.
  17. Qin, J., & Wei, Q. (2020). Wall-climbing obstacle-avoiding full-automatic lampblack cleaning device. IOP Conference Series Materials Science and Engineering, 793(1), 012036. https://doi.org/10.1088/1757-899x/793/1/012036

Appendix

Deliverables

At the end of this project we aim to have the prototype of a robot which is able to clean a blackboard automatically.

Planning and Milestones
Week Activities Milestones
1 Decide on subject, start literature research and user study
2 Carry out user study, generate RPCs based on responses RPC list done
3 Decide on design and start working out design, decide on cleaning path algorithm Design chosen, cleaning path algorithm chosen
4 Put together mechanical aspects of prototype, combine software with actuators Mechanical part prototype finished, software finished
5 Combine software, mechanical, actuators into one prototype Prototype put together
6 Test out prototype on blackboards, prepare presentation Tests finished
7 Present, write out improvement points for robot.

Task division

Name Task
Dev Mechanical design
Geert Mechanical design
Michiel Electrical design
Merlin Software design
Haochen Physics analysis & programming

Time division

Week 1
Name Total Breakdown
Dev 9h 4h reading papers, 2h additional research (blogs, videos, ideating), 1.5h designing concepts, 1h meeting, 0.5h writing docs
Geert 8h Intro lecture + meeting after [2.5h], researching papers [3.5h], update meeting [1h], adding planning and drone explanation to wiki [1h]
Michiel 7h 5h reading and finding papers, 1h writing problem statement and objectives, 1h meeting
Merlin 10h 4h reading papers. 1h watching videos. 1h meeting. 1h thinking of ideas. 3h discussing with fellow students/getting feedback.
Haochen 8h 5h finding and reading papers, 1h brain stroming with reaserch result, 2h discussing and summerizing.
Week 2
Name Total Breakdown
Dev 4h 1h interview, 2h meetings and RPC formulation, 1h designing concepts
Geert 4.5h 2h interviews and working out results, 2h meetings and RPC formulation, 0.5h updating wiki
Michiel 3h 1h interviews, 2h meetings and RPC formulation
Merlin 4.5h 1h meetings, 1.5h work on cable design, 1h reading, 1h discussing with other students
Haochen 4h 1h meetings, 2h working on car wiper and traditional design,1h reading paper.
Week 3
Name Total Breakdown
Dev 5h 3h meeting, 1h researching designs, 1h evaluating designs
Geert 5.5h 3h meeting, 1h evaluating designs, 1h interview, 0.5h updating wiki
Michiel 6h 3h meeting, 1h research designs, 1h updating wiki, 1h interview
Merlin 7h 1h watching videos on whiteboard cleaners, 1h evaluating designs, 1h meetings, 1h editing wiki, 1h self study on cable design, 1h discussing with other students, 0.5h miscellaneuos.
Haochen 5h 3h meetiing, 1h research design, 1h interview
Week 4
Name Total Breakdown
Dev 8h 3h meetings, 3h concepting cleaner designs and materials, 2h detailing treadmill concept and updating wiki
Geert 11h 3h meetings, 2h researching motors and calculating maximum forces, 2h calculating cable inaccuracies, 2h figuring out inertial matching in with changing forces, 1h checking turning of duster due to cables, 1h editing wiki
Michiel 7h 3h meetings, 1h tests on blackboard, 2h cable design, 1h wiki updating
Merlin 9h 2h meetings, 2h reading opencv documentation, 5h working on blackboard detection software.
Haochen 11h 3h meetings, 3h learning computation, 5h programing path finding code.
Week 5
Name Total Breakdown
Dev 7h 3h meetings, 4h concepting and designing prototype duster design
Geert 10h 2h meetings, 1.5h inventarising necessary materials + meeting with Ruud, 1h balancing duster, 4h designing + printing spool, 1.5h control
Michiel 11h 3h meetings, 2h setting up raspberry pi, 6h setting up motor+driver and coding for the driver
Merlin 9h 8h working on blackboard detection software, 1h meetings
Haochen 9h 3h meetings, 6h improving and finished path finding computation
Week 6
Name Total Breakdown
Dev 7h 4h printing duster and linkage, 1h fixing duster components, 2h working with raspi
Geert 16.5h 1h meetings, 1.5h testing magnets, 14h building prototype
Michiel 12h 1h meetings, 9h making motors+rapspi work, 2h researching communication PC&Rapspi,
Merlin 13h 1h meetings, 5h detection software, 4h working on processing text image, 1h work on raspberry

pi software, 2h reading on processes

Haochen 5h 1h meeting, 2h help building prototype, 2h cable caculation code design
Week 7
Name Total Breakdown
Dev 7h 2h redesigning duster, 2h software, 2h help with building and testing, 1h presentation
Geert 20h 14h building prototype, 1h calculating positioning, 2h preparing cables, 3h presentation
Michiel 11h 10h building prototype, 1h presentation
Merlin 12h 4h working on raspberry pi software + testing, 3h presentation, 5h path planning software
Haochen 7h 3h cable calculation code programing, 3h help building prototype,1h presentation
Week 8
Name Total Breakdown
Dev
Geert 5h 1.5h meeting, 3.5h updating wiki
Michiel 4.5h 1.5h meeting, 3h updating wiki
Merlin 3h 1.5h meeting, 1.5h updating wiki
Haochen 3.5h 1.5h meeting, 2h updating wiki