Download Complete Mobile Robot Programming Adventures in Python and C 2nd Edition Thomas Bräunl PDF for All Chapters
Download Complete Mobile Robot Programming Adventures in Python and C 2nd Edition Thomas Bräunl PDF for All Chapters
com
https://ebookmeta.com/product/mobile-robot-programming-
adventures-in-python-and-c-2nd-edition-thomas-braunl/
OR CLICK BUTTON
DOWNLOAD NOW
https://ebookmeta.com/product/functional-programming-in-c-2nd-edition-
enrico-buonanno/
ebookmeta.com
https://ebookmeta.com/product/c-programming-in-linux-2nd-edition-
david-haskins/
ebookmeta.com
https://ebookmeta.com/product/representing-abortion-1st-edition-
rachel-alpha-johnston-hurst-editor/
ebookmeta.com
https://ebookmeta.com/product/eu-energy-law-volume-i-internal-energy-
market-5th-edition-christopher-jones-editor/
ebookmeta.com
https://ebookmeta.com/product/organic-farming-economics-policy-and-
practices-1st-edition-prajapati-hari-ram/
ebookmeta.com
https://ebookmeta.com/product/lonely-planet-pocket-glasgow-2-pocket-
guide-2nd-edition-andy-symington/
ebookmeta.com
https://ebookmeta.com/product/fresh-air-fiend-travel-writings-1st-
edition-paul-theroux/
ebookmeta.com
Reality 1st Edition Layla Heart
https://ebookmeta.com/product/reality-1st-edition-layla-heart/
ebookmeta.com
Thomas Bräunl
Mobile Robot
Programming
Adventures in Python and C
Second Edition
Mobile Robot Programming
Thomas Bräunl
Second Edition
Thomas Bräunl
School of Engineering
The University of Western Australia
Perth, WA, Australia
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
.........
C
ontrary to common belief, the three most important topics in robotics
are not Mechanics, Electronics and Software. Instead, they are Soft-
ware, Software and Software! While the companion book Embedded
Robotics (4th Edition 2022) keeps a balance between electronics, mechanics
and software, this new book, concentrates mainly on software for mobile
robots. This is where the real challenge lies and where the real innovation is
happening.
In this book we demonstrate how inexpensive mobile robots such as our
EyeBot robots using a Raspberry Pi controller and a camera can be pro-
grammed as well as simulated using our free EyeSim system. This simulator
can realistically model movements of driving, swimming/diving and even
walking robots. Our emphasis is on algorithm development, and we ensure that
all software projects can run on the real robot hardware as well as on the simu-
lation system. This means, we do not use any unrealistic simulation assump-
tions that would never work in the real world.
At The University of Western Australia, we found that students using Eye-
Sim as a supplementary teaching tool in robotics greatly improved their learn-
ing rate and understanding of robotics concepts.
All software used in this book, including all example programs, can be
downloaded from the links below. There are native applications for MacOS,
Windows, Linux and Raspberry Pi – and also in Virtual Reality on the Oculus
Quest.
In the following chapters, we will start with simple applications and move
on to progressively more complex applications, from a small, simple driving
robot to a full-size autonomous car.
VV
Preface
This book contains source code for most of the problems presented. To
keep all these different codes in order, we use a color-coding scheme to distin-
guish:
• Python programs
• C/C++ programs
• SIM scripts
• Robot definition files
• Environment data files
Tasks and challenges at the end of each chapter will help to deepen the
learned concepts and let readers use their creativity in writing robot programs.
I hope you will enjoy this book and have fun recreating and extending the
applications presented – and then go on to create your own robotics world!
My special thanks go to the UWA students who implemented EyeSim and
also wrote some of the example programs: Travis Povey, Joel Frewin, Michael
Finn and Alexander Arnold. You have done a great job!
Thanks for proofreading of the manuscript go to Linda Barbour at UWA
and the team at Springer Nature.
VI
C ONTENTS
...................................
.........
1 Robot Hardware 1
1.1 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Processor and I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Complete Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.8 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Robot Software 15
2.1 Software Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 First Steps in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 First Steps in C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Driving a Square in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Driving a Square in C or C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 SIM Scripts and Environment Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Display and Input Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Distance Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.9 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.10 Robot Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11 Multitasking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.12 Using an IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.13 Virtual Reality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.14 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 Driving Algorithms 39
3.1 Random Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2 Driving to a Target Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Turn and Drive Straight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Dog Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.6 Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 Lidar Sensors 53
4.1 Lidar Scans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2 Corners and Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
VIIVII
Contents
5 Robot Swarms 59
5.1 Setting up a Swarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2 Follow Me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3 Multiple Followers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6 Wall Following 71
6.1 Wall Following Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Simplified Wall Following Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.3 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7 Alternative Drive Systems 77
7.1 Ackermann Steering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.2 Omni-directional Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.3 Skid-Steering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.4 Chain Drives and Terrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8 Boats and Submarines 89
8.1 Autonomous Boats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.2 Autonomous Submarines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3 Simulating Boats and Submarines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.4 Submarine Diving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.5 Submarine Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.6 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9 Mazes 97
9.1 Micromouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.2 Wall Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.3 Robustness and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.4 Maze Driving with Lidar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.5 Recursive Maze Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9.6 Flood-Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.7 Shortest Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.8 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10 Navigation 117
10.1 Navigation in Unknown Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.2 DistBug Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.3 Navigation in Known Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.4 Quadtrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.5 Quadtree Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
10.6 Shortest Path Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.7 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
11 Robot Vision 133
11.1 Camera and Screen Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
11.2 Edge Detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
11.3 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
11.4 Color Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
VIII
Contents
Appendix 185
IXIX
R OBOT HARDWARE
...................................
1
.........
I
n this book, we will talk about a number of fundamentally different
mobile robots – from small basic driving robots, via autonomous subma-
rines and legged robots, all the way to driverless cars. We will start with
small driving robots and in this chapter we will present a brief description (and
building guideline) for mobile robot hardware. However, if your main focus is
on robot software, you can skip this chapter and start straight with software for
the robot simulation system in Chapter 2.
1
T. Bräunl, Embedded Robotics – From Mobile Robots to Autonomous Vehicles with Rasp-
berry Pi and Arduino, 4th Ed., Springer Nature, Singapore, 2022
All of our small robots are closely linked to Embedded Systems. They com-
prise an on-board computer system, which is connected to actuators and sen-
sors. It continuously reads sensor input to get information about the world sur-
rounding it, and then reacts by sending commands to its actuators. Actuators
are mostly electric motors, such as wheel motors or leg-servos, but could also
be pneumatic or hydraulic actuators, solenoids, relays or solid state electronic
switches.
1.1 Actuators
Motors A driving robot’s motion capability comes from a number of actuators – in
most cases these are two electric motors. Each motor is driven independently
and the main controller, e.g. a Raspberry Pi, sends signals for the desired
speeds. However, a motor can never be directly connected to a microcontroller
without a motor driver chip, as it draws a lot more current than a standard out-
put pin can supply. Therefore, we designed an interface board (EyeBot I/O
controller) which links a Raspberry Pi controller to a robot’s sensors and
motors, and also provides two motor drivers.
Figure 1.2: Motor output from pulse width modulation at 20% and 50%
A motor generally increases its speed with the analog voltage supplied to it
while its direction of rotation changes with the polarity of the supplied voltage.
As we cannot easily generate analog voltages from a digital microcontroller,
we use the method of ‘pulse width modulation’ as a digital equivalent. With
this, the full supply voltage (e.g. 5V) is turned on and off very rapidly (e.g. at
1,000 Hz), so the effect on the motor is identical to supplying a lower analog
voltage matching this ratio. As can be seen in Figure 1.2, different percentage
2
Sensors
1.2 Sensors
The drive system is only one half of a mobile robot. The other half is sensing.
Even for our simplest robots we use three types of sensors, which are in order
of increasing complexity: shaft encoders, infrared distance sensors and digital
cameras.
3
1 Robot Hardware
Shaft Encoders Shaft encoders are simple sensors which provide feedback that is mainly used
to control the speed of a robot’s motors (velocity control and position control).
For optical encoders, either a reflective disk or a slotted disk (see Figure 1.4)
can be used to alternate between letting an infrared LED beam through and
blocking it during the disk’s rotation. While the wheel is rotating, this gener-
ates a rectangle signal (Figure 1.5).
Using a reflective disk with alternating white and black sectors (Siemens
Star) works in the same way, only that LED and detector are on the same side
of the disk.
Figure 1.5: Encoder disk principle (left); encoder output signal for slow-
fast-slow rotations (right)
Shaft encoders can also be used to measure short distances that a robot has
travelled (position control). The left and right sensor output count can be trans-
lated via the robot’s kinematics formula into a change of its translational and
rotational position (pose). Unfortunately, this only works for smaller distances
and when the robot’s wheels are firmly on the ground. Over larger distances
the small inaccuracies will add up, and soon the calculated pose will become
unusable.
Distance Sensors Infrared distance sensors are also known as Position Sensitive Devices (PSD).
They emit a light beam invisible to the human eye and use the reflection from
an object to calculate a distance value. On our robot systems, we typically use
four PSD sensors, one for each direction.
Figure 1.6: Sharp PSD sensor (left) and measurement principle (right)
4
Sensors
Simple distance sensors use an infrared detector array to calculate the object
distance. Depending on the position where the reflected beam lands on the sen-
sor array, the closer or further away the object is (see Figure 1.6, right). Infra-
red PSDs come in a variety of different shapes, forms and interfaces (analog or
digital), as in Figure 1.6, left.
Higher precision distance sensors use a laser-based time-of-flight principle.
For the EyeBot-8 interface board we are using the tiny VL53L0X sensor from
ST Microelectronics on a Pololu carrier board (see Figure 1.7). The actual sen-
sor measures only about 2mm × 4mm and has SMD contacts, so this sensor
chip is next to impossible to solder for hobbyists. Using a ready-made carrier
board makes integration a lot easier.
Cameras A digital camera is a much more complex and powerful sensor than the ones
mentioned before. It delivers millions of pixels per image frame, several times
per second. At the very moderate VGA2 resolution there are 640×480 pixels
with 3 Bytes each at 25 Hertz (PAL3) or 30 Hertz (NTSC4), so over 23 MB/s
for PAL and almost 28 MB/s for NTSC. Figure 1.8 shows our own EyeCam
system (left) next to a modern Raspberry Pi camera module (right). The stand-
ard Raspberry Pi camera has a fixed non-changeable lens, but there are third-
party cameras available with adjustable and interchangeable board lenses. For
those cameras, lenses with a wider field-of-view angle are available (even fish-
eye lenses), which are better suited for driving robots. A large variety of board
lenses is available to suit most applications.
2
VGA: Virtual Graphics Adapter; an image resolution of 640×480 pixels, first introduced for
the IBM PS/2 in 1987
3
PAL: Phase Alternating Line; the European analog TV standard with 625 lines at 25 frames
(50 alternating half-frames) per second, matching a 50Hz mains power frequency
4
NTSC: National Television System Committee (also jokingly called “never the same
color”); the North-American analog TV standard with 525 lines at 30 frames (60 alternating
half-frames) per second, matching a 60Hz mains power frequency
5
1 Robot Hardware
6
Other documents randomly have
different content
The Project Gutenberg eBook of When mother
lets us make paper box furniture
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
Language: English
By G. ELLINGWOOD RICH
Teacher of Art and Manual Training, Brooklyn Training
School for Teachers
NEW YORK
MOFFAT, YARD AND COMPANY
1914
Copyright, 1914, by
MOFFAT, YARD & COMPANY
New York
All Rights Reserved
TO
MY FATHER AND MOTHER
THE BEST PLAYFELLOWS I EVER HAD
TO WHOSE ORIGINALITY AND INGENUITY
I OWE MY FIRST CONSTRUCTIVE IMPULSES
TABLE OF CONTENTS
PAGE
PARLOR FURNITURE
Divan 34
Book Shelves 52
Writing Desk 56
Morris Chair 60
Library Table 64
Fireplace 74
Piano 78
Parlor Chair 88
Tabouret and Palm 96
Screen 98
Piano Bench 108
BEDROOM FURNITURE
Bed 30
Dresser 46
Crib 80
Chiffonier 82
Chair 88
Screen 98
Cradle 102
HALL FURNITURE
Hall Rack 90
Umbrella Stand 106
Clock 110
LIST OF ILLUSTRATIONS
PAGE
A Happy Little Worker Frontispiece
Necessary Tools 17
Bed 29
Details of Bed 31
Divan 33
Details of Divan 35
Dining Table 37
Details of Dining Table 39
Arm Chair 41
Details of Arm Chair 43
Dresser 45
Details of Dresser 47
Big Brother 49
Book Case 51
Details of Book Case 53
Writing Desk 55
Details of Writing Desk 57
Morris Chair 59
Details of Morris Chair 61
Library Table 63
Details of Library Table 65
Stove 67
Details of Stove 69
Fun on a Rainy Day 71
Fireplace 73
Details of Fireplace 75
Piano 77
Details of Piano 79
Crib 81
Chiffonier 83
Kitchen Cabinet 85
Getting Supper 87
Parlor Chair 89
Hall Rack 91
High Chair 93
When Baby is Hungry 95
Tabouret and Palm 97
Screen 99
Wash Tub and Bench 101
Cradle 103
Rock-a-By-Baby 105
Umbrella Stand 107
Piano Bench 109
Clock 111
TO GROWN-UPS.
You are interested in very little, middle-sized or big girls or boys,
each child according to his years craving a medium for self
expression and opportunity to create.
To each according to his interests and developing powers the
suggestions in this little book are offered.
It is the author’s hope that the industry, perseverance and
ingenuity needed to work out the suggestions may help in some
small way to lay the foundation upon which big after things may be
builded.
TO MIDDLE-SIZED GIRLS.
You, also, will enjoy the pictures and rhymes. Of course you will
take great pleasure playing with your doll furniture, but, best of all,
you can make every bit of it yourself. Just think—you can make it
just the size and just the color you wish it; and the rhymes will
suggest many delightful little “extras” to make your doll home
attractive just as mother makes hers.
BOXES.
Boxes of all sorts, sizes and kinds are to be had by simply asking
for them. Every store throws away dozens of them every day. They
seldom keep any because they haven’t room for them. If you explain
to a clerk in a store what you are doing with the boxes, I am sure
that he will save them for you. You must be sure to go for them at
the time he tells you because they will be in his way. You will find
many fine, strong boxes at drygoods, stationery, drug and candy
stores.
You must first decide about what size you wish your set of
furniture to be and then make a collection of boxes of suitable sizes.
If you wish to make a tiny set to fit into a little play house to be
used for small china dolls or paper dolls, then collect small
peppermint, spool, jewelry, powder or pill boxes.
If you wish to make larger furniture to be used in a large play
house or on the floor, for medium-sized dolls, make a collection of
large candy, stocking, collar and corset boxes.
If you wish to make quite large furniture to be used on the floor,
for good-sized dolls, collect still larger corset, envelope, shoe and
wholesale candy boxes.
Try as far as possible to keep all the pieces of furniture planned
for one room in good proportion to one another.
Try also to keep all the parts of each object in good proportion.
“SCORING.”
CUTTING.
To cut a box or cover into two pieces, draw around the sides and
bottom, making it “square” by using a carpenter’s square, a
draughtsman’s triangle or the corner of another box or cover. Use
scissors to cut down the edges of the box; if the scissors will not cut
quite to the bottom, finish with the knife. “Score” across the bottom
and bend it. By bending back and forth, the two pieces will come
apart.
To cut a piece out, as when shaping a leg like those of the dresser,
use scissors to make two cuts in from the edge; use the knife to
“score” across between the cuts, and bend back and forth until the
piece comes out.
To cut a piece out to make slats like those in the headboard of the
bed, use a ruler to draw the shape of the “hole”; stick the point of
the knife through the cardboard at the corner of the “hole,” and,
with a sawing motion, carefully follow the lines. To prevent the
cardboard from tearing, put your hand underneath to support it, but
be very careful to keep your fingers away from the knife.
FASTENING.
The little pieces of furniture are very cunning whether they are
painted or not, but painting them adds greatly to their
attractiveness.
When you have finished one piece you may be so anxious to see
how it will look when painted that you will be tempted to paint it
immediately. It will be wiser and more workmanlike to plan and
make all the furniture for one room before you paint any of it.
Before you begin to paint, it is a good idea to examine the corners
of the furniture; if any of them are split or weak, strengthen them
with adhesive tape of some sort (passe-partout tape comes in
convenient and inexpensive rolls). The paint will cover up the tape.
Since boxes usually have printed labels which may show on the
furniture, it is best to use a thick paint. Enamel in small ten cent
cans may be bought in a variety of colors suitable for the furniture,
black, white, mahogany, antique oak, light oak and rosewood. If dull
paints or stains are used, put on a coat of shellac to make it shine
like varnish. White shellac can be bought in bottles for about twenty
cents a pint.
One brush will do for all colors because with care it can be kept
clean and soft. Clean shellac brushes with alcohol; clean paint
brushes with turpentine. The turpentine will take paint off of fingers
or remove any little spatters which may accidentally have gone on to
other things.
THESE ARE SOME PRACTICAL SUGGESTIONS:
Choose a place to work—kitchen table, bench in woodshed,
sewing table in nursery, workshop, barn, back porch, under a tree in
the orchard or back yard.
Spread papers or oil cloth to protect mother’s furniture and
carpets from paint.
Choose a place to put your furniture while it is drying, where no
one is liable to put other things which might be damaged by the
paint.
Use a screw driver to pry off the cover of the paint can; scissors or
knife will break if used for this purpose.
Use a small stick like a meat skewer or old pen-holder to stir your
paint from the bottom. It will need to be stirred thoroughly each
time it is used.
Paint all the underneath and lower parts first, while you are still
able to hold it in your hands; then set it down and hold an upper
corner while you paint all the rest; then let go and paint that corner.
Put the cover on the can when you have finished. If the paint has
thickened on the edge of the can it should be scraped off, because
the paint will dry up if the cover is not tightly closed.
Thoroughly clean your brush.
Put your painting materials in some place where mother lets you
keep such things.
Pick up and destroy all the soiled papers.
TO BOYS.
Don’t think this work’s for girls alone,
For surely that’s not true;
It’s every whit as boyish sport
As anything you do.
TO GIRLS.
Don’t think this work’s for boys alone,
For that’s not really true;
It surely is as girlish fun
As anything you do.
Bed.
BED.
Use a shallow box and its cover.
For a large bed use a stocking box.
For a smaller bed use a spool or caramel box.
For a very small bed use a jewelry box.
1. Cut the cover into two parts, making one part longer than the
other. The longer part is the headboard, the shorter part is the
footboard.
2. Fit the headboard and footboard on the ends of the box and
hold them with both hands. Slide the box up or down until it looks
like a bed.
3. Lay the footboard down, but hold the headboard and box
together, until you fasten them.
4. Fit the footboard on again to match the headboard, and fasten
it.
5. Cut the bottom of headboard and footboard to look like legs.
Also cut the slats in the headboard and the footboard.
6. Paint brown or white.
Details of Bed.
COSY DIVAN.
To make this divan comfortable,
What would you next suggest?
You might make sofa pillows,
So dolly may lie down and rest.
Divan.
DIVAN.
Use a box with a cover which entirely overlaps it, or two boxes
exactly alike without their covers. They should be fairly deep, long
and narrow, like an ordinary candy box.
1. Cut away one long side, leaving the other long side for the
back, and the short ends for arms.
2. Set this on top of the cover and fasten through the seat.
3. Cut away pieces to shape the legs.
4. Cut slats in the back and arms.
5. Paint to match the rest of the furniture in the living-room. Use
antique oak, rosewood or mahogany.
Details of Divan.
Candy box
Box—front cut away
Fastened to cover
Legs and slats cut
SETTING THE TABLE.
If mother has an extra piece
Of linen she won’t need,
I’m sure she’d let you make a cloth,
And be very pleased indeed.