Ed Nunez - Mobile Robot CNC Alternative

40
Designing Mobile Robot Driving and Navigation Systems to Operate a Portable Laser-Cutting Device Eduardo Nunez EE 4043W Fall 2016 Medtronic PLC Not a work related report

Transcript of Ed Nunez - Mobile Robot CNC Alternative

Page 1: Ed Nunez - Mobile Robot CNC Alternative

Designing Mobile Robot Driving and Navigation Systems to Operate a Portable Laser-Cutting Device

Eduardo Nunez

EE 4043W

Fall 2016

Medtronic PLC

Not a work related report

Level 2. Standard Confidentiality

Page 2: Ed Nunez - Mobile Robot CNC Alternative

Eduardo Nunez

646 Ontario St SE

Minneapolis, MN 55414

December 13, 2016

Frank M Kelso

Mechanical Engineering

Room 1101 MechE

111 Church St SE

Minneapolis, MN 55455

Dear Professor Kelso,

My pursuit to design and build an exciting personal project involving a portable and affordable laser cutter has given me exposure to many different electrical, computer and mechanical engineering disciplines. This project has also shaped how I approach the design of a project and make smart design decisions to fit the project’s goals and a conservative budget. This has been the main motivation for this paper: Designing Mobile Robot Driving and Navigation Systems to Operate a Portable Laser-Cutting Device

I would like to thank the University of Minnesota’s Electrical and Computer Engineering Department (ECE) for allowing my project to be made possible through the Envision Fund, a program that allows undergraduate students to receive funding for personal projects.

Sincerely,

Eduardo Nunez

Page 3: Ed Nunez - Mobile Robot CNC Alternative

Abstract

The only known DIY (Do-it-yourself) devices capable of laser etching or cutting are

constricted by the dimensions of the device itself. An affordable and portable alternative to

currently existing devices is a two-wheel drive mobile robot that is capable of etching

designs with a laser as it drives on a 2-dimensional paper surface. From the studied

navigation methods, the most effective system that can be used by such robot to drive to any

point in the surface uses odometry in conjunction with landmark navigation. Such navigation

system prevents incremental errors, provides accuracy within two centimeters, and it can be

implemented with affordable components. However, using a landmark navigation system

weakens the user experience since users will need to be responsible for placing markers on

the drawing surface at fixed intervals.

Page 4: Ed Nunez - Mobile Robot CNC Alternative

Design Proposal

Working Title: Designing Mobile Robot Driving and Navigation Systems to Operate a Portable Laser-Cutting Device

Background

Often times, artists, engineers and DIY enthusiasts need laser cutters for the purposes of engraving designs or cutting out stencils. The conventional industrial approach to laser cutting involves using a Computer Numerical Control (CNC) machine, which are very big in size. Although many open source hobby projects exist for making small scale laser cutters, they lack the ability of cutting artwork with big dimensions. The paper will present the design for a portable and affordable robot capable of laser-cutting large artwork by driving along the drawing surface. Achieving a 2-dimensional navigation system is the first step necessary to work on the other components of this project. The robot design needs to accomplish: (1) a driving system that is reasonably affordable, and (2) a localization method that is precise to a few centimeters.

NOTE: The topic for this paper is non-work related, and is based on a personal project that I worked on during the Spring semester of 2015.

Problem Statement

To design a driving and localization system for a mobile robot; the system needs to be able to drive in a large 2-dimensional space from one arbitrary point to another with plus or minus 2 centimeters in accuracy.

Design Constraints

Primary Constraints

1. The robot must not occupy more than a square foot in space.2. The robot must be able to drive from one arbitrary point to another in two

dimensional space with plus or minus 2 centimeters in accuracy.3. The total cost of the components for the robot (excluding the laser cutting device)

must not exceed $300.Secondary Constraints

1. The robot should able to drive on a paper surface.2. Power should be provided through a battery.3. The coordinates of the robot navigation points should be provided wirelessly from a

