Robot Navigation System for Mapping of Non-GPS Accessible...
Transcript of Robot Navigation System for Mapping of Non-GPS Accessible...
Robot Navigation System for Mapping of
Non-GPS Accessible TerrainProject: 04042
Project Leader: Anja Soldo – EETeam Members:
Stephen Byrne – MEAndrew Fishbaugh – ME
Ian Kunsch – MEMichael Oswald – ME
Aneta Rozwadowska – EEVered Talmor –EE
Mentor/Customer: Dr. Crassidis
Kate Gleason College of EngineeringJames E. Gleason Building
Rochester Institute of TechnologyRochester, NY 14623-5604
Robot Navigation System for Mapping of...............................................................................................1
Non-GPS Accessible Terrain..................................................................................................................1 ............................................................................................................................................................... 3
1.Recognize and Quantify Need...................................................................................... 41.1. Sponsor Background.................................................................................................................................. 41.2. Project Mission Statement......................................................................................................................... 41.3. Robot Navigation Background................................................................................................................... 51.4. MIMNS..................................................................................................................................................... 51.5. Scope Limitations...................................................................................................................................... 51.6. Stakeholders............................................................................................................................................... 61.7. Key Business Goals................................................................................................................................... 61.8. Top Level Critical Financial Parameters.................................................................................................... 61.9. Financial Analysis...................................................................................................................................... 71.10. Primary Market....................................................................................................................................... 71.11.Secondary Market..................................................................................................................................... 81.12.Teaser Topics............................................................................................................................................ 81.13.Formal Statement of Work........................................................................................................................ 9
2.Concept Development.................................................................................................102.1.Long List.................................................................................................................................................. 102.2.Group Drawings........................................................................................................................................ 102.3.Short List.................................................................................................................................................. 10
3FEASIBILITY ASSESSMENT (ELECTRICAL)...................................... 134.Feasibility Assessment (Mechanical)..........................................................................18
4.11.Feasibility Strategy................................................................................................................................. 184.12.Feasibility Questions............................................................................................................................... 184.13.Initial Feasibility Assessment Conclusions............................................................................................. 21
5.Design Objectives and Performance Specifications................................................... 225.1.Performance Specifications....................................................................................................................... 22
5.1.1.Nominal Speed.............................................................................................................................235.1.2.Minimal Turning Radius..............................................................................................................235.1.3.Run Time......................................................................................................................................235.1.4.Ground Clearance....................................................................................................................... 235.1.5.Acceleration.................................................................................................................................245.1.6.Sensors Response.........................................................................................................................245.1.7.Microcontroller Requirements.....................................................................................................245.1.8.Navigation Algorithm.................................................................................................................. 25
5.2.Design and Implementation Specifications............................................................................................... 255.2.1.Two Separate Drive Motors.........................................................................................................255.2.2.Belt Driven Four-Wheel Drive.................................................................................................... 265.2.3.Gear motors.................................................................................................................................265.2.4.Nickel-Metal Hydride Batteries...................................................................................................265.2.5.Chassis Material: Aluminum....................................................................................................... 275.2.6.Microcontroller............................................................................................................................275.2.7.Sensors.........................................................................................................................................275.2.8.H-bridge.......................................................................................................................................28
5.3.Evaluation Criteria.................................................................................................................................... 296.Analysis.......................................................................................................................30
6.1.Problem Statement.................................................................................................................................... 306.1.1.Known Information......................................................................................................................326.1.2.Desired information.....................................................................................................................33
6.2.Action taken.............................................................................................................................................. 356.2.1.Assumptions made....................................................................................................................... 356.2.2.Schematics and Data................................................................................................................... 386.2.3.Hardware Design Description.....................................................................................................39
MIMNS Interfacing .................................................................................................39 Sensor Interfacing.................................................................................................... 40
2
................................................................................................................................................................... 40H – bridge interfacing.................................................................................................... 41
6.2.4.Software Design Description.......................................................................................................427.Proposed Work/Schedule............................................................................................43
7.1.Milestones................................................................................................................................................. 437.2.Schedule................................................................................................................................................... 44
OPTIONAL (Not in scope)............................................................................................448.Appendix A.................................................................................................................50
System Flow Chart.......................................................................................................................................... 50
List of Tables:
Table 1: Long ListTable 2: Short ListTable 3: Collective Average Feasibility Scoring (Electrical)Table 4: Collective Average Feasibility Scoring (Mechanical)Diagram 1: Basic Sensor Operation Timing Diagram (Obtained from DUR5200
datasheet.)Diagram 2: H-bridge
3
1. Recognize and Quantify Need
1.1. Sponsor BackgroundThe Intelligence Community consists of agencies, bureaus, and organizations
within the executive branch of the United States government that are critical to
national intelligence. Such agencies include but are not limited to the Central
Intelligence Agency, the Federal Bureau of Investigation, the National Security
Agency, and the various military intelligence organizations. The Intelligence
Community is responsible for the collection of information regarding organizations
and activities that pose global and domestic concerns. This includes international
terrorist and narcotics operations as well as intelligence or hostile activities directed
against the US.
1.2. Project Mission StatementThe Robotic Navigation Unit will be an independent vehicle, meaning it will carry
all its own sensors, controller, and power supply, in addition to the MIMNS1 cube. It
will be approximately one square foot with a wheel diameter of approximately four
inches. This design should be sufficiently robust for any terrain it may encounter
while navigating the College of Engineering. The microcontroller will receive data
from the MIMNS, as well as the infrared and sonar sensors. This information will be
used to choose a direction for the robot, all the while recording the path information.
If time allows, we will record the data from the sensors as well to create a more
detailed map and make intelligent navigation decisions to ensure mapping of the
entire accessible area. The robot will be driven by two independent motors, one for
the right wheels and one for the left wheels, in order to provide the shortest turning
radius possible.
1 See section 1.4.
4
1.3. Robot Navigation BackgroundThere are many lucrative applications in which an autonomous robot capable
of mapping an inaccessible area would be valuable. Most robots in similar
applications use an expensive video system or GPS to map an area of interest.
However, there are instances where a complicated video system is too expensive or
infeasible due to size constraints. GPS systems are more viable, but they cannot be
used in areas without a clear view of the sky. Most robots for these applications must
use video systems, a remote human, or a combination of the two. There is still a need
for a simple yet effective method for mapping non-GPS accessible areas without the
dependence on a human. MIMNS offers an inexpensive alternative.
1.4. MIMNSMIMNS is a Miniature Inertial Measurement Navigation System developed last
year at RIT as design project MD2003-02019, based on the theory that signals from
accelerometers can be used to estimate error in rate gyro signals and the ability to use
signals from accelerometers and gyros to determine displacement. The MIMNS
contains six accelerometers and three gyros, which output analog signal. Signal
conditioning and interpretation via software can be implemented on the controller to
accurately determine the displacement of the robot.
1.5. Scope LimitationsThe projected budget for the project should not exceed $2000 dollars. The
prototype and final report shall be completed in a 20-week period and demonstrated to
the sponsor by May 2004. This will include an autonomous unit capable of navigating
a flat unknown and non-GPS accessible area by utilizing the MIMNS cube. The unit
must store its path based on the location determined by the MIMNS. The stored data
must be able to be retrieved by a computer in a useable format for post processing.
The vehicle must also be robust enough to survive several months of testing and
provide repeatable results.
5
1.6. StakeholdersThe primary stakeholder for this project is the Intelligence Community. A
second stakeholder to this project is the Rochester Institute of Technology. Other
possibilities include any other area where an autonomous robot is of possible use.
Exploring abandoned mines, for example, is a task in which GPS control is not a
viable option. However, this technology could also provide a cheap alternative to
motion measurement devices currently employed in airplanes and other vehicles.
1.7. Key Business GoalsThe goal of this project is two-fold: to create a robot capable of exploring and
mapping an unknown area, and to demonstrate the viability of the MIMNS cube as a
motion measurement device.
Most robots for exploring and mapping unknown areas use video systems,
GPS or human control with some form of vision system. These methods all have
certain weaknesses which could be overcome by using a system such as the Miniature
Inertial Measurement /Navigation System (MIMNS) cube.
Current positioning systems used in aircraft are bulky and require additional
hardware for signal conditioning. This limits the vehicles (based on space
capabilities) that can use the technology in addition to making the venture more
expensive. A device similar to the MIMNS cube would be a cheap and smaller
alternative to current devices.
1.8. Top Level Critical Financial ParametersThe following parameters describe the critical financial parameters of the
project:
A budget of $2000
Production of one unit (capable of withstanding several months of
testing)
o Microcontroller.
o MIMNS cube
6
o Chassis
o Motors (DC and servo)
o Sensors (sonar and infrared)
o Batteries
o Wheels
o Belts and pulleys
Field Testing
1.9. Financial Analysis
The total budget for our project will be $2000. The microprocessor used is
MSP430F449. A development kit, MSP430P440 (FET-Flash Emulation Tool), that
contains the microprocessor as well as serial interface to connect to PC was purchased
at a price of $50. This specific microcontroller was chosen both because of its
processing capabilities and its memory allocation. The motors from Pittman Express,
which cost $99 each, were chosen mainly because they had a built-in gearbox to
eliminate an overly complicated belt system, decrease maintenance and increase
longevity and reliability. The two H-bridges, which cost $30 each, were chosen
because of their high current capabilities and easy to debug system. While sensors
will not cost much individually, the total cost will be considerable. The batteries will
likely be of the nickel-metal hydride variety, due to their low weight. We will use
wheels, belts and pulleys similar to those commonly found on RC cars. There is no
cost associated with the MIMNS cube, since we will be using the cube built by the
previous senior design group.
1.10. Primary Market
The primary market for the Robotic Navigation System is the Intelligence
Community. It will be utilized to explore possibly dangerous areas inaccessible by
standard GPS guided robots.
7
1.11. Secondary MarketThe secondary market for the Robotic Navigation System could be used or
modified to suit many different applications. Bomb disposal robots, mine surveying
robots and other robots could possibly incorporate a MIMNS motion system into their
designs.
1.12. Teaser TopicsWhat trade-offs are there to a faster/slower robot?
- Robot should move at a speed at which it can collect information about its
environment and process it in order to make decision which direction to set.
Sensor response time sets one of speed limitations. Also, depending how long
it takes to obtain accurate position information, the sampling frequency will
either have to be decreased or the robot sped up or slowed down. Depending
on the amount of information the robot is going to collect, the unit might have
to make a full stop to collect information, process it and make a decision. If
the robot is very slow, it will take unreasonably long time to map the area,
keeping in mind that the robot will be battery operated and they have limited
charge capacity.
What trade-offs are there to a larger/smaller robot?
- Considering that there was no limitation on the size or weight of the robot, the
team chose dimensions according to the footprints of the components to be
mounted on top of it. This robot will serve as testing unit and therefore its
size is not very important. However, ultimately the size of the unit should be
reduced to its minimum, but it should still be able to support environment
sensing, navigation and mapping.
What conditions is this robot capable of handling?
8
- The unit will be expected to operate in enclosed areas such as buildings and
caves. Uneven terrain, as well as holes in the ground might be of
consideration. Puddles pose a threat of damaging the electronics. Unit should
be able to operate in the darkness.
How would you approach the design differently for a harsher environment?
- Chose components whose operation is not affected by temperature changes.
Build protective cover. Possibly use “tank” design rather than wheels.
Were there any noise issues that needed to be addressed?
- To be determined.
1.13. Formal Statement of WorkThis team shall provide on fully functional and complete Robotic Navigation
System that utilizes the MIMNS cube by May 2004. The robot will navigate its way
through the second floor of the College of Engineering. It will record its position in
the 2D space at regular intervals, and this will be used to create a map. This map must
be transferable in a file format useable by a PC for post processing.
9
2. Concept Development
2.1. Long ListWhen the group was assigned the Robotic Navigation Unit project the initial step was
bringing up some general ideas. All ideas were documented, even the ones that were not
considered afterwards. Some of the ideas are somewhat humorous as seen in the long list
below in Table 1.
2.2. Group DrawingsSince a picture is worth a thousand words, each member of the group
sketched a picture of what the Robotic Navigation Unit should look like. During the
work session the drawings were exchanged between the members and each member
contributed and added to each of the drawings. Once all drawings have been reviewed,
the group discussed the results and the long list was narrowed down.
2.3. Short ListThe sponsor of the Robotic Navigation Unit project is the CIA. The initial
specifications from the CIA were the incorporation of the MIMNS (Miniature Inertial
Measurement/Navigation System) cube, designed for project number MD2003-02019 last
year, and the design of a non-GPS autonomous system that would map all possible paths
in an unknown area, while returning to its starting point. No restrictions were put on the
size or the speed of the robot. For that reason, the physical shape of the robot was open
for discussion. All shapes and materials shown in the long list in Table 1 were
considered. The team eliminated the shark mobile, flying robot, and walking robot and
kept the car-shaped robot, i.e. a rectangular shaped, and the circular shaped robot.
As far as the composition is concerned, the team eliminated the use of wood, gold and
platinum because of either cost or weight reasons, and kept potential use of aluminum or
plastic, while keeping in mind that in the use of metal all circuit boards need to be
covered to avoid shortening of the electronic components.
As far as the electronic ideas, it was decided to use either a one or two
microcontrollers, depending on the complexity of the other components of the robot such
as the sensors. The type of the microcontroller will be determined further on into the
10
project design. As far as the sensors are concerned, the selection was narrowed to using
ultrasonic sensors and IR sensors. The number of the sensors was to be determined later
on. Laser sensors were eliminated because of the high cost (~$3000 and up), and the
photoelectric sensor does not apply to the purpose of mapping caves.
As far as the memory devices are concerned, the selection was narrowed down to
either using only the memory present in the microcontroller or adding external RAM or
Flash disks. The name for the robot will be determined also. Suggestions have not been
made for that yet. Table 2 below summarizes the short list items.
Shape
CarTruckRace carShark mobileWalking robotFlying robotCircular
CompositionAluminumPlasticWood
Electronics
Single bread boardEach circuit on different boardDigital displaySingle microcontrollerTwo microcontrollers
Sensors
Ultra-sonic sensorsIR sensorsLaser sensorsPhoto-electric sensorsFiber optics
Memory
Rely on microcontrollers Internalmemory onlyAdditional external memory:RAM, Prom, Eprom, Flash
Miscellaneous
Name for robotWater resistanceSelf destruction capability
Table 1: Long List
Shape CarCircular
Composition AluminumPlastic
Electronics
Single bread boardSingle microcontrollerTwo microcontrollers
11
Sensors Ultra-sonic sensorsIR sensors
Memory
Rely on microcontrollers Internalmemory onlyAdditional external memory:RAM, Flash
Miscellaneous
Name for robot
Table 2: Short List
12
3 Feasibility Assessment (Electrical)
3.1 Feasibility StrategyDuring the concept development phase, the team determined that the major electronic
portion of the Robotic Navigation project has to consist of at least one microcontroller.
Several were considered: the 8051 Intel, Oopic and MSP430 (a single MSP-
FET430P440 was chosen after a careful analysis). The group also considered various
types and combinations of sensors: ultrasonic sensors, laser sensors and infrared sensors
(ultimately a combination of three ultrasonic and two infrared sensors were chosen). The
dimensions of the microcontroller and sensors were not critical for this project. The three
conceptual designs are similar except for the different components and different vendors.
Also one of the concepts includes two microcontrollers communicating with each other.
We have completed the Project Feasibility Assessment Worksheet, Estimation of
Relative Importance of Attributes Worksheet and Weighted Evaluation Worksheet. From
the first worksheet, we have compared the sufficient skills, sufficient equipment,
sufficient number of people, percent of total required funds we have, chances of meeting
the intermediate mileposts, chances of meeting the PDR requirements, chances of
meeting the CDR requirements and overall technical feasibility of the project. We felt
confident about our skills and we thought we would learn as we progress with the project.
Also the same rating was assigned to the chances of meeting the intermediate mileposts
and the technical feasibility. At the time we could not predict what would happen at the
end of the quarter. We felt confident or strongly confident about the sufficient equipment
(enough resources to purchase whatever necessary for the project), sufficient number of
people and our funding was also sufficient. We also predicted that we could meet the two
most important deadlines of the Preliminary Design Review (PDR) and the Critical
Design Review (CDR).
According to the Estimation of Relative Importance of Attributes Worksheet, we
assigned a high value to meeting the PDR and the CDR requirements.
In the Weighted Evaluation Worksheet, three concepts in addition to the baseline
concept were selected. The Baseline Concept was to use the MSP430 microcontroller
13
with the three ultra sonic sensors. The first concept was to use the 8051 Intel
microcontroller with three ultra sonic sensors. The second concept proposed was the
MSP430 with six laser sensors and finally the third was the MSP430 with three ultra
sonic sensors and the two IR sensors. After detailed analysis, we came to conclusion that
concept three theoretically performed the best. We felt that we had enough skills to
attack the problem of integrating the MSP430 with the five sensors even though there
would be a learning curve encountered in the process. Also with the research done by the
members of the group, we came to the conclusion that the selected microcontroller had
more than enough functions needed to solve the problem.
The next step in the formal feasibility assessment was to answer some general
questions regarding the technical, economic, market, scheduling, and performance
feasibility of each design. Each design was assigned a rating between 0 and 3 for each of
the 10 questions. This rating represents the feasibility of the design in question with
respect to the issues raised by a particular question. A rating of 0 represents very low
feasibility, a 1 signifies that the design in question is slightly worse than the baseline
concept, a 2 indicates that the design is approximately the same as the baseline concept
and a rating of 3 signifies that the design is an improvement over the baseline concept.
All team members completed this rating process, and the responses were averaged. The
following section presents the questions by which the concept was judged, as well as
explanations of the rationale behind the ratings assigned by the team.
3.2 Feasibility QuestionsTechnical Question 1: Does the team have the skills needed to implement all aspects of
the technologies for this concept?
Rating (Concept1 (C1)=3, Concept2 (C2)=2, Concept3 (C3)=3)
Concepts 1 and 3 were equally difficult in implementing, however both scored higher
than implementing six sensors. We felt that as a group we could tackle the problem of
integrating either of the two microcontrollers with the specified sensors.
Technical Question 2: Are all elements of the technology required to implement this
concept available to the project team?
14
Rating (C1=2, C2=1, C3=3)
All the components are readily available from the vendors for purchase, however the
8051 Intel microcontroller is an 8-bit microcontroller in comparison to the 16-bit
MSP430 and also the cost of the laser sensors is too high. Our group will be creating a
purchase requisition form in order to obtain the necessary components. We are ordering
all our components except for the Miniature Inertial Measurement/Navigation System
cube and then integrating all of them to communicate with each other.
Economic Question 1: Do we have enough funds to support the development of this
product?
Rating (C1=2, C2=1, C3=3)
The first concept is more expensive due to higher cost for the 8051 development tools.
The second concept was out of the question due to high cost of the laser sensors (starting
at ~ $3000 each). The third concept meets both the cost and functionality requirements.
Economic Question 2: Does this product appear to have viability in the future economy?
Rating (C1=3, C2=1, C3=3)
Any of the three concepts has a potential in the future economy. The third concept
however is the least expensive and the least complicated from our standpoint. The
demand for such a product will only increase with such improvements presented above.
Market Question 1: What price will the market bear for a product based on this concept?
Can we afford to make and distribute the product at that price?
Rating (C1=3, C2=1, C3=3)
We expect the demand for this product to be the same for the first and the third concept
and a lower demand for the concept 2 because of the high cost of the laser sensors. The
non-GPS Navigational Unit with the MIMNS cube will offer a more convenient and less
expensive navigation and obstacle avoidance solution than other systems with
comparable accuracy.
15
Market Question 2: How does this product fit with our current and future areas of
strength?
Rating (C1=2, C2=2, C3=3)
Due to customer requirements and specifications the third concept is very similar to the
baseline concept except for the addition of the two IR sensors for greater accuracy of
“seeing” an obstacle.
Schedule Question 1: How much time will it take to bring the concept to the customer?
Does our firm have the time to bring this product to the market?
Rating (C1=3, C2=3, C3=3)
There are no constraints for this project for the size, improved accuracy, and minimal
cost. This is essentially a proof of concept in continuation of a project from last year,
MD2003-02019, to illustrate that in fact the MIMNS can work in the field.
Schedule Question 2: How long is the window of opportunity in the market?
Rating (C1=3, C2=2, C3=3)
The need for a product such as this is not limited to a certain widow of opportunity. The
product will introduce a unique solution to a preexisting problem and can be integrated
into the market when it is completed.
Performance Question 1: How does this concept meet the top three needs of our
immediate customer for this product?
Rating (C1=1, C2=0, C3=3)
The top three needs of the CIA are for this prototype to be under $2000, to be able to
navigate and avoid obstacles without the use of GPS and to communicate and record
data from the MIMNS cube.
Performance Question 2: Can this concept satisfy the needs of an additional user beyond
those of our baseline customer that it is being designed for?
Rating (C1=3,C2=2, C3=3)
16
The product is easy adaptable and could be implemented into any number of
applications. The baseline customer is only the initial application of such a product.
The Non-GPS Robot Navigation System is a revolutionary idea with the capability to
significantly influence the market.
T1 T2 E1 E2 M1 M2 S1 S2 P1 P2Concept1 3 2 2 3 3 2 3 3 1 3Concept2 2 1 1 1 1 2 2 2 0 2Concept3 3 3 3 3 3 3 3 3 3 3
Table 3: Collective Average Feasibility Scoring
3.3 Initial Feasibility Assessment ConclusionsThe conclusion was drawn from the above table and the various analyses completed.
Concept 3 clearly is the best solution for the Non-GPS Robot Navigation System.
17
4. Feasibility Assessment (Mechanical)
4.11. Feasibility Strategy
The Mechanical portion of the concept development produced three concepts for the
robot chassis. These three concepts could be used for any set up of electronic equipment
giving our group the best range of options to produce a more effective overall design.
The first design was a flat rectangular plate with walls to house the electronic and
mechanical components, protecting them and giving the chassis rigidity. The second
design was just a flat rectangular plate for the chassis. The components then would be
bolted and bracketed to the plate, allowing freedom of placement and adjustment, but
lacking some stability. A round plate with no walls was considered for the third concept.
This plate would be like the rectangular plate in allowing freedom for adjustment and
defining a general location for the sensors. The third design also complicates motor and
power transmission placement, along complicating with wheel locations.
The three concepts are weighted in a Weighted Evaluation Worksheet, in which we came
to a conclusion on a mechanical design for the robot. Based on collective research and
some quick layouts of the concepts, it was noted that design concepts 2 and 3 were easy,
cheap, and effective, while design 1 was strong, cheap, effective, but more difficult to
execute.
4.12. Feasibility QuestionsTechnical Question 1: Does the team have the skills needed to implement all aspects of
the technologies for this concept?
Rating (Concept1 (C1)= 1, Concept2 (C2)= 3, Concept3 (C3)= 2)
All 3 concepts are easily implemented, but concepts 2 and 2 were a more robust design
and much more easily modified. The first concept has an advantage over the second in
that it has more rigidity based on the hull like structure; unfortunately this also caused
interference problems with shafts and the motors. Since the first concept had such a
major flaw, the second design was considered a simpler and more modifiable design.
18
The third concept has the same characteristic in adjustability as the second concept
except that it is round. The roundness of concept three creates difficulties when aligning
wheels and motors properly.
Technical Question 2: Are all elements of the technology required to implement this
concept available to the project team?
Rating (C1= 2, C2= 2, C3= 2)
All materials and components are easily obtained through various vendors. The team
has decided on using a sheet of aluminum for the chassis of the vehicle for all the
concepts. Aluminum was chosen for its material characteristics of being very light, very
strong and easily machined. The other components such as bearings, gears, motors and
batteries are obtained through various Hobbyist and RC/car vendors. All three concepts
obtained the base average on this since all concepts would use similar mechanical
components.
Economic Question 1: Do we have enough funds to support the development of this
product?
Rating (C1=2, C2=2, C3=2)
With the exception of the MIMNS cube, which is one of a kind at the moment, the most
expensive mechanical components would be the motors, ranging from $30 each to
upwards of $150 each. Considering the rest of the mechanical components are fairly
cheap, most on the order of $30 and the few electronic components there will be plenty of
funds to support the product development.
Economic Question 2: Does this product appear to have viability in the future economy?
Rating (C1=2, C2=2, C3=2)
Considering that this project is not for the consumer and most likely not for industry the
viability lies in governmental use. While the robot is for government use it also needs to
be cost effective. The overall idea is to have many of these robots scouting out an area at
once, so the cost must be low to allow a mass production of the robots. All of the current
concepts will roughly cost the same.
19
Market Question 1: What price will the market bear for a product based on this concept?
Can we afford to make and distribute the product at that price?
Rating (C1=2, C2=2, C3=2)
Since all the concepts have the same majority of parts the cost for the mechanical system
of the robots will be about the same. One of the expressed needs was that this robot had
to be cheap, so there can be a sort of mass production at some point. Even though this
isn’t really for the market, it will be able to be marketed if there becomes a need.
Market Question 2: How does this product fit with our current and future areas of
strength?
Rating (C1=2, C2=2, C3=2)
Currently there are similar type robots and measurement technology. But this robot will
be the first to combine the two. Since all robots will have the same mechanical
technology they will be equal in that respect.
Schedule Question 1: How much time will it take to bring the concept to the customer?
Does our firm have the time to bring this product to the market?
Rating (C1=3, C2=3, C3=3)
Since this is not a final product it will be a while before the completed product will be
brought to the customer. This portion will however be finished before the time allotted
including the debugging stages.
Schedule Question 2: How long is the window of opportunity in the market?
Rating (C1=2, C2=2, C3=2)
This portion of the product has a large window of opportunity. It is designed so it can be
used in other projects as well as the next phases of this project.
20
Performance Question 1: How does this concept meet the top three needs of our
immediate customer for this product?
Rating (C1=2, C2=2, C3=2)
The robot is large enough to hold all the components safely and is small enough to be
useful, for example it can maneuver through doorways. The mechanical portion is also
relative low cost allowing for better sensors and electronics and increasing functionality.
Performance Question 2: Can this concept satisfy the needs of an additional user beyond
those of our baseline customer that it is being designed for?
Rating (C1=2,C2=2, C3=2)
As said before this robot can be used for anything people see necessary. The mechanical
portion is easily modified to fit a number of other uses.
T1 T2 E1 E2 M1 M2 S1 S2 P1 P2Concept1 1 2 2 3 2 2 2 2 2 3Concept2 3 2 2 2 2 2 2 2 2 3Concept3 2 2 2 2 2 2 2 2 2 3
Table 4: Collective Average Feasibility Scoring
4.13. Initial Feasibility Assessment ConclusionsThe conclusion can be drawn from the above table and the various analyses
completed. Concept 3 clearly is the best solution for the Non-GPS Robot Navigation
System.
21
5. Design Objectives and Performance Specifications
5.1.Performance SpecificationsThe following section explains how the proposed solution meets the
design
objectives and performance requirements based on considerations explained in
the needs assessment and the feasibility assessment.
Design objectives:
Integration of the Miniature Inertial Navigation System (MIMNS)
developed in a previous senior design project
Development and integration of an autonomous routing control
system
Construction of a robot with "intelligent" capability demonstrating
the mapping of an enclosed environment
Performance Questions Evaluated:
Size and weight of the unit?
Speed of the unit?
Sensor response?
MIMNS interfacing?
Obstacle avoidance method?
Navigation?
Mapping?
Cost?
22
5.1.1. Nominal Speed
A minimum speed was not specified by the sponsor; however, the design team
decided that a nominal cruising speed should be set in order to determine the performance
requirements of the various components. It was important that the robot goes slow
enough so that it could stop or turn when an object was detected in its path. Its speed is
limited by the sensor response time, as well as the time which takes microprocessor to
convert MIMNS data into position coordinates. The design team decided that the robot
should be capable of navigating and mapping the second floor of the College of
Engineering in less than 30 minutes. Factoring in pauses to take sensor readings of the
surrounding environment, the robot’s required cruising speed was estimated at 4 mph, or
about 5.9 ft/s (1.8 m/s).
Nominal Speed, v = 5.9 ft/s (1.8 m/s)
5.1.2. Minimal Turning Radius
Because the robot may be operated in narrow tunnels or hallways,
maneuverability is an important factor in its overall performance. In order to achieve the
greatest maneuverability it was agreed that the turning radius needed to be kept as small
as possible. Therefore the robot must be able to rotate in place about its centerline.
5.1.3. Run Time
To allow for the navigation and mapping of large areas it was decided that the
robot must be able to operate for at least 1 hour between battery charges. This extended
run time will also be beneficial during the testing phase because it will reduce downtime
due to battery charging.
5.1.4. Ground Clearance
Although this non-GPS mapping robot will not be subject to harsh or bumpy
terrain, it must have adequate ground clearance to easily traverse door jambs and other
small obstacles it may encounter while navigating the second floor of the engineering
building. As a result, the minimum ground clearance was set at 1 inch.
23
5.1.5. Acceleration
While the robot’s acceleration is not of critical importance in terms of
performance, the desired acceleration will help in determining the required torque output
of the motors. The design team agreed on an acceleration of approximately 3 ft/s2 (~1
m/s2). This acceleration requirement is low enough to allow the use of fairly small drive
motors but will also enable the robot to reach its nominal cruising speed within 2.5
seconds.
5.1.6. Sensors Response
Sensors should be able to detect obstacles up to 3.4 meters and pass reliable
information in regards to their location back to the microcontroller. Detailed mapping is
not the main objective of this project and accuracy of the distance between the unit and
the obstacle is not of major concern. The sensor response time (in case no obstacle is
detected) should be fast enough to give robot time to decide which is the proper direction
to take, without stopping. Initially, only one sensor on the servo will be used for obstacle
detection. In the second phase of the project, additional sensors will be mounted on the
side to provide microprocessor with additional information. The sensor will
“communicate” to the microcontroller and therefore should preferably have digital
interface. It should not have power requirement higher than 5V.
5.1.7. Microcontroller Requirements
Microcontroller will be used for gathering and processing of the information. It
needs to collect information from the sensors, obtain distance from it so it can make a
judgment which way to turn. It should utilize MIMNS data as reference to where it is and
where it is going, i.e. in two dimensions. The same data will be used to store information
about the path taken. When it becomes possible to retrieve accurate data about the path
taken from the MIMNS, it will not be much more difficult to obtain a more detailed map
about the robot’s surroundings by utilizing and storing information coming from the
sensors. Additionally, the processor needs to control the two D.C. motors chosen as the
drive mechanism.
24
In order to cover all of the above requirements, it was decided that the unit shall have I/O
ports with interrupt capability, timers, A/D converter, accurate clocking system and low
power consumption (battery operated). Additionally, a development kit should be
available which will have a C compiler considering that the team does not have much
experience with assembly programming.
5.1.8. Navigation Algorithm
A simple obstacle avoidance algorithm, in addition to gathering information from
the MIMNS is to be implemented first in the design development. When the robot
detects an obstacle it will look to the left and the right of it, take measurements and
decide which way is the safest to go (furthest object or no object detected). Secondly, the
unit will utilize information about its position provided by MIMNS to ensure it keeps
going into an unknown area, i.e. give “intelligence” to the unit in its decision making in
addition to the obstacle avoidance. Finally a “smarter” algorithm will be attempted for
the second stage implementation. This algorithm will ensure the unit covers the entire
floor and returns to its starting point.
The flowchart shows the operation of the unit in Appendix A.
5.2.Design and Implementation SpecificationsMost of the performance specifications were set in order to accomplish the previously
stated design goal. Considering that a there were no specific limitations on the size, the
weight of the robot and there was no speed requirement; the specs were set to simplify the
design or fabrication of the robot.
5.2.1. Two Separate Drive Motors
In order to accomplish the performance specification of minimizing the robot’s
turning radius, a drive train was selected in which each side of the vehicle is controlled
and driven independently. This design will allow the robot to pivot in place by driving
the wheels on one side in one direction and the wheels on the other side in the opposite
direction. This layout also simplifies the design of the robot because it can be steered
25
without the use of an automotive style steering system in which the front or rear (or both)
wheels are turned left or right.
5.2.2. Belt Driven Four-Wheel Drive
A belt drive system was selected to transfer power from the motor on each side to
the wheels on each side. This four-wheel drive system is important in minimizing the
turn radius, because it will allow the robot to rotate about its centerline whereas a two-
wheel drive system would only allow the robot to rotate about the midpoint of the driven
axle. Timing belts and pulleys were chosen for their relative simplicity and lower cost
when compared to shaft or chain drives.
5.2.3. Gear motors
The team decided to use gear motors (motors with integral gear-reduction) in the
design mainly to simplify the drive train. Because the required wheel speed is on the
order of 400 rpm and most motors run at speeds on the order of 5000 rpm, a significant
gear-reduction is required to obtain the desired nominal cruising speed. Incorporating
this gear-reduction into the belt drive system would add complexity to the drive train.
Using a gear motor with an output speed close to the required wheel speed allows the use
of a simple belt drive system with a gear ratio at or near 1:1.
5.2.4. Nickel-Metal Hydride Batteries
Due of the amount of testing planned for the robot, rechargeable batteries will be
required. Nickel-Metal Hydride (Ni-MH) batteries were selected to power the robot,
because of their increased capacity when compared to other types of rechargeable
batteries such as Nickel-Cadmium (Ni-Cd). Another benefit of Ni-MH batteries is the
fact that they have no “memory” effect in which their performance decreases if not
completely discharged before charging. Ni-MH batteries are considerably less expensive
than the newer Lithium-Ion rechargeable batteries and are also better suited for higher
current draw applications.
26
5.2.5. Chassis Material: Aluminum
Aluminum was selected for the construction of the robot’s major chassis
components for many reasons. Primarily, aluminum will provide the chassis far greater
strength and stiffness than plastic while keeping its weight relatively light. The use of
aluminum will also ease machining when compared to steel or plastic materials.
5.2.6. Microcontroller
Texas Instruments MSP430 is a chosen microcontroller for this project,
specifically, MSP430P40 Flash Emulation Tool. It has six 8-bit I/O ports, internal 12bit
8-channel A/D converter and 60k programmable Flash, with serial communication
interface (USART). The controller also has a clock system which includes 32768 Hz
watch crystal oscillator, internal digitally controlled oscillator (DCO) and high frequency
crystal oscillator. Additionally there is an integrated LCD driver for displays up to 160
segments which is not needed but might be useful in the testing phase. Three 16 bit
timers with 7 capture and compare registers and the built in comparator will probably be
utilized to obtain information from the ultrasonic sensor(s). Part of the development kit
is a C-compiler limited to 2k of code. 60kB of memory is sufficient to store information
about the path taken (record x and y coordinates four times per second) and possibly store
a more detailed map which will be created if time allows.
MSP430 was also chosen because of its low cost; $50 for the FET Development
Kit which includes JTAG connector, crystal oscillator a two MSP430F449
Microprocessor ICs.
5.2.7. Sensors
Two types of sensors were chosen during the design. The first is ultrasonic sensor
and the second is infrared sensor. The ultrasonic sensor will be responsible for obstacle
avoidance and navigation. They send an out a sonar burst and an echo is returned to the
microcontoller carrying distance information. The echo pulse is traveling at the speed of
sound (~343m/s), and in order to allow long enough processing time it was decided to
trigger the ultrasonic sensors not more often than every 50ms (which is the sensor
maximum response time, in case no obstacle was detected). The ultra sonic sensor chosen
27
was DUR5200. DUR5200 was the one the team chose because it has digital output
which enables direct interaction with the I/O pins of the controller. The sensor has a
relatively low voltage supply of 5V and a range of 4cm-340 cm. Cost was also taken into
consideration and since the cost of these sensors was relatively low (~$30 each) and for
all the reasons above, the DUR5200 was chosen. One ultrasonic sensor will be placed on
top of a servomotor in the front (middle) part of the robot and will supply information
back to the microcontroller with respect to a safe path ahead of the robot. In case of
obstacle detection, the sensor will be turned 90 to obtain additional paths information
and the decision will be made by the microcontroller. Two additional ultrasonic sensors
will be mounted to the left and right sides on the robot and the information taken from the
two sensors will be utilized in stage two of the design, explained in the sections above
and allow a more detailed mapping of the area. This will shorten the decision making
time as for which path to take next.
Two infrared sensors will be mounted on the front (edges) of the robot to allow
immediate obstacle detection. The infrared sensors send a light wave and their range is
shorter than that of the ultrasonic, though more accurate. The range is up to 40cm. When
the IR sensors sense an obstacle, the robot will stop immediately and search for additional
paths. This is to allow a more accurate obstacle avoidance technique. The IR sensors
chosen are the Sharp GP2D12. These sensors are highly reliable and use the same
voltage supply as the ultrasonic ones, i.e. 5V. They are used in numerous autonomous
systems and are relatively cheap (~$12 each). During the testing stage, if necessary,
additional sensors will be mounted.
5.2.8. H-bridge
The H-bridge acts as a “switch” between microcontroller and the two D.C. motors. It
connects to the microcontroller per two pins. Depending on the polarity (high or low) of
the pins, forward or reverse motion of the motor can be accomplished and by modulating
the pulse width, different speed settings are possible. The H-bridge connects to the motor
per two other pins switching of which also accomplishes forward and reverse motion.
However, only software control is considered. The H-bridge also provides terminal for
12 Volt battery connection needed for the D.C. Motors.
28
5.3.Evaluation CriteriaConsidering mechanical aspect of the project, it can be easily measured whether the
performance specifications are met. The nominal speed can be calculated by recording
the time required to travel a known distance. The turning radius and ground clearance
can be measured with a tape measure. The robot’s run time can be easily measured with a
stopwatch during testing. The robot’s acceleration may be more difficult to accurately
measure, but it could be estimated by measuring the amount of time required to accelerate
to its nominal cruising speed from a stop. Because the acceleration is not of critical
importance, this estimate should be enough information for an evaluation of performance.
The electrical part is relatively straightforward as well. The microprocessor is
capable of generating a controlled pulse waveform, which will feed directly into the H-
bridge, which connects with two pins to the motors, additionally it provides power
connection for the D.C. Motors (12V). The sensor requires a trigger signal sent out from
the microcontroller as well as an “echo” pin, which will sense the rising edge of the
returned signal. It also connects directly to the microcontroller with possibility that a low
voltage regulator might be needed considering that the microcontroller voltage is max
3.9V and the level of the signal coming from the sensor is 5V. The MIMNS is outputting
six analog waveforms that feed into the internal 12bit 8-channel A/D converter.
Programming microcontroller and implementing the navigation algorithm will be the
most challenging part of the project.
29
6. Analysis
After considering all the objective and performance specifications several issues came
up which needed to be resolved before a system could be proposed which would be able
to meet all of the specification previously discussed.
This section discusses these issues and proposed solutions. At the end a system
schematic is presented as well as navigation flowchart which will be implemented in
phase 1 (the required phase) of the project.
6.1.Problem Statementa) Problem 1: What is the required angular velocity of the wheels?
To attain the desired nominal cruising speed of the robot the wheels must turn at a
specific angular velocity.
b) Problem 2: What is the required gear ratio between the motor and wheels?
Because the motor output speed is relatively fixed at a known value and the
wheels are required to turn at the specific angular velocity calculated in Problem 1
a gear ratio may be required to obtain the desired wheel speed.
c) Problem 3: What is the minimum required torque output from each motor?
The motors must be capable of supplying enough torque to accelerate the vehicle
at the desired rate of acceleration. To ensure that the motors chosen will be
powerful enough the minimum torque required must be calculated.
d) Problem 4: What is the minimum required tensile strength of the drive belts?
To ensure that the drive belts will be capable of transferring the required torque
without failing the maximum tension that the belts will see must be determined.
e) Problem 5: Robot position needs to be recorded.
30
In order for the unit to create a map, it needs to be aware of its position and
direction. Considering that the unit will cover non-GPS areas, autonomous means
need to be found.
f) Problem 6: Robot needs to be aware of its surrounding.
In order for the unit to successfully avoid obstacles or make decisions which is the
proper path to take, it needs to be able to “see” its surroundings and analyze the
data taken. The sensor response time should be fast enough for the given speed of
the robot to pass information about obstacles. The readings should be reliable as
far as obstacle detection, and obstacle identifications regardless of their size. The
sensors should also not interfere with each other’s operation. They need to be
placed on the robot in such a way to cover up to 180 degrees vision range.
g) Problem 7: Robot needs to have full control of its motion/direction/turning.
The robot should have capability to move without external, remote control. The
commands of the motion direction will be passed by the microcontroller and the
robot should have means to convert that electrical information into mechanical
motion. The motion/turning should be precise and if possible the unit should be
able to move at different speeds.
h) Problem 8: Robot needs to store the complete path taken.
The robot should be able to maintain information about the path taken, possibly a
map of its surrounding as well. This data should be in binary form, easily passed
to the PC which will use it to create a visual map which represents the path/map
of the area covered by the unit. At this accuracy is not major issue, but rather
capability of the unit to utilize that data in its decision making process.
31
6.1.1. Known Information
a) Problem 1: What is the required angular velocity of the wheels?
The desired nominal speed of the robot is 1.8 m/s (5.9 ft/s).
The wheel radius is approximately 57 mm (2.25 in).
b) Problem 2: What is the required gear ratio between the motor and wheels?
The output speed of the motor is approximately 420 rpm.
The desired wheel speed is 300 rpm.
c) Problem 3: What is the minimum required torque output from each motor?
The gear ratio between the motor and the wheels is approximately 1.4:1.
The desired acceleration of the robot is 1.8 m/s2 (5.9 ft/s2).
Assume the total mass of the robot is approximately 5 kg (11 lb)
d) Problem 4: What is the minimum required tensile strength of the drive belts?
The pitch radius of the motor pulley is 7.77 mm (0.306 in).
The torque on each motor pulley is approximately 91.8 N*mm (13 oz*in)
e) Problem 5: Robot position needs to be recorded.
The MIMNS cube (Miniature Inertial Measurement Navigation System) passes
six analog waveforms containing acceleration information, to the
microcontroller’s internal, 8-channel ADC. An algorithm will be implemented to
process this data, i.e. integrate the acceleration twice and turn it into position. The
position will be recorded into the Flash memory. Microcontoller has interrupt
capability as well as several counters which can be used to trigger A/D conversion
at specific time intervals and pass the data into some register in the memory.
There should be enough memory to store information about the path.
f) Problem 6: Robot needs to be aware of its surrounding.
Sensors chosen for this project are the DUR5200, which are ultrasonic sensors
with a detection range of 4-340cm as well as Sharp GP2D12 Infrared sensors with
32
a detection range of up to 40cm. The IR sensors will be used for immediate
obstacle detection where the ultrasonic sensors will be used for navigation and
obstacle avoidance.
g) Problem 7: Robot needs to have full control of its motion/direction/turning.
H-bridge is used to interface between the microcontroller and the two D.C.
motors. It receives command from the microcontroller per two pins and
depending on the polarity of the pins, forward as well as reverse motion are
achieved. Additionally, by passing a pulse waveform with adjustable duty cycle
to the H-bridge, it is possible to achieve forward and reverse motion of the motor.
The H-bridge connects to the D.C.motor per two more pins (reversal of which can
also achieve forward/reverse motion) and provides terminal for the 12 Volt battery
needed by the D.C. motor. The H-bridge itself is requires about 4V power.
h) Problem 8: Robot needs to store the complete path taken.
The mircoprocessor has internal, 60kB of (programmable) Flash memory which
should be sufficient to store relatively detailed information about the path taken
by the robot assuming the unit.
6.1.2. Desired information
a) Problem 1: What is the required angular velocity of the wheels?
The angular velocity of the wheels required to obtain the desired robot speed must
be determined.
b) Problem 2: What is the required gear ratio between the motor and wheels?
The gear ratio between the motor and the wheels required to obtain the desired
wheel speed must be calculated.
c) Problem 3: What is the minimum required torque output from each motor?
The minimum torque required from each motor in able to accelerate the robot at
33
the desired rate of acceleration must be determined in order to select motors with
adequate power output.
d) Problem 4: What is the minimum required tensile strength of the drive belts?
The maximum tension found in each belt must be calculated to ensure that the
belts selected will not fail.
e) Problem 5: Robot position needs to be recorded.
A/D conversion of the MIMNS data needs to be tested. It is desired to find out
exactly how much time it will take for the processor to execute the algorithm
which will give the position information. Additionally, the accuracy of this
information, as well as what it affecting it (if anything) should be known.
f) Problem 6: Robot needs to be aware of its surrounding.
Sensors need to be thoroughly tested before they get integrated in the whole
system. Even though datasheet for the sensors contains information about the
range covered as well as microcontroller interfacing, this cannot necessarily be
trusted. It is necessary to find out exactly what range the robot can “see” as well
as what it takes to pass that information back to microcontroller. Once this
process is clear, it won’t be too difficult to decide on the exact placement of the
sensors on the unit and to integrate sensor information in the overall
navigation/decision making algorithm
g) Problem 7: Robot needs to have full control of its motion/direction/turning.
Operation of the H-bridge if fairly straight forward and the component is in phase
of testing right now. The forward and reverse motion has been tested by using lab
equipment, power supply and a function generator capable of supplying pulse
waveforms with different period, duty cycle etc.
h) Problem 8: Robot needs to store the complete path taken.
The information about the path covered needs to be written into memory (in order
34
to create a map) as well as read from it (in order to be utilized in decision making
process). It is necessary to investigate exactly how this can be done in the
microcontroller.
6.2.Action taken
6.2.1. Assumptions made
a) Assuming that the wheels are rolling without slipping the angular velocity
required to produce the desired robot nominal speed is easily calculated:
V = 1.8 m/s
ω
r = 57 mm
rpms
radm
sm
rV
rV
300
579.31057.0
8.1
b) Assuming that the motor output speed is fixed at 420 rpm the gear ratio required
to turn the wheels at 300 rpm can be determined:
35
r1 r2
ω2 ≈ 300 rpmω1 ≈ 420 rpm
Motor Pulley Wheel Pulley
4.1
7143.075
420300
1
2
1
2
2
1
2211
rr
rpmrpm
rr
rr
c) Assuming the robot has a mass of approximately 5 kg (11 lb) and that the desired
rate of acceleration is 1.8 m/s2 (5.9 ft/s2) the required torque output from each
motor can be calculated:
The tractive force required at the wheel/ground interface must first be found:
NFsmkgamF
9
8.1*5*2
The tractive force, FWheel, required at each wheel is equal to F/4 = 2.25 N. The
torque required at each wheel can then be determined:
TWheel = FWheel * r = 2.25 N * 57 mm
36
TWheel = 128.25 N*mm (18.16 oz*in)
The torque at each motor pulley can be calculated using the gear ratio between the
motor and the wheels:
)*97.12(*61.91
7143.0*)*25.128(*
inozmmNT
mmNrr
TT
yMotorPulle
yWheelPulle
yMotorPulleWheelyMotorPulle
Because each motor drives two motor pulleys the total torque required from each
motor is equal to twice TMotorPulley:
TMotor = 2 * TMotorPulley
TMotor = 183.22 N*mm (25.95 oz*in)
d) Assuming the pitch radius of the motor pulley is 7.77 mm (0.306 in) the tension in
each belt can be calculated using the known value of TMotorPulley:
)65.2(79.1177.7
*61.91
*
lbNFmm
mmNrT
F
rFT
Belt
yMotorPulle
yMotorPulleBelt
yMotorPulleBeltyMotorPulle
e) Position data should be sampled independent of what else is going on with the
controls (sensor information processing, H-bridge control etc.) Additionally, it
should not affect the controls of the system, avoiding obstacles being one of the
priorities. The position information will be stored in a byte per set of coordinate
points. That way, it will be possible to store more than 40 000 data points.
f) Three ultrasonic sensors and two IR sensors should make up the sensing part of
the controls. Main focus will be on the sensor which will be placed in the middle
of the unit, up front, mounted on the servo and have the capability of covering up
to 180 degrees range. In the first phase of the project only that sensor will be used
37
for obstacle avoidance. The IR sensors serve rather as “bumping” protection and
ensure that even in case ultrasonic sensors fail, the unit won’t bump into anything.
In the second phase of the project, two additional sensors will be added to the left
and right side of the robot to provide additional information and reduce the
turning radius (time) of the sensor on the servo.
g) The microcontroller will be able to generate a pulse waveform to drive the H-
Bridge with adjustable duty cycle so it can control the speed of the motor in
addition to the motion direction of the robot.
h) A learning curve will be necessary in order to get familiar with microcontroller’s
operations, its different features and to master programming.
6.2.2. Schematics and Data
38
6.2.3. Hardware Design Description
System schematic, in Appendix A, shows system schematic. The arrows
represent direction of the data flow. As can be seen in the diagram, microprocessor is
the main control unit and is “talking” to all other subsystems. It requires not more
than 3.9V power. Batteries (possibly two regular 1.5V AA) will be used to power it
up. Microcontroller has to cover three basic tasks: get position information from
MIMNS, get environment information from the sensors and pass motion command to
the H-bridge.
MIMNS Interfacing
- As mentioned earlier, MSP430F440, processor chosen for this project, has
internal 12 bits, 8-channel A/D converter with internal reference. Output
of the MIMNS cube (6 analog waveforms containing acceleration data)
feeds directly into the A/D port on the processor. A software interrupt will
39
I/O Ports Capture/Compare register
MSP430Processor Memory (Flash)
I/O Pins / PWM generator
TE RS TE RS TE RS
DC Motor 1 DC Motor 2
IR3220SH-Bridge MIMNS
IR IRIR3220SH-Bridge
8 Channel 12 bit ADC
00 – Fwd01 – Left10 – Right11 = Back
TriggerEcho
control ADC reading frequency, so that A/D converter can be read
periodically, regardless what else is going on in the system. No
information is send from the processor to the MIMNS. The time it takes
the processor to obtain accurate position information from the data passed
to it by MIMNS, might be a limitation on the speed of operation.
The data from the A/D converter as well as coordinate points will be
stored in the memory. The processor has 60kB internal Flash memory
which is also used as the program memory. This should be enough for
initial testing of the unit and controls system. Depending on the desired
accuracy of the map (more data points or even more bytes allocated per
data point) this amount of memory might not be sufficient.
Sensor Interfacing
- The ultrasonic sensor chosen for this project requires 5V and ground
connection to operate. It is controlled by the microcontroller per two pins
(TE – transmit enable and RS-receive signal). After the controller sends
out a 10u sec (t1, see diagram below) trigger signal, the sensor turns on,
sends out the 40kHz, ultrasonic burst (generated on the sensor board) and
than pass the echo pulse back to the controller. This information is than
processed into distance measurement between the robot and the obstacles,
which is used by software to make decision which way the robot should
go. The formula used to determine distance to the object (in m) is:
2)2/((sec))(tan mvtdmceDis
Td is the time delay between triggering the ultrasonic burst and sensing
high on the echo pin.
40
Diagram 1: Basic Sensor Operation Timing Diagram (Obtained from DUR5200 datasheet.)
The solution to measuring the exact time delay is to use one of the timers
with input capture register whose function can record the time at which an
external even takes place and latch the content of the timer register at that
time. This value can then be used to obtain time delay. A generic I/O pin
can be used to set the trigger.
Considering that the sensor operates of 5V and the signal it’s sending to
the microcontroller will most likely be at that level (still needs to be
confirmed), it might be necessary to add a series resistance to prevent latch
up or excess input current.
H – bridge interfacing
- H-bridge is also controlled per two pins by the microcontroller. It takes
commands from it (high and low) and does not pass anything back. It will
share the same battery set with the D.C. Motors, however requires only
5V. Therefore a low voltage controller LM7815 will be used to generate
the required voltage from the 12V battery required for the D.C. Motor.
The operation of the H-bridge is shown below.
41
Diagram #2: H-bridge
The values in the truth table represent the logic levels at the
microcontroller pins. Initially, the idea was to use general I/O pins from
the micro to control the H-bridge, but after some basic testing, the team
realized that the speed of the motor can be controlled easily by varying the
duty cycle of the pulse wave feeding into one of the pins. This caused us
to reconsider the approach and use a Timer port to generate pulse
waveform, write up a function which will modify the duty cycle under
given conditions (no obstacle-go faster, obstacle-go slower) and vary the
polarity of the second pin, depending whether forward or reverse motion is
required.
Testing phase will include the maximum current on the I/O pins in active
mode and confirm that it is enough to drive the H-bridge. In case the H-
bridge requires ore current than that, a transistor with current gain
(“Darlington Sink Driver”, ULN2803AP) will have to be added between
micro pin and the H-bridge.
6.2.4. Software Design Description
Software development is divided into four major stages. The scope of this project
requires only completion of the first two stages, the other two have been made
optional.
Stage 1.
42
Study microcontroller operation and its features. Become familiar with the
simulator used in the development kit. Test the microcontroller using LED’s,
oscilloscope, voltage/current meters. Test ADC. Understand how memory is
written to and how information is retrieved from it. Test algorithm for converting
MIMNS data into position information and storing it in the memory.
Stage 2.
Implement obstacle avoidance method explained in the Flowchart 1. below. The
unit should be able to move around without crashing into anything, collect
information about the path it has taken and store it in the memory.
Stage 3.
Give unit additional intelligence by implementing a more complex algorithm (not
discussed in this report), which will allow the unit to use position information to
orient itself and make decision for the next move. It will not “aimlessly” drive
around, but rather “be aware” of its coordinates at any given time, therefore, be
able to make a better judgment which area is still “unknown” and which part of it
has already been covered.
Stage 4.
In case the three initial stages are completed in time, the attempt will be made to
implement a slightly different algorithm which will ensure that the robot has
covered the entire area before returning to the initial point. Navigation method
which will make this possible is still under investigation by team members.
7. Proposed Work/Schedule
7.1.Milestones Week 3: Unit fully assembled and mobile, with motion control by the
microcontroller
Week 5: Unit capable of avoiding obstacles
Week 6: Unit capable of navigating its way around the loop on the second
floor of engineering building
43
Week 9(optional): Autonomous unit capable of navigating entire floor of
engineering (or any other) building
7.2.Schedule
Week 1
Purchase all components if not done already Start putting the mechanical part of the unit together Research Microcontroller Operation and Programming Test H-bridge and D.C. motors Keep track and record of work done
Week 2
Proceed constructing mechanical part of the robot Research Microcontroller Operation and Programming Test ultrasonic sensors Test ADC Test D.C motor control trough the H-bridge by the microcontroller Keep track and record of work done
Week 3,4
Research Microcontroller Operation and Programming Finish up constructing of the mechanical part of the robot Test it Make estimates about the turning or slipping error Implement obstacle avoidance, collect path data Keep track and record of work done
Week 5
Test the unit Implement an algorithm which will utilize MIMNS data in decision
making process, make the robot smarter If needed, change sensor location or add additional sensors if found
necessary Keep track and record of work done
Week 6,7,8
OPTIONAL (Not in scope) Implement a more complex navigation algorithm which will ensure that
the robot covers entire second floor of the building Add additional features in the code which will allow faster sensor
response and more accurate readings of the position data If needed, change sensor location or add additional sensors if found
necessary Keep track and record of work done
Week 9,10 Start working on the final report Finish up testing and modifications to the robot
44
9 Fabrication and Assembly
9.1 Chassis
The chassis is constructed of a combination of off-the-shelve components as well as parts
that were custom made for this project. The custom parts were made at RIT’s machine
shop and off campus at Genesee Group/NY. Team members machined the parts made at
RIT with the assistance of Dave Hathaway and Steve Kosciol. While team members
machined the parts at Genesee Group/NY with the assistance of Steve Ost, Trevor Young
and Bill Bagne.
In the design stage, all custom parts were designed to be within the machining
capabilities of the team members, so as to eliminate the need for a costly outsourcing of
labor. The majority of the parts were made at RIT due to the availability of the materials
and tools that were used such as a mill, drill press, lathe, or a combination of these.
45
Tolerances of +/- .005 inches were easily met and requirements for flatness, parallelism,
and perpendicularity were achieved with good machining practices. The RIT machine
shop was used to make the drive shafts (2), the wheel shafts (4), the drive shaft brackets
(2), the wheel shaft brackets (4), the sensor fixture (1), the MIMNS brackets (2), and the
removable electronics base (1).
However, the team members also had contacts with local industries from previous
co-op experience that were willing to lend their facilities to our project. We used the
facilities at Genesee Group/NY for the chassis (1), motor brackets (2), and servo bracket
(1) that would have otherwise taken longer to machine at RIT with a mill. Specifically,
their laser resonator and bending machine enabled less time consuming machining than if
it had been machined at RIT, allowing us to focus our time on other aspects of the
project. The facilities at Genesee Group/NY were used to make the chassis (1), servo
fixture (1) and the motor brackets (2).
10 Testing
As expected, some unforeseen obstacles arose during the actual assembly and
testing of the robot. The Texas Instruments MSP430 microcontroller was more
complicated than originally anticipated. The MSP430 manual was not clear in many cases
and with no extensive prior experience with microcontrollers, the learning curve was
longer than originally anticipated. Several contradictions were found in the manual as
well. When understanding the complexity of the MSP430, it was decided to add a second
microcontroller to the design (DIOS), and divide the purposes of the two controllers as
following. MSP430 was programmed to control the obstacle avoidance and navigation
aspects of the project, thus controlling the ultrasonic sensor, infrared sensors, H-Bridges,
and DC motors. The DIOS microcontroller was programmed to control the data gathered
from the MIMNS and process it.
46
Figure 1: Miniature Inertial Measurement Navigation System
The DIOS microcontroller would take acceleration readings from the MIMNS,
convert the data to displacement calculations, write the results to memory, and later recall
these calculations and transmit them to a PC. The DIOS microcontroller was chosen
based on its ADC capabilities and the fact that it could easily read the recorded data
stored on the EEPROM chip and transmit this to a PC. The DIOS was cheap and user-
friendly, but had limited processing power as a result. It would not have the capabilities to
perform the obstacle avoidance duties of the MSP430 as well as its data acquisition
duties. Using both microcontrollers enabled the team to work in parallel on the different
tasks which resulted in a more efficient work schedule.
One unexpected problem was the limited amount of timers available on the
MSP430. Timers are necessary to control the program flow, the H-bridges, one for the
ultrasonic sensor, and one for the servo motor. But since there were only three timers
available on the MSP430, we had to devise a method where the function of one timer
could be changed to switch between the ultrasonic sensor and the servo motor. The timer
is set up to take an ultrasonic measurement, then set up to turn the servo to the desired
position to get an ultrasonic reading from, and then reverted to get a ultrasonic
measurement reading. The speed of this process was more than sufficient to ensure
effective obstacle avoidance at the final speed of the robot.
47
During the development stage, the original ultrasonic sensor was damaged beyond
repair in a head-on collision with a wall that came out of nowhere. A slightly more
expensive ultrasonic sensor was used to replace it (Devantech SRF04); based on better
range and durability. However, incorporating the different ultrasonic sensor required
some revisions to the code that cost more time.
Conclusion and Recommendation
While we remain confident that the TI MSP430 could perform all the required
functions of both microcontrollers, we simply could not do so within our time constraints.
If at all possible, we would have chosen a microcontroller that was more user-friendly but
still had all the capabilities of the MSP430. A microcontroller with the same processing
power, but with more timers would be ideal.
For more time and money, we could have invested in a three ultrasonic sensor
system for the front of the robot to achieve the same range as the sensor/servo method.
This would have been slightly faster than the sensor/servo method and would have
consumed less power, but the control and timer handling software would have had to e
rewritten. However, since power concerns were addressed with our more than capable
power supply, this was never a problem. Still, it would be a faster method and consume
less energy if an attempt to scale down the size and weight of the project was made,
allowing the use of smaller batteries.
A set of motor encoders would have been useful, but were not worth the money
(about $80 per motor). They would have been helpful in evaluating the accuracy of the
MIMNS cube by having an alternate measurement of velocity or displacement. A cheaper
encoder system could have been made by hand, but time was more valuable in this project
than money, and was not essential to the success of this project.
Lastly, but most importantly, we considered retrofitting the MIMNS with more
sensitive accelerometers. The MIMNS was designed to be used in applications having
accelerations of up to 10G’s. Meanwhile, our robot rarely experienced accelerations over
2G’s. Thus, a large portion of the accelerometers’ range was never used while
measurements in the most critical range were not as accurate as could have been possible,
had more sensitive accelerometers been used. These inaccuracies lead to inaccuracies in
the path recorded by the robot. While the true shape of the path was always retained, its
48
scale typically had a margin of error of about +/- 2 m. This is why the path recorded
sometimes shows the robot traveling somewhere where a wall actually exists. More
sensitive accelerometers would eliminate this path “drift” and provide the most accurate
path.
Figure 2: “MIMNSY”
Figure 3: Generated map from the collected data points from MIMNS
49
-5
0
5
10
15
20
25
30
35
40
45
50
-45 -40 -35 -30 -25 -20 -15 -10 -5 0 5 10
X Displacement (m)
Y D
ispl
acem
ent (
m)
Recorded Path
Actual Hallway
8. Appendix A
System Flow Chart
CheckBubble
CheckEnvironment
Find bestdirection
Adjust robot toface bestdirection
Move forward
Begin returnsequence and look
for new paths
Continue movingNo
obstacle
Obstacletoo close
Nopath
1 or moregood
directions Newpath
50
Bill of Materials
Item
DateOrdered Description Vendor
Quantity Unit Price Line Price
1 1/20/2004 TI MSP-FET430P440EVM 9576KIT Tesax Instruments 1 $49.50 $54.97
2 1/27/2004 Dr. Robot Ultrasonic sensor Dr. Robot 1 $29.63 $39.51
3 2/6/2004 5A-H-Bridge up to 40V New Micros 2 $29.95 $74.90
4 1/30/2004GM 9400 Series DC Brush
Gearmotor, 11.5:1 ratio, 61 oz incontinuous torque, 12 V
Click Automation 2 $97.59 $208.83
5 2/12/2004 "Embedded Systems DesignUsing the TI MSP430 Series" Amazon 1 34.99 $38.98
6 2/12/2004 Voltage Regulator Iguana Labs 2 $2.50 $5.00
7 3/29/2004 Infrared Sensor Mark III Robot Store 5 $12.50 $69.45
8 2/27/2004 Max-M-Drive Timing Pulley 36Tooth W.M.Berg 4 $11.78 $47.13
9 2/27/2004 Max-M-Drive Timing Pulley 24Tooth W.M.Berg 4 $10.23 $40.94
10 2/27/2004 Timing Belt 200 Tooth W.M.Berg 2 $8.10 $16.19
11 2/27/2004 Timing Belt 150 Tooth W.M.Berg 2 $7.24 $14.47
12 2/27/2004 Solid Sleeve Coupling 1/4" ID W.M.Berg 2 $6.81 $23.56
13 2/27/2004 S4-90 Ground Precision Shaft W.M.Berg 5 $4.15 $30.70
14 2/27/2004 Flanged Ball Bearing McMaster-Carr 12 $6.19 $74.28
15 2/27/2004 E-Clip for 1/4" Shaft Diameter McMaster-Carr 1 $9.76 $13.51
16 2/27/2004 Hitec H5-5625 MG Servo MetalGear S/JR/Z Tower Hobbies 1 $49.99 $49.99
17 2/27/2004 Kyosho 10-Spoke Wheel GunMetal MP-7.5 Tower Hobbies 2 $12.49 $24.98
18 2/27/2004 Kyosho Micro Square 1/8 Hard HiTraction Tower Hobbies 2 $25.99 $51.98
19 2/27/2004 Kyosho Wheel Hub MP-7.5 Set Tower Hobbies 1 $14.49 $14.49
20 2/27/2004 Kyosho Inner Foam Hi-HeightMP-6 Tower Hobbies 1 $19.99 $19.99
21 2/27/2004 Kyosho Wheel Nut MP-7.5 Set Tower Hobbies 1 $7.29 $11.28 22 2/27/2004 5-PC-Screwdriver Set Hobbytron 1 $1.95 $7.45 23 2/27/2004 IC REG 1A Digi-Key 4 $0.57 $7.28
24 2/27/2004 Aluminum 6061 T6 BareRectangle (1.5"x2"x24") OnlineMetals 1 $32.18 $32.18
25 2/27/2004 Aluminum 6061 T6 Bare Tube(0.375"x0.065"x0.245"x12") OnlineMetals 1 $2.30 $2.30
26 2/27/2004 Aluminum 6061 T6 Bare Sheet(0.08"x12"x12") OnlineMetals 1 $6.97 $19.01
27 2/27/2004 Breadboard wire Action-Electronics 1 $7.99 $15.25
51
28 3/16/2004 Max-M-Drive Timing Pulley 24Tooth W.M.Berg 2 $10.23 $20.47
29 3/16/2004 Timing Belt 80 tooth W.M.Berg 1 $7.15 $7.15 30 3/16/2004 Hitec C6-340 Field Charger Tower Hobbies 1 $39.99 $52.98
31 3/16/2004 Sanyo 4000mAh Ni-MH 413Amotor pack 12V (10 cells), 2 rows Batteries America 2 $75.00 $166.50
32 3/29/2004 5A-H-Bridge up to 40V New Micros 1 $29.50 $38.95 33 3/29/2004 IC Arrow Electronics 10 $0.08 $12.77 34 3/29/2004 3.6V Battery Radio Shack 1 $12.50 $23.21 35 4/26/2004 Ultrasonic Sensor Devantech 3 $34.50 124.5536 4/28/2004 Dios Starter Kit Kronos Robotics 1 $40.25 $40.25 37 4/28/2004 Assorted Materials Mouser Electronics $17.53 $17.53
Total Cost $1,512.95
52
Agreed:
By: Stephen Byrne Date: (Design Team Member)
By: Andrew Fishbaugh Date: (Design Team Member)
By: Ian Kunsch Date: (Design Team Member)
By: Michael Oswald Date: (Design Team Member)
By: Aneta Rozwadowska Date: (Design Team Member)
By: Antonija Soldo Date: (Design Team Leader)
By: Vered Talmor Date: (Design Team Member)
By: Agamemnon Crassidis Date: (Customer Representative)
By: Agamemnon Crassidis Date: (Faculty Mentor)
53