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.
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.
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