PC.4. The robot should be fabricated without industrial machining tools or materials.

Because the robot is intended to be a DIY project, its design should be simple for hobbyists to work with.

Page 5: Ed Nunez - Mobile Robot CNC Alternative

Introduction

Often times, artists, engineers and Do-It-Yourself (DIY) enthusiasts need laser cutters

to engrave designs or cut stencil drawings. The conventional industrial approach to laser

cutting involves using a Computer Numerical Control (CNC) machine. CNC machines use

two linear motors to maneuver a drawing device in a two-dimensional (2D) grid. These

machines are expensive and massive in size and it has pushed the invention of smaller and

affordable alternatives, many of which have open source designs available to hobbyists in

websites such as instructables.com and gearbeast.com.

There is one significant problem with the available small and affordable alternatives

to CNC machines: the size of laser cut designs are constrained to the size of the machine. If a

large laser cut design is needed, people have no alternative but to use a CNC based laser

cutter.

The motivation for this paper is to discuss design alternatives to currently existing

laser cutting machines. The proposed designs are mainly intended to accomplish a small

factor and affordable components in a laser cutting machine while permitting users to cut

designs with large dimensions. The ideas presented all involve using a robot with a mounted

laser device that is capable of navigating and cutting designs in an extensive surface.

The designs discussed here are taken from a student led project made possible with

the University of Minnesota Electrical and Computer Engineering Department (ECE)

Envision Fund. This program encourages students to pursue extracurricular projects with

Electrical and Computer Engineering content. So far, only the driving and localization

systems of the robot have been studied. Therefore, this paper will only describe the design

decisions for these systems without any mention of the laser cutting device.

1

Page 6: Ed Nunez - Mobile Robot CNC Alternative

An accurate navigation system is one of the most essential components that a robot

needs to accomplish for this project. A user who wishes to laser-cut a design can provide the

robot a computer vector image via a host computer. The robot is used to follow the trace of

every single point in every single curve described in the design. Doing so requires constantly

“navigating” from point to point in a 2D plane until all of the points are covered. The

problem of etching a drawing using a high power laser is a design problem reserved for

future research and discussion.

The report describes the constraints that were considered when designing the different

2D navigation systems. Three different design approaches are discussed as solutions to

achieve an accurate and affordable 2D navigation mobile robot: odometry, landmark and

odometry based navigation, and beacon based navigation. The designs were evaluated

against the constraints to determine which design is the most suitable. Figures were taken

from James Borenstein’s journal on Mobile Robots titled Mobile Robot Positioning: Sensors

and Techniques, Vincent Pierlot’s scientific paper 18 Triangulation Algorithms for 2D

Positioning or for the Resection Problem and Philip Machler’s paper Robot Odometry

Correction Using Grid Lines on the Floor. The sketch showing the base components of the

robot is an original figure.

Problem Statement

To design a driving and localization system for a mobile robot; the system needs to be

able to drive in a large 2-dimensional space from one arbitrary point to another with plus or

minus 2 centimeters in accuracy.

Page 7: Ed Nunez - Mobile Robot CNC Alternative

Design Constraints

Primary Constraints

1. The robot must not occupy more than a square foot in space.

2. The robot must be able to drive from one arbitrary point to another in 2D space

with plus or minus 2 centimeters in accuracy.

3. The total cost of the components for the robot (excluding the laser cutting device)

must not exceed $300.

Secondary Constraints

1. The robot should able to drive on a paper surface.

2. Power should be provided through a battery.

3. The coordinates of the robot navigation points should be provided wirelessly from

a PC.

4. The robot should be fabricated without industrial machining tools or materials.

Because the robot is intended to be a DIY project, its design should be simple for

hobbyists to work with.

Possible Design Solutions

The design solutions presented in this paper are intended to solve only the driving and

localization systems of a laser-cutting robot. The main focus for designing a robot that

satisfies both systems is satisfying the three primary constraints: it needs to be portable,

affordable, and accurate to two centimeters. The designs considered use different localization

