ABOUT

For the first five months of this year, I had the opportunity to pursue an independent research project. For this project, I decided to build a robot that organizes library books. I worked in my local library during my sophomore year, and one part of my job was going through all of our books and making sure that they were in order. It was terrible! To address this issue, I designed a robotic arm that uses Tesseract OCR (more on that later) to identify books and then an Arduino UNO controls servo motors that remove out-of-place books.

ABSTRACT

Librarians spend a lot of time organizing shelved books. This process can be automated to save time. Tesseract Optical Character Recognition (OCR) was used in this robot to identify text on book spines scanned with a camera attached to a Raspberry Pi 0 2W. The Raspberry Pi determines the book’s appropriate position by searching for the title in the library catalog. An Arduino UNO controls six servo motors that move the five degree of freedom arm. The number of true positives, true negatives, false positives, and false negatives were recorded to acquire a harmonic mean F score. Because that score was above 0.7, this robot represents a feasible prototype for library use. The robot is also relatively inexpensive (approximately 110 USD) and, because it uses OCR, the only input is a document of the library catalog. Future designs may include an alphabetization algorithm for library catalogs that are not in alphabetical order. Librarians are unlikely to lose jobs because of this robot, but it will make their jobs easier and hopefully increase productivity. Similar effects may be observed in warehouses and other settings that require indexing.

RESEARCH PROPOSAL

PROBLEM

Shelf reading (when librarians look through the books on shelves to confirm that they are in the correct order) takes a lot of time that could be used for other tasks.

OBJECTIVE

I will create a device that can identify out-of-place books and remove them from the shelf.

BACKGROUND

Librarians are expected to perform many tasks in a library, from circulating books to recommending books. One crucial yet overlooked part of a librarian’s job is making sure that shelved books stay in the right order, also known as shelf reading. This is tedious and takes up a lot of time that librarians would rather spend on more exciting tasks. Robotic arms are devices that typically mimic the general anatomy of a human arm and are usually used for grabbing and sorting. Robotic arms can be described in degrees of freedom (Sheikh et al., 2023). Each degree of freedom is an axis on which the arm can move. In this project, a five degree of freedom robotic arm was designed. In this robot, that includes the first joint (shoulder), second joint (elbow), wrist joint, and claw joints. Robots require different degrees of freedom to perform different tasks. Each degree of freedom requires at least one servo motor. A servo motor is a motor that can be set to a specific angle and is popular with robotic arms for its precision (Shi et al., 2023). The required torque of each servo motor can be calculated by adding gravitational torque and torque due to angular acceleration (Sheikh et al., 2023). This equation can be written as 𝜏=Fr+mr2, where 𝜏 is required torque, m is the combined mass of the joint and book, r is the length of the joint, F is the force applied to the joint (in this case gravity), and 𝛼 is the angular acceleration. The weight of a heavier-than-average book is approximately 2.4 k, and it was multiplied by three as a factor of safety. (Mepani et al., 2022). The material used to build the robotic arm requires careful consideration. The majority of robotic arms are made of aluminum (Sheikh et al., 2023), however, due to time and cost restraints, this robotic arm was 3D printed using an acrylonitrile butadiene styrene (ABS) filament. This robot is small enough that it can be supported by 3D printed parts. ABS filament is common in robotics because it doesn’t shatter when hardware is used in it, it holds up well to friction, and it is strong and light. Another benefit of 3D printing is that the robot can easily be made specific to the purposes of this project by nature of 3D printing. The final important facet of the robot to be considered is the claw. Two types of gear are used in the design of the claw: a spur gear and an internal gear. Two spur gears spin in the same direction on the same shaft. Each gear controls a different side of the claw. The first part of the claw, the left hook, has a spur gear on the end opposite the hook that interacts with one of the spur gears on the shaft. The right hook has an internal gear on the end opposite the hook that goes around the other gear on the shaft. Because of this configuration, the two gears on the shaft can spin in the same direction while moving the hooks in opposite directions. This reduces the number of servo motors required, decreasing both weight and cost.The robotic arm can identify books using a camera attached to a microcomputer with an optical character recognition (OCR) (Holanda et al., 2018) system installed. Various approaches were considered, most notably a barcode system, but due to the ways in which books are shelved in a library and to most directly meet the needs of the librarians, OCR was chosen.A similar device (Zhou et al., 2022) developed in China was able to identify books using a segmentation technique. This solution relied on librarians inputting pictures of the books from many angles so that they could be identified, so there still wasn’t a lot of additional time. Another device that solves this problem was created to be installed either on the roof or the floor of a library (Barma, 2018). The arms that are installed are controlled by two Arduinos: one that receives patron requests and one that sends the arms to the proper location. The device is highly accurate, but expensive. The high price of this system is offset by the number of librarians that can be fired because of its efficiency and versatility. To protect librarians’ jobs, this device is limited in scope. It can only be used to alphabetize books that it scans and then remove any inaccurately shelved books. It does not have the technology to become even a makeshift version of some other library device. It is also very inexpensive, meaning that it’s possible for most libraries to acquire this technology while keeping all their employees. The goal of this project is to improve the jobs of librarians, which was determined extends to protecting those jobs, a key consideration missing from other solutions.