methods to satisfy these constraints: (1) odometry, (2) odometry and landmark navigation,

and (3) beacon navigation.

Page 8: Ed Nunez - Mobile Robot CNC Alternative

Design 1: Odometry based navigation robot

One relative positioning method commonly used in navigation is odometry, a system

that calculates a robot’s position based on the accumulation of wheel revolutions to calculate

velocity, acceleration, and orientation. This is generally done with encoders mounted on the

wheels to count each tick in a revolution. Odometry provides good short-term accuracy, but

is affected by an unbounded accumulation of errors. These errors can be divided into either

systematic errors or non-systematic errors. Systematic errors result from imperfections on the

robot, such as inaccurate wheelbase measurement or wheel misalignment. Non-systematic

errors result from the robot's interaction with an environment's surface, such as wheel

slippage or bumps and cracks.

Keeping track of a robot moving in 2D is

complicated and prone to calculation errors, but

constricting the robot’s movement to one single

direction makes the navigation system simpler and

more effective. Figure 1 demonstrates the elements

involved in a robot’s trajectory, and the calculations

involved for a robot to determine its 2D position based

on its previous position. In a two wheel drive system, it is

possible for wheels to be moving at different speeds thus

making the robot displace in an arching matter. In these cases the robot needs to make

calculations from the speed of the two different wheels to determine the arch displacement.

For the purposes of this design, odometry calculations are a lot simpler. The robot is

constricted to drive in one direction so localization can be made without big demands in

Figure 1: A robot’s position {X₀, Y₀, θ₀} is updated to position {X₁, Y₁, θ₁} given the wheel displacement SR and SL provided by the motor encoders. (Borenstein)

Page 9: Ed Nunez - Mobile Robot CNC Alternative

computational processing and without the need of mathematically complex equations. To

obtain the robot’s position at any point in time, the robot needs to consider the time that

elapsed since the last time the robot calculated its position and how many rotations the

wheels have made as determined by the encoders. The new position is simply equivalent to

the old position plus or minus the distance recorded by the encoders. A robot with a 2WD

system is capable of keeping track of its unidirectional position by starting at a known

position that is regarded as the zero point, and as the robot drives it can know its position at

any time. The zero point is set to one of the corner of the drawing space, and as the robot

drives the calculations are made relative to that point,

Design 2: Odometry and landmark based navigation robot

Landmark navigation uses fixed landmarks that are recognized by a robot's sensors to

obtain its position every time a landmark is recognized. The robot initially knows the

appearance of these landmarks and simply searches the environment for them. Landmarks

can be artificial, such as geometric shapes like lines and circles specifically made for

navigation in mind, or they can be natural, such as objects that already appear in the

environment. One downside of this method is that a system needs a high density of

landmarks to achieve accuracy. However, when this system is used in conjunction with a

relative positioning system such as odometry, high navigation accuracy can be achieved.

The proposed design for an odometry and landmark navigation based robot uses the

exact same odometry system as the previous design with the exception of an added grid

landmark detection system. Mächler (1997) describes an approach to localize the position of

a robot in a very straightforward manner by combining the local navigation system

(odometry) with a very basic global navigation aid (grid lines). With relatively close grid

Page 10: Ed Nunez - Mobile Robot CNC Alternative

lines, the robot will synchronize its position each time the robot crosses a line thus

suppressing any error obtained from odometry readings.

Mächler's work was the foundation for

designing a navigation system that uses

a laser sensor to detect fixed landmarks

as the robot drives. An implementation

of grid mark detection system needed to

be designed in a way that is affordable

and effective. The solution to this was

building a wall around the drawing

surface that the robot drives in.

Reflective strips are distributed on the wall every 50 millimeters, thus acting like the grid

marks seen in Figure 2. The wall can be built with pallets of wood and reflective tape at a

negligible cost. Although the grid marks aren’t physically present in the space that the robot

drives in, the robot is capable of peeking to the side to see when it has crossed a grid mark.

This is accomplished by mounting a laser emitter and a laser detector in the robot. Both the

emitter and detector face sideways on the robot, and it can sense exactly when the emitted

laser bounces back on the reflective strips to itself. When the robot detects this reflection, it is

an indication that a grid line has been crossed. All of the error that had been accumulated

between the most recent and previous grid line cross, is now suppressed because the robot

changes its position to the 50 millimeter multiple of the grid. In an example scenario, a robot

will keep track of its position as it drives between the 50 millimeter mark and the 100

millimeter mark. When it crosses the 100 millimeter mark, it had calculated its position to be

Figure 2: Grid mark technique used to correct odometry error (Machler)

Page 11: Ed Nunez - Mobile Robot CNC Alternative

110 millimeters due to odometry errors, but its position is recalculated to be equal to 100

millimeters. One notable restriction to this design is that the robot needs to drive parallel to

the wall because the landmarks only correct one dimension of the robot’s position. The

odometry corrections made every time the robot crosses a line assumes that the robot has

driven exactly the distance between each grid mark. Driving in a diagonal line would mean

that the robot needs to keep track of change of position in two dimensions, making it

impossible for the robot to correct its position using the grid marks.

Design 3: Beacon based navigation robot

An alternative to correcting odometry errors with landmarks is using beacon based

navigation, an absolute referenced navigation system that looks at fixed points in the robot’s

environment to continually determine its position. According to Dixon, (1997) this method

tends to require "line-of-sight" in order to function properly, as common methods of

implementation are laser, sonar or radio. The use of active beacons can make positioning

accurate and reliable, but only if the beacons are mounted accurately and the robot can take

measurements from the beacons with high accuracy.

A reliable method of achieving beacon based navigation for the scale of this project is

using beacons as triangulation points.  The simplest way of achieving this is by placing three

beacons on fixed positions of the drawing surface. It is most convenient placing the beacons

in the corners so they do not obstruct the robot’s driving path. The robot’s beacon detection

mechanism is very similar to the way grid marks are detected in the landmark navigation

design. The robot has a mounted laser emitter and receiver that can detect a beacon

immediately when the laser shines directly on it. The difference between this system and the

landmark detection system is the need for the laser emitter and receiver to rotate 360 degrees

Page 12: Ed Nunez - Mobile Robot CNC Alternative

to observe all landmarks. To determine the robot’s 2D position at any point in time, a servo

motor is used to sweep the laser detector through 360 degrees. For every beacon detected, the

robot saves the angles between each beacon and obtains the 2D position by performing

trigonometric triangulation based on the three angles and the position of each beacon. The

robot’s position can be recalculated in repeated periodic time intervals that are at least long

enough to allow the servo to perform a full rotation.

Figure 3: With knowledge of beacon positions B1, B2, and B3, the robot finds a1, a2, and a3, the angles between an arbitrary direction theta and the three beacons. The robot can use this to determine its position

{xr, yr} (Pierlot)

Common features for all designs

Despite of the navigation methods involved in each design, they all share equal

components needed to satisfy constraints that have obvious solutions. The portability aspect

of the three designs laid out is not a concerning issue because they all contain small

components that can be squeezed in a square foot space.  All of the secondary requirements

were made common for the three designs.

A two-wheel drive differential driving system with PID control was chosen as a

common design choice, as this was the most effective choice for allowing the robot to be as

Page 13: Ed Nunez - Mobile Robot CNC Alternative

portable and affordable as possible, while still allowing the robot to drive on a paper surface.

A discussion on the theory of operation for different robotic systems can be found in

Appendix B. Ackerman steering was ruled out as a driving system because its only main

benefit from a differential driving system is its capability to steer smoothly while driving

forward. The robot used for this project only needs to be capable of driving in a straight line.

Using a four wheel arrangement over two wheels does give the benefit of added stability

when it comes to driving but the robot would be incapable of performing 90 degree rotations.