PROCEDURE

A general map of what each part of this device is doing.

The process I went through to determine the angles of each servo motor using inverse kinematics. Essentially, I set the radii of two circles (one at the origin, one at the end effector) equal to the lengths of joint one and three. Then, I found the points on the circumferences of those circles that were the length of joint two apart. After that, I used basic trigonometry to find the angles to make that position.

The stress analysis of a part, conducted in SolidWorks. The result is given in Von Mises. Because the Von Mises results were low, the part is unlikely to yield to 100N of force.

This is a graph of some preliminary tests I ran with Tesseract OCR. I tried running Tesseract on the same book covers at different distances. The graph shows the accuracy of Tesseract at those distances.

ANALYSIS

Because Tesseract was most accurate at around 30 cm, I positioned the end effector 30 cm away from the book spines. I was also able to get the Raspberry Pi and Arduino to reliably communicate, so I moved on to programming the motors. They were able to accurately move the robot.

DISCUSSION & CONCLUSION

DISCUSSION

This project was successful in that the robot was able to identify books placed incorrectly and remove them from the shelf. It was also relatively inexpensive to build and would be easy for an average librarian to use. This device still needs to be developed to be applicable in a library. The robot can’t operate properly on full shelves, so refining Tesseract OCR to be more compatible with this project would be a useful addition. The claw would also need to be refined to grab a book in such a small space. These alterations were not made mostly due to storage restrictions and available equipment. Tesseract OCR takes up a lot of space (which is why a Raspberry Pi was necessary for this project). Refining it would potentially require a different, more expensive Raspberry Pi model. A claw that can reach between books on a shelf would likely need some sort of binocular vision system (Shi et al., 2023) that would further add to the storage strain on the Raspberry Pi and potentially lead to crashes. The parts for said claw would also need to be made more precise and may not print well on the available 3D printer. The final product was analyzed with a harmonic mean f-score test. This test was chosen because it can weigh the accuracy of something equally whether it was a true positive (the book was removed) or true negative (the book was left). In this device, both are equally important for applicability, so the statistical test makes sense. The device designed in this paper shares an objective with Zhou et al.’s robot from 2022 but differs in methodology. This paper’s robot, while not ready for implementation at this juncture, significantly reduces the workload on librarians in a way that Zhou et al.’s robot does not. Zhou et al.’s robot is more accurate than this robot, but the robot designed here is more accessible to the average library because of its reduced cost and small size. This robot also seeks to help librarians in a way that many library-based automatons do not. Other devices (Barma, 2018) present expensive, all-encompassing solutions. These devices justify their costs by eliminating the need for librarians without asking whether they should eliminate that need. This device is helpful to librarians because it allows them to spend more time on activities that require critical thought to manage the library instead of mindlessly reading book spines.

Future Research

Future research would entail developing a pulley system that moves the robot along an aluminum extrusion so that it can move to the books. This will be an easy step to take, but this project is limited by the lack of aluminum extrusions available to the author. More sophisticated developments include improved accuracy and inclusion of a camera-based vision system. These enhancements would make the project a more viable option for libraries.

Thank you for reading this far! This is a placeholder.

CONCLUSION

The goal of this project was to build an inexpensive and easy-to-use robot to identify out-of-place library books and remove them. The robot was assembled with parts printed in ABS and moves with servo motors. The robot’s motion is controlled by an Arduino UNO and modeled with inverse kinematics. Book identification is handled by a Raspberry Pi 0 2W with Tesseract OCR installed that communicates over a serial connection with the Arduino UNO. The project was ultimately successful in its objectives, if limited in scope. The main difference between this robot and other automated library solutions is that, while those devices are expensive and aim to do the entire job of a librarian (thus making them better options for library owners), this robot does one annoying task for the librarians (thus making it a better option for library workers). As artificial intelligence and automation threaten jobs, this device seeks to be a useful tool in an industry that hasn’t seen a lot of development since the introduction of the internet.

WORKS CITED

POSTER