A two wheel drive system with a free rolling ball was the clear choice: it could manage to

perform rotations in place that is needed for the three different navigation methods discussed,

it can drive on a paper surface, and components needed are portable and affordable. If there

was a known driving method that allowed the robot to drive forward in four or more wheels

while still allowing rotations in place this would have been the ideal choice. Another

alternative would have been to implement an Omni-drive system that can allow the robot to

move forward and sideways without needing to rotate, but the parts needed to make this

happen is way beyond what the project budget is capable of.

With a two wheel drive system in mind, the issue of uneven wheel speeds was

addressed with a PID response system that ensures the robot drives straight. Fisher (2008)

explains how the PID can correct undesirable wheel speeds. One first needs to look at the

amount of encoder counts at a time T1. We then wait some amount of time and observe the

amount of encoder counts at time T2. The difference between encoder counts at T2 and T1,

when multiplied by a constant will give us a distance value. This distance divided by the

delay time gives us our instantaneous speed. The PID control loop then looks at the

derivative, integral and magnitude of our instantaneous speed, scales these values with

Page 14: Ed Nunez - Mobile Robot CNC Alternative

appropriate constants, and adds these values together to obtain a "command speed". This new

command speed drives the motors and the PID control loop re-computes a new command

speed. This algorithm will ultimately cause the instantaneous motor speeds to converge to

their appropriate values in case they slow down or speed up. A PID control system is useful

when used in 2WD systems that drive in one direction so any rotational tilting is minimized.

If one of the robot’s two wheels happens to slip or its speed becomes unsynchronized with

the other wheel, the robot will rotate and start moving outside of its straight-line path. A PID

control system prevents rotations by compensating uneven wheel speeds with immediate

corrections. There is no guarantee that this system can correct all of the robot’s rotations

perfectly, but it reduces the problem significantly.

All of the robot designs use an Arduino UNO microcontroller with an Adafruit Motor

Shield to control the robot’s operation. The use of this portable microcontroller allows the

device to be battery powered. The Arduino board is connected to the Xbee module to

wirelessly communicate with a host computer that gives the robot navigation instructions.

The last secondary requirement to be satisfied is ease of build using homemade tools. Figure

X demonstrates the robot’s structural design. A flat wooden piece is used as the robot’s main

frame. L-shaped metal brackets are screwed into the frame to hold the motors with wheels in

place. The Arduino UNO board and its’ peripherals sit on the bottom edge of the frame,

leaving plenty of spare space for future subsystems. The total cost for all of the

aforementioned components including the driving system is $180, leaving a spare $120 to

spend on additional parts needed to perfect the robot’s localization abilities.

Page 15: Ed Nunez - Mobile Robot CNC Alternative

Figure 4: Layout of robot components distributed on the wooden frame

Reasoning

The only constraints that are relevant when analyzing these three designs are the

accuracy of localization and the costs involved. The portability constraint stating that the

robot needs to occupy less than a square foot in space is satisfied by the three different

designs. All of the designs also have their secondary constraints satisfied by the common

design features. Making a decision for a design is dependent on what design holds the best

tradeoff between affordability and accuracy.

Solely using odometry as a navigation system is the most cost effective and simplest

option, but it does not allow the robot to calculate its position accurate to two centimeters.

Odometry does not require any external devices to track wheel movements. Movement

tracking is all handled by encoders embedded inside the DC motors. This is beneficial to

keep the robot design as portable as possible. A small-sized DC motor with high resolution

encoders can be purchased for around $30 a piece and does not take a significant portion of

Page 16: Ed Nunez - Mobile Robot CNC Alternative

the budget. Despite these benefits, it is not reliable for ensuring accuracy. If a robot only

depends on this relative positioning method, one has to consider the effects of accumulated

systematic errors over time. According to Borenstein (1997) an odometry system can suffer

from unequal wheel diameters, average of both wheel diameters differing from nominal

diameter, misalignment of wheels, uncertainty about the effective wheelbase (due to non-

point wheel contact with the floor), limited encoder resolution and limited encoder sampling

rate. Non-systematic sources of errors on the other hand, include uneven floors, travel over

unexpected objects on the floor, and wheel slippage. Over time, the error sources degrade the

accuracy of the robot’s positioning and there is no method to allow occasional corrections.

For these reasons, the possibility of using odometry as the only navigation system is ruled

out.

The odometry and landmark based navigation robot offers great accuracy with

affordable components. A laser emitter and receiver costs $40 and it fits perfectly within the

$120 budget to invest on navigation systems. The accuracy improvement of this system is

evident by a set of experiments performed on a robot only using robot odometry, and again

on the same robot using odometry and grid landmarks. In these experiments, the robot was

placed on the corner of a large piece of drawing paper and it was instructed to drive forward

to a 20 cm, 40 cm, 60 cm, 80 cm and 100 cm mark. The results in Table 1 show that when

the robot drives long enough without landmark correction, it violates the 2 cm error

constraint. This error just gets incrementally worse as demonstrated by the upward trend of

error in the results. On the other hand, landmark correction suppresses the upward trend in

error, thus ensuring the robot navigation is accurate within the 2 cm threshold. Despite

these experimental results, the odometry and landmark navigation design just needs one

Page 17: Ed Nunez - Mobile Robot CNC Alternative

additional feature that will allow all of the constraints to be satisfied. The primary constraints

mention that the robot needs to be able to navigate in a 2D space, but this design only

specifies how to navigate in one direction. To achieve 2D navigation, the most reasonable

approach is to replicate the grid navigation system in a second direction by building a second

wall in an edge perpendicular to the original. Whenever the robot is instructed to drive to a

2D point it first drives in one direction until the point is directly facing its left or right, it then

rotates 90 degrees and drives forward again until it reaches the 2D point.

Table 1: Error differences traveling from origin to a specified point with and without landmark navigation

Although the odometry and landmark based navigation robot satisfies all of the

constraints, it can negatively affect the user experience. The user suffers from having to build

a wall with reflective strips to his/her desired dimensions. Users also have to ensure that it is

perfectly aligned with the edges of the drawing surface every time the robot starts operating.

The user experience is not going to be considered as a constraint due to the fact that this

project has the primary goal of being the very first portable and affordable large scale laser

cutter. Just by making this project a proof of concept is satisfactory. Factoring in a good user

experience to the design is going to be an additional time and financial investment. However,

if this project was to be redesigned for designing a commercial product, the new design for

the landmark markers must be considered.

Page 18: Ed Nunez - Mobile Robot CNC Alternative

The beacon based navigation system provides a better user experience, but there is a

lot of complexity added to the system and there are no affordable parts to make this design a

viable solution. Only having to place 3 beacons on a driving surface saves the user some

frustration of building a wall with adequately placed reflective strips, making this a superior

user experience. Unfortunately, there are no available continuous rotation servo devices

under $120 that allow for specific angle tracking. Another possible solution is using step

motors as a replacement for the servo and keeping track of the motor steps. Even so, step

motors would only be rotating at steps that are too big to obtain a reliable angle

measurement. Another problem that this design suffers from is a big computational

complexity involved in making triangulation calculations frequently. The system's need for a

fast processor would also drive up the total price of components since the Arduino UNO is

not adequate for the design's specifications.

All designs considered, the odometry and landmark navigation based robot is the

most reasonable design to go forward with. The design satisfies all of the constraints,

although a new design would need to be reconsidered if this were to become a commercially

available product. For the purpose of satisfying the needs of hobbyists and artists on a

budget, this design will pave the path to building a robot that can draw artwork on a drawing

surface.

If a higher budget and time was permitted for experimentation, it would also be worth

exploring improvements to also improve on the driving subsystem. The PID control system

will not perfectly stabilize the robot’s sideways movement causing some positioning error if

the robot drives for an extended period of time. Ideally, the robot’s sideways motion needs to

be at the same level of accuracy as the forward and back motion.The experiments performed

Page 19: Ed Nunez - Mobile Robot CNC Alternative

on the odometry and landmark based designs had the robot driving for no more than 100 cm

and no significant observations in sideways error were observed. This driving system needs

to be revisited if sideways displacement becomes an issue when the robot attempts to drive in

a straight line. A four wheel drive system would have done a better job of ensuring the robot

drives straight but rotating a robot in place would have not been possible. The driving system

can also benefit by using higher resolution encoders to allow for a more precise PID control

system and an improvement in accuracy for odometry navigation. This can only be done

under the pretense that higher resolution encoders are within the budget and the

microcontroller has a processor fast enough to process all encoder counts. Another solution

to correcting sideways error would be finding an additional correction system that corrects

any incremental sources of error, similar to how landmark navigations correct incremental

error from odometry.

Conclusion

The end goal for the robot described in this paper is to provide a portable and

affordable solution to draw artwork in a 2D drawing surface. Accurate 2D navigation

methods are essential to move forward with designing a robot that is capable to move around

to draw at specific points. To accomplish 2D navigation with an affordable mobile robot,

design solutions that use odometry, landmark navigation and beacon navigation were

examined. A design that uses odometry in conjunction with landmark navigation was proven

to be the most reasonable solution. A beacon navigation system is not an affordable solution

and an odometry based system would lead to too much incremental error. In experiment

trials, it is observed that odometry error is minimally reduced with the aid of landmark

Page 20: Ed Nunez - Mobile Robot CNC Alternative

navigation, since any incremental source of error suppressed when the robot crosses every

landmark.

With a landmark navigation system in mind, there is a lot of future potential to

expand the robot's abilities to achieve other tasks that are necessary for the robot to perform

laser cuts on a drawing surface. Most of the work will come down to how the laser-cutting

device is implemented and what computer algorithms are involved to instruct the robot to cut

out a design specified in a host computer. This can be a breakthrough for artists and

hobbyists who do not have access to CNC laser cutters since this will permit laser cutting at

an affordable, portable scale with no boundaries to how long one wants to make their laser-

cut stencils. There are great aspirations from the people involved in this project to research

and design the missing subsystems and have a working prototype in the near future.

References

Borenstein, J. (1997, September). Mobile Robot Positioning: Sensors and Techniques.

Retrieved November 8, 2016, from

https://deepblue.lib.umich.edu/bitstream/handle/2027.42/34938/2_ftp.pdf

Dixon, J. (1997). Macro- to Micro- Scale Navigation. Retrieved November 08, 2016, from

http://www.doc.ic.ac.uk/~nd/surprise_97/journal/vol4/jmd/

Fisher, C. (2008, June 14). PID Control | Let's Make Robots! Retrieved November 8, 2016,

from http://letsmakerobots.com/content/pid-control

Machler, P. (1997). Robot Odometry Correction Using Grid Lines on the Floor. Retrieved

November 8, 2016, from

Page 21: Ed Nunez - Mobile Robot CNC Alternative

http://www.cs.cmu.edu/~motionplanning/papers/sbp_papers/machler_grid_odometry.

pdf

Pierlot, P. (2013). 18 Triangulation Algorithms for 2D Positioning or for the Resection

Problem: Benchmarking, software, source code in C, and documentation. (n.d.).

Retrieved November 14, 2016, from http://www.telecom.ulg.ac.be/triangulation/

Robbins, J. (2008, August 17). Wheel control theory. Retrieved from

www.robotplatform.com/knowledge/Classification_of_Robots/wheel_control_theory.

html

Page 22: Ed Nunez - Mobile Robot CNC Alternative

Appendix A: Localization Methods

The various methods for performing position measurements for navigation are

divided into two groups: Relative positioning and absolute positioning.

Relative positioning methods, also known as dead-reckoning, use the robot’s last

position to calculate its current position. Because of the use of previous references, the robot

needs to perform some calculations to predict what position it is presently in. According to

Borenstein (1997), not having a steady reference makes these systems commonly prone to

error built up over time, but this method benefits from the use of simple components. In this

paper, odometry is discussed as a solution for a relative positioning method involving wheel

motors and encoders. In a mobile robot, the left and right wheel encoders keep track of the

amount of the forward and backwards spin of the wheels over time. Using this information,

the robot can repeatedly make calculations of its current position in a 2-dimensional space.

Absolute positioning methods use reference-based systems to calculate positions

directly. Absolute positioning robots are able to take more reliable measurements with

minimal processing. The most commonly known and perhaps clearest example of an absolute

positioning method is a global positioning system (GPS). GPS references satellites in orbit to

obtain near accurate positioning. According to Borenstein (1997) GPS is more suited for

global reference navigation as opposed to determining the location of devices in a small

enclosed space. For this reason, the designs in this paper explore landmark navigation and

active beacon navigation as some possible absolute navigation methods.

As there is not a single method from either category that is a perfect solution to

mobile navigation, it is advantageous to consider different positioning methods or a

combination of both relative and absolute positioning methods.

Page 23: Ed Nunez - Mobile Robot CNC Alternative

Appendix B: Driving Methods

There are numerous design configurations that robots for driving on a flat surface,

some of which may exhibit some tradeoff between factors of cost, precision and ease in

driving multiple directions. Driving using a wheel-based system is not the only way for a

robot to move across a space, as there are other existing maneuvers such leg-like structures

and tank treads. For the purposes of a robotics project for a hobbyist, wheel-based system

significantly reduces the cost and complexity of any other system available. The

configurations to consider for a driving system involves two components: number of wheels

and wheel control systems.

Wheeled robots can manage to use whatever number of wheels is most appropriate.

According to Robbins (2008), single wheel robots lack stability and thus require very delicate

sensitive controls to prevent it from falling. This makes them hard to implement thus making

them unpractical for most applications. Two wheel robots possess the same problems as

single wheel robots since the robot body is also in need of a stabilization system. A good

example of this system is a Segway, a transportation machine with two wheels that is

constantly stabilized. An easy solution for this issue is implementing an additional free

moving wheel. When the three wheels are placed in a triangular arrangement, the robot

becomes balanced. Four wheeled robots are perhaps the most versatile and powerful of all

options available. Many transportation systems use four wheeled robots as it provides great

stability and flexibility. Many transportation systems use two of the four wheels for steering

and the other two for driving. The downside of using this system compared to a two wheel

drive robot with a free moving stabilizer is the additional cost of a forth wheel and any

additional motors needed.

Page 24: Ed Nunez - Mobile Robot CNC Alternative

With the number of wheels in mind, the next step is deciding their arrangements and

choosing a system that will drive the wheels to make the robot move and steer. For simple

and low-budget robotics projects, Robbins (2008) suggest using a differential drive system.

This uses two perfectly aligned wheels, each driven by its own motor, to drive the robot in a

desired path. To drive forward both wheels need to go at the same speed and to steer either

left or right both wheels need to be driven at opposite directions. This system is compatible

with a two wheel setup that uses an additional free moving roller ball. The assembly and

control algorithms involved in a differential drive system are very simple, but it often fails at

driving in straight lines or turning at inaccurate angles mainly due to uneven motor powers or

ruggedness of the environment. However, low motor speeds and control systems that

compensate uneven behavior can suppress these effects. Another commonly used wheel

control system best known for its use in road vehicles is Ackerman steering. This steering

system uses three wheels in a tricycle configuration or four wheels. By letting the front

wheels steer and the back wheels drive, this system is convenient for good steering control

and stability but it is incapable of performing rotation maneuvers in place. The last

configuration worth mentioning is an Omni drive system. This system uses wheels that have

smaller rolling wheels attached to the circumference. Using these wheels and an appropriate

arrangement the wheels can move in any direction without the need of rotating.