functional specifications - university of...

60
University of Portland School of Engineering Phone 503 943 7314 5000 N. Willamette Blvd. Fax 503 943 7316 Portland, OR 97203-5798 Functional Specifications Project Alder: MapBot Contributors: CJ Cullen Ryan Pila Ningxuan Wang Approvals Name Date Name Date Dr. Crenshaw Dr. Nuxoll Mr. Favors Mr. Foran Insert checkmark () next to name when approved. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Upload: dobao

Post on 17-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

University of Portland School of Engineering Phone 503 943 73145000 N. Willamette Blvd. Fax 503 943 7316Portland, OR 97203-5798

Functional Specifications

Project Alder: MapBot

Contributors:

CJ Cullen

Ryan Pila

Ningxuan Wang

ApprovalsName Date Name Date

Dr. Crenshaw Dr. NuxollMr. Favors Mr. Foran

Insert checkmark (√) next to name when approved.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 2: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE IIPROJECT ALDER

Revision HistoryRev. Date Author Reason for Changes

0.5 09/23/09 all Initial draft0.9 09/28/09 all First full draft:

Completed first edit cycle.Added Ethical ConsiderationsAdded MilestonesAdded Conclusion

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 3: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Table of ContentsOverview ...............................................................................................................9

Environmental Specifications ............................................................................10

General Setting ........................................................................................................................ 10

Room Shape ........................................................................................................................... 10

Floor Surface ........................................................................................................................... 10

No Slope ................................................................................................................................. 10

No Stairs .................................................................................................................................. 10

Empty Room ............................................................................................................................ 10

Programming Platform .......................................................................................11

iRobot model ........................................................................................................................... 11

iRobot hardware interface .........................................................................................................11

PC specification ....................................................................................................................... 11

Hardware Driver ....................................................................................................................... 11

Software Specifications .....................................................................................11

Graphics API ........................................................................................................................... 12

Development Environment .......................................................................................................12

Open Interface ......................................................................................................................... 12

Intelligent System Architecture ..................................................................................................12

Challenge of Precision .......................................................................................14

Overview of System Architecture ......................................................................14

Component Details .............................................................................................16

iRobot Create ........................................................................................................................... 16

Sensors ................................................................................................................................... 16

Actuators ................................................................................................................................. 17

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 4: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Create Interface ....................................................................................................................... 17

Environment Modeler ...............................................................................................................17

Decision Machine ..................................................................................................................... 17

Actuator Modeler ...................................................................................................................... 18

Create Precision Database .......................................................................................................18

Use Cases ...........................................................................................................18

Use Case 1: User Start Up and View ........................................................................................18

Use Case 2: Wall .................................................................................................................... 19

Use Case 3: Rectangular Room with or without n obstacles ......................................................19

Use Case 4: Non-Rectangular Room with or without n obstacles ...............................................20

General Approach ..............................................................................................21

Progress Tracking .................................................................................................................... 22

Personnel Assignment .............................................................................................................22

Assumptions ......................................................................................................22

Milestones ...........................................................................................................23

Functional Specifications 0.9 .....................................................................................................23

Functional Specifications 0.95 ...................................................................................................24

Functional Specifications 1.0 .....................................................................................................24

Program Review Presentation ..................................................................................................24

Measure Rotational Accuracy ...................................................................................................24

Interpret Sensor Packet ............................................................................................................24

Populate Create Precision Database .........................................................................................24

Design Document 0.9 ...............................................................................................................24

Design Document 0.95 .............................................................................................................24

Design Document 1.0 ...............................................................................................................25

Program Create Interface .........................................................................................................25

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 5: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Program Environment Modeler: Model ......................................................................................25

Program Environment Modeler: View ........................................................................................25

Program Environment Modeler: Controller .................................................................................25

Program Actuator Modeler ........................................................................................................25

Program Wall Sketcher .............................................................................................................25

Program Wall Guesser .............................................................................................................26

Program Decision Machine .......................................................................................................26

Final Documentation 0.9 ...........................................................................................................26

Final Documentation 0.95 .........................................................................................................26

Final Documentation 1.0 ...........................................................................................................26

Founder’s Day Presentation .....................................................................................................26

Risks ...................................................................................................................26

Resources ...........................................................................................................28

Personnel ................................................................................................................................ 28

Preliminary Budget ................................................................................................................... 28

Equipment ............................................................................................................................... 29

Facilities .................................................................................................................................. 29

Overview ...............................................................................................................9

Environmental Specifications ............................................................................10

General Setting ........................................................................................................................ 10

Room Shape ........................................................................................................................... 10

Floor Surface ........................................................................................................................... 10

No Slope ................................................................................................................................. 10

No Stairs .................................................................................................................................. 10

Empty Room ............................................................................................................................ 10

Programming Platform .......................................................................................11

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 6: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

iRobot model ........................................................................................................................... 11

iRobot hardware interface .........................................................................................................11

PC specification ....................................................................................................................... 11

Hardware Driver ....................................................................................................................... 11

Software Specifications .....................................................................................11

Graphics API ........................................................................................................................... 12

Development Environment .......................................................................................................12

Open Interface ......................................................................................................................... 12

Intelligent System Architecture ..................................................................................................12

Overview of System Architecture ......................................................................14

Component Details .............................................................................................16

iRobot Create ........................................................................................................................... 16

Sensors ................................................................................................................................... 16

Actuators ................................................................................................................................. 16

Create Interface ....................................................................................................................... 16

Environment Modeler ...............................................................................................................16

Decision Machine ..................................................................................................................... 17

Actuator Modeler ...................................................................................................................... 17

Create Accuracy Database .......................................................................................................17

Use Cases ...........................................................................................................17

Use Case 1: User Start Up and View ........................................................................................17

Use Case 2: Wall .................................................................................................................... 18

Use Case 3: Empty Rectangular Room ....................................................................................19

Use Case 4: Empty Non-Rectangular Room .............................................................................19

Use Case 5: Rectangular Room with n Obstacles .....................................................................20

Use Case 6: Non-Rectangular Room with n Obstacles ..............................................................21

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 7: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

General Approach ..............................................................................................22

Progress Tracking .................................................................................................................... 22

Personnel Assignment .............................................................................................................23

Assumptions ......................................................................................................23

Milestones ...........................................................................................................23

Risks ...................................................................................................................24

Resources ...........................................................................................................26

Personnel ................................................................................................................................ 26

Preliminary Budget ................................................................................................................... 26

Equipment ............................................................................................................................... 26

Facilities .................................................................................................................................. 26

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 8: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Summary1This document describes the requirements of Team Alder’s MapBot. MapBot is an autonomous, mobile, map-making robot. Built on the iRobot Create robotic platform, the MapBot software architecture incorporates intelligent guidance, extrapolative mapping, and visual plotting to efficiently and effectively map and display an accurate reproduction of the layout two-dimensional geometry of a room. The software is loaded executed on a microPC with a direct connection to the Create, but its progress can be tracked through a remote connection from with a desktop PC.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
issue 3
Andrew Nuxoll, 09/30/09,
executed from?
Andrew Nuxoll, 09/29/09,
geography? 2D geometry?
Page 9: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Background2There are many situations where an accurate blueprint of a space is necessary to maximize productivity. An office needs a correct floor plan to best utilize all possible space. A factory needs a map of its warehouse so that storage space is maximized. This can be done manually, but it makes more sense to have an efficient, automated means of generating these maps. Team Alder’s MapBot is a practical way to automate this process.

MapBot relies on two main technologies:

1. iRobot Create

Figure 1 depicts the iRobot Create mobile robot platform.

Figure 1. iRobot Create: The platform on which MapBot is built

iRobot Create is an educational version of the popular Roomba floor vacuuming robot. (iRobot Corporation Website)We interface with the Create using the Create Serial Control Interface (SCI). SCI is the set of instructions that can be given to the Create. It is discussed further in the Software Specifications.

2. Soar

As an optional feature, MapBot can use Soar to help navigate a room. Soar is a cognitive architecture that mimics the cognitive behavior of humans. The Soar

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
give an example or explain what this is.
Andrew Nuxoll, 09/29/09,
You should have a reference here to the company. Company web page perhaps?
Andrew Nuxoll, 09/29/09,
I’d love to see this figure labeled.
Page 10: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

decision machine is an optional part of our project. Soar allows thehas the potential to allow a robot to reason as more like a human would, making high level decisions based on recognized patterns. This approach allows the MapBot Decision Machine to more effectively make guidance decisions. It also adds an interesting investigation opportunity into the reasoning methods of humans. (Soar Website)

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
This paragraph has no topic sentence.
Andrew Nuxoll, 09/29/09,
I’d add a URL for the Soar page here.
Andrew Nuxoll, 09/29/09,
you haven’t defined this term yet. I’d leave it out.
Andrew Nuxoll, 09/30/09,
no such thing. architecture? What is a decision machine? Used before defined.
Page 11: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Requirements3This chapter discusses the requirements of MapBot.

Overview

This section provides an overview of MapBot.

This product uses an autonomous mobile robot to explore an indoor environment. A map-making program interfaced with the robot automatically generates and displays a map based on the robot’s perception within a specified amount of time. It can be used to determine the geographical feature of an area where human sensation is restricted. The user places the robot on the ground and runs the map-making program which prompts the user to specify time duration for the robot to run.

The four figures below demonstrate how the MapBot’s software translates bumps perceived by the physical MapBot into a map display. Consider that the MapBot is traversing the actual room shown in Figure 5.  What the MapBot perceives is a series of distances travelled and bumps experienced, as shown in Figure 2.  From that perception, the MapBot software creates a map sketch an a map approximation as shown in Figures 4 and 5.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Figure 2. Raw Perception Black dots indicate bumps and lines indicate path.

Figure 3. Map Sketch Thick lines indicate potential walls and thin lines indicate path.

Page 12: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 10/04/09,
Is that really what the draft would look like?See Issue #0 VERY SERIOUS!
Page 13: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

In Figure 2, the program displays a black dot when the robot reports a bump, and it displays lines and constantly updates them to keep track of the robot’s path. In Figure 3, the program displays thick lines to indicate potential walls based on the sequence of the black dots and their positions in Figure 2 as well as thin lines for the path. In Figure 4, the black area shows the program’s best approximation of the map, which gets constantly updated. The program only shows Figure 2, 3 and 4. Figure 5 is the actual map as a comparison to show that the program is subject to mistakes as in this case it misses part of the map.

This product uses an autonomous mobile robot to explore an indoor environment. A map-making program interfaced with the robot automatically generates and displays a map based on the robot’s perception within a specified amount of time. It can be used to determine the geographical feature of an area where human sensation is restricted. The user places the robot on the ground and runs the map-making program which prompts the user to specify time duration for the robot to run.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Figure 4. Map Approximation Black area shows an approximation of the map.

Figure 5. Actual Map The actual map as a comparison against the map approximation.

Page 14: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

The program displays three diagrams. The first diagram shows the robot’s raw perception which consists of points indicating the robot’s contacts with the walls as well as lines indicating the robot’s route. The second diagram shows a draft of the map which consists of lines indicating possible walls. The third diagram shows the program’s best approximation of the map.

Environmental Specifications

This section contains a list of the physical specifications and their required values.

Requirement Value

General Setting Office Setting Room Shape Rectilinear Floor Surface Carpet No Slope No Stairs Empty Room

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
Is that really what the draft would look like?See Issue #0 VERY SERIOUS!
Page 15: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Table 1. Environmental Specifications

General Setting

The general environment setting is an office setting in an indoor, room-temperature setting unaffected by outdoor weather.

Room Shape

The shape of the room must be a rectilinear room. This means any room with straight linear walls that only intersect with other walls at a 90 degree angle. A curved wall can potentially cause problems in sensor detection and map drawing algorithms.

Floor Surface

The project runs on carpet floors. This ensures that the robot’s speed stays at a constant rate and the values for measuring distances are not skewed.

No Slope

The floor must be level and without slopes. This will keep the values for measuring distances as accurate as possible.

No Stairs

Stairs must not present within the environment. The robot will not be able to create maps that span multiple floors of a building.

Empty Room

The room must be empty during the entire run time duration. Furniture, persons, or any other obstacles are not to be present in the room.

Environmental Specifications

Table 1. Environmental Specifications contains a list of the physical specifications and their required values.

Requirement Value

General Setting Office Setting Room Shape Rectilinear Floor Surface Carpet No Slope No Stairs Empty Room

Table 1. Environmental Specifications

Eliminate redundant phrases below (issue #1)

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 16: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

General Setting

The general environment setting that this project is required to work in is an office setting. This means the project is required to work in an indoor, room-temperature setting unaffected by outdoor weather.

Room Shape

The shape of the room that the project runs in is any rectilinear room. This means any room with straight linear walls that only intersect with other walls at a 90 degree angle. A curved wall can potentially cause problems in sensor detection and map drawing algorithms.

Floor Surface

A carpet floor is necessary for the project to run. This ensures that the robot runs at a constant rate and the values for measuring distances are not skewed.

No Slope

The project assumes that the floor is level and without slopes. This will keep the values for measuring distances as accurate as possible.

No Stairs

The project assumes that stairs are not present within the environment. During the map creation, drawings are done on the current floor only.

Empty Room

The project assumes that the room will be empty throughout its entire run time duration. Furniture, persons, or any other obstacles are not to be present in the room.

Programming Platform

This section contains a list of devices required to build the product. It uses an iRobot Create to perceive the environment and a Micro PC that sits on the Create to run the program; it connects them by using a RooStick which requires the Micro PC to run a CP2103 driver.

Requirement ValueiRobot Model iRobot CreateiRobot Hardware Interface RooStickPC Specification Sony Micro PCHardware Driver CP2103

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
How about: the robot will not be able to create maps that span multiple floors of a building.
Page 17: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Table 2. System Hardware Specifications

iRobot model

Consider the two figures below depicting the robot sensors, connectors, and chassis.

The iRobot Create Programmable Robot is a preassembled mobile robot platform. It allows users to program its movements and sounds. The Create consists of an omnidirectional infrared receiver, a cargo bay connecter, and an external MiniDin-6 connecter at the top (as shown in Figure 6),three wheels (caster, left and right), two bump sensors (left and right),three wheeldrop sensors (caster, left and right), and four cliff sensors (front left, front right, left and right) at the bottom (as shown in Figure 7).The robot uses a rechargeable alkaline battery pack, which can power the robot for up to 1.5 hours.

The iRobot Create Programmable Robot is a preassembled mobile robot platform. It allows users to program its movements and sounds. This robot consists of three wheels (caster, left and right), two bump sensors (left and right), three wheeldrop sensors (caster, left and right), an omnidirectional infrared receiver, four cliff sensors (front left, front right, left and right), a cargo bay connecter, and an external MiniDin-6 connecter.

iRobot hardware interface

The RooStick enables a computer to serially communicate with a iRobot Create through a USB port. Programs capable of issuing serial commands to a COM port can use the RooStick to control the robot. The RooStick consists of a MiniDIN-7 female connector to connect to the robot and a standard USB type A connector to connect to a computer.

PC specification

Sony VAIO VGN-UX180P 4.5-inch Ultraportable Micro PC, Intel Core Solo Processor U1400, 512 MB RAM, Microsoft Windows XP Professional service pack 3

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Cargo Bay Connector

MiniDin Connector

Omnidirectional IR Receiver Cliff Sensors

Wheels& Drop Sensors

Bump Sensors

Figure 6. Robot Top View The robot has a receiver and two connectors at the top.

Figure 7. Robot Bottom View The robot has 9 sensors and 3 wheels at the bottom.

Andrew Nuxoll, 09/30/09,
Add a sentence about the battery: that it runs on one, how long it lasts.
Andrew Nuxoll, 09/30/09,
three? or two?
Page 18: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Hardware Driver

The CP2103 Driver is a USB-to-UART Virtual COM Port driver.

Software Specifications

Requirement ValueGraphics API Windows GDIDevelopment Environment Visual Studio

2008 Open Interface iRobot SCIIntelligent System Architecture

Soar 9.2.0 Beta

Table 3. Software Specifications

Graphics API

The Microsoft Windows graphics device interface (GDI) is a class-based application programming interface in C/C++. It allows users to use graphics and formatted text on Windows-based applications. It can be used to draw lines and curves, adjust fonts and colors.

Development Environment

Visual Studio C++ 2008, Version 9.0.30729.1 SP

Open Interface

The iRobot Serial Command Interface (SCI) is a serial protocol that consists of a set of commands which allows users to control the robot and monitor its sensors through its external MiniDin connecter. Users can send commands to the robot to actuate its wheels and steering mechanism and to request its sensor data. Such commands are drive, song, sensors and so on. A command is a sequence of bytes in which the first byte indicates the type of the command and the rest of them are arguments that users can include specifications such as velocity, time duration and radius. Sensor data gets sent back in the form of sensor packets that contain data collected by the robot’s sensors such as the bump sensors. A sensor packet is a byte in which each bit corresponds to the state of a sensor.

Intelligent System Architecture

The Soar architecture is designed for developing systems that generate intelligent behaviors. It models human cognitive processes including understanding and anticipation. It uses an internal structure called working memory modeled after human short-term memory to build an agent’s knowledge about its environment. It employs a process called a decision cycle to produce actions in pursuit of goals. This cycle consists of four phases: 1) the agent receives information from the external environment, 2) it proposes possible actions, 3) it decides on one of them based on its knowledge provided by the

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 19: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

programmer, 4) it applies the chosen action to the environment. The current version is Soar 9.2.0 Beta (http://sitemaker.umich.edu/soar/soar_software_downloads). Soar contains a long-term, procedural memory of skills. It consists of sequences of procedures. It tells the agent how to do certain things without knowing when and where it got this memory. With procedural memory, the agent doesn’t need to know why it should follow the procedures to achieve the goal; instead, as long as the condition of the procedural memory matches, the agent will make a corresponding action spontaneously.

Open Interface

iRobot Serial Command Interface (SCI) is a serial protocol that consists of a set of commands which allows users to control the robot and monitor its sensors through its external MiniDin connecter. Users can send commands to the robot to control its actuators and to request its sensor packets. Such commands are drive, ledsLEDs, song, sensors and so on, in which users can include specification such as velocity, time duration and radius. There are four different sensor packets containing data collected by the robot’s sensors such as the bump sensors.

Intelligent System Architecture

Overall comment on this: You are introducing a lot of terms that your reader won’t know. Can you describe Soar without doing this? That would be much better. Describe Soar like you would describe it to a journalist.

The Soar architecture is a unified cognitive architecture for developing intelligent systems. It is designed specifically for generating intelligent behaviors such as reasoning, learning and planning. It uses a graph structure called working memory (modeled after human short-term memory) to build build knowledge of an agent’s knowledge about its environment. It employs a decision cycle to produce actions in pursuit of goals. In this cycle, the agent receives inputs from the external environment, proposes possible actions and decides on one of them based on rules provided by the programmer, and applies the chosen action as outputs. The current version is Soar 9.2.0 Beta (http://sitemaker.umich.edu/soar/soar_software_downloads). Procedural memory that Soar embeds contains a is a long-term, procedural memory of skills. It consists of procedures to achieve goals without reasoning. It generally works on a stimulus-response basis. Soar rules of the condition-action form are practices of procedural memory.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
?
Andrew Nuxoll, 09/30/09,
You are paraphrasing from the Soar tutorial, cite it!
Andrew Nuxoll, 09/29/09,
Does this need to be defined?
Andrew Nuxoll, 09/29/09,
You describe several components of the robot here for the first time. I wish this section were preceded by a brief overview of the parts of your robot. Labeling the photo of the robot would faciliate this admirably.
Page 20: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Ethical Considerations4MapBot is not seriously dangerous to humans directly. It could cause someone to trip, and it could startle someone, but these are minor issues., However,but there still is an ethical consideration: privacy. Even though the iRobot Create is not powerful enough to cause physical harm to a human, it can invade on a human’s privacy. If a user gains unauthorized access to private property, that user could run MapBot’s map-making system on that property. This violates the privacy of the rightful owner of the property. However, laws are in place to prevent unauthorized access to private property, and Team Alder trusts those laws to prevent gross misuse of MapBot’s functionality.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
Could a human trip over it? Could it frighten someone?
Page 21: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Preliminary Design5Challenge of Precision

One of the main challenges of doing this project is using third party hardware. We have to rely on the assumption that the robot will behave in the same manner every time a command is issued to it. In order for our mapping algorithms to be as accurate as possible, we need the robot to send us reliable data. This concern is applied to all Creates, including the backups. During the course of this project, we will refer to this challenge as the challenge of “precision”.

Overview of System Architecture

This section describes the preliminary overview of the system architecture for MapBot. As shown in Figure 8 and Figure 9, the MapBot system architecture consists of five software components and the iRobot Create platform.

Figure 8. MapBot System ArchitectureThis figure depicts the modules of the MapBot .

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
I love the gray circle for the robot.Issue: 2 (big time)
Page 22: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Figure 5. Environment Modeler Figure 9. Environment Modeler DetailThis figure shows the architecture of the Environment Modeler in more detail.

Architecture

In Figure 8, there are six components. They are:

1. Environment Modeler: Stores and updates a model of the physical environment.

2. Decision Machine: Makes guidance decisions based on environment model.

3. Actuator Model: Converts a high level decision into low-level instructions.

4. Create Interface: Provides an API for transfer of information between software and Create.

5. Create Precision Database: Contains conversion data about the precision of the Create.

6. iRobot Create: The physical robot that interacts with the environment.

In Figure 9, there are five components. They are: UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
Issue 4
Page 23: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

1. Environment Model: Contains all discovered information about the environment.

2. Environment View: Displays the Environment Model to the user.

3. Environment Controller: Modifies the Environment Model. Sends messages to other modules.

4. Wall Sketcher: Produces lines (walls) based on points (bumps).

5. Wall Guesser: Produces a set of lines (room) based on walls and bumps.

Figure 28 and Figure 93 above describe the flow of information through the components of the MapBot.

[1.] The Environment Controller sends its Current Environment Model to the Decision MacineMachine.

1.[2.] The Decision Machine processes the Current Environment Model, and generates High-level Guidance Command, which it sends to the Actuator Modeler.

2.[3.] The Actuator Modeler converts the High-level Guidance Command into Low-level Instructions and sends them to the Create Interface.

3.[4.] The Create Interface converts the Low-level Instructions into SCI Commands, and sends them to the iRobot Create. Simultaneously, the Create Interface starts a Timer.

4.[5.] The iRobot Create executes the SCI Commands until a Sensor is triggered. This causes the Create Interface to receive a Sensor Data Packet with pertinent information.

5.[6.] The Create Interface stops its timer, and prompts the Create Accuracy Database to convert from Time Data into Distance Data.

6.[7.] The Create Interface sends Last Path & Bump Data to the Environment Controller.

7.[8.] The Environment Controller updates the Environment Model, and repeats from step 1.

Component Details

This section describes each of the above components in detail.

iRobot Create

The iRobot Create is as described in the Programming Platforms section. Team Alder will not be modifying this component.

Sensors

The iRobot Create has three Sensors that Team Alder is interested in:

1. Bump SensorUNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
Issue 5
Page 24: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

The Bump Sensor consists of two separate sensors that detect when the Ccreate has encountered bumped into a physical obstacle. This is the main sensor used by MapBot because it detects walls.

2. Cliff Sensors

The Cliff Sensors detect when the Create is partially over a ledge. This is an optional addition, but is useful to prevent MapBot from falling down stairs.

3. Heading Sensor

The Heading Sensor is an additional external component that allows accurate heading direction data to be determined. This is an optional addition, but is useful to ensure accuracy of heading data. If this component is not used, heading data will be determined by the rotation of the Create.

Actuators

The Create has two types of movements that it can make. It can drive (forward or backward), and it can rotate in place. The actuators are the means by which the Create moves.registers that are modified in order to make the Create move.

Create Interface

The Create Interface communicates sends SCI commands to with the Create, and receives sensor data packets from it. It is meant to provide a convenient abstraction of the physical robot. It allows necessary information and functionality to be accessed easily. Instead of sending commands directly to the Create, the other software modules interact with the Create Interface. The Create Interface translates the instructions from the Actuator Modeler into SCI commands and sends these to the Create. The Create Interface also translates the sensor data packets it receives into messages relevant to the Environment Modeler..

Environment Modeler

The Environment Modeler is in charge of convertingconverts the bump data into a set of points on the a Cartesian plane. It is based on the Model-View-Controller architecture. The specialized pieces of the Environment Modeler are the Wall Sketcher and Wall Guesser. The Wall Sketcher infers that two nearby bump-points must be a wall, so it adds a “sketch” of this wall to the Environment Model. The Wall Guesser continuously examines the Environment Model and adds its “guess” of a set of walls to the Environment Model.

Decision Machine

There are several stages/possibilitiesthree alternatives for the Decision Machine:

1. Random Decision Machine

The movement directions to the iRobot Actuator Modeler would be generated randomly. An implementation of MapBotn iRobot that randomly picks a direction and moves until it reaches an obstacle is a simple but effective way of generating the necessary data.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
don’t do this! --tlcreplace with “there are three alternatives”
Andrew Nuxoll, 09/30/09,
This term needs to be defined somewhere. Citation? Glossary?
Andrew Nuxoll, 09/29/09,
I think you should provide more detail. This is too vague.
Andrew Nuxoll, 09/30/09,
issue 13
Andrew Nuxoll, 09/29/09,
is this rotation in place?
Andrew Nuxoll, 09/30/09,
issue 7
Andrew Nuxoll, 09/29/09,
describe where heading data will come from if you didn’t have this sensor.
Andrew Nuxoll, 09/30/09,
issue 1
Page 25: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

2. Simple Heuristic Decision Machine

The movement directions to the iRobot Actuator Modeler would be generated according to a simple set of heuristics. Though more difficult than the Random Decision Machine, the Simple Heuristic Decision Machine should generate data more efficiently.

3. Soar Decision Machine

The movement directions to the iRobot Create would be generated by the Soar cognitive architecture. The iRobotMapBot more efficiently produces the necessary data according to recognized patterns. would learn a very efficient way to produce necessary datacha.

Actuator Modeler

The Actuator Modeler receives a High-level Guidance Command from the Decision Machine. It breaks this down into individual stepspieces, and sends it to the Create Interface as Low-level Instructions.

Create Accuracy Precision Database

The Create Accuracy Precision Database is a small database consisting of measured data about the Create’s speed and rotational accuracy. This is used by the Create Interface so that distance and ultimately location can be determined.

Use Cases

This section describes possible use cases for MapBot.

Use Case 1: User Start Up and View

Goal in context: View a map of room using the Create.

Preconditions: The Create and PC remote desktop are on and ready to perform task. The Create is placed in the room that is to be mapped.

Scenario:1. The user runs the project executable.2. Three windows pop up on the desktop:

Window A: displays the path the Create takesWindow B: displays wall sketches, Window C: displays wall guesses.

3. Line segment drawings appear displaying the path the Create takes periodically in Window A

4. When a wall is hit, a point is drawn in Window A.5. Repeat Steps 3 and 4 as Create runs in a new direction.6. When several points are collected displaying a possible wall, Window B will

display a rough sketch of where the walls are.7. Window C displays the final version of the map, making the final guess of how

the room will look like.8. An alert will tell the user that the Create is done.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
This is imprecise. How about “it parses the components of this command into constituent low-level instructions?Is it worthwhile to say what the heck a guidance command looks like? It is a string? An integer array?
Andrew Nuxoll, 09/30/09,
How will Soar do this?
Andrew Nuxoll, 09/29/09,
Cool!
Page 26: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Exceptions:1. No wall exists.2. Map fails to display correctly because connection between Create and PC

remote desktop is not well established.

Priority: Essential, must be implemented.

When available: First release.

Frequency of use: Always.

Use Case 2: Wall

Goal in context: Measure and map the length of a wall.

Preconditions: The Create and PC remote desktop are on and ready to perform task.

Scenario:1. The user runs the project executable.2. Three windows pop up on the desktop:

Window A: displays the path the Create takesWindow B: displays wall sketches, Window C: displays wall guesses.

3. The Create travels forward.4. Line segment drawings appear displaying the path the Create takes periodically

in Window A5. The Create bumper sensor hits the wall and a point is drawn in Window A.6. Create moves in new direction until the wall is hit again and a point is drawn in

Window A.7. Window B starts displaying short line segments representing wall approximations.8. Window C starts to display lines that are the program’s best wall placement.9. Repeat steps 6 through 8 as Create continues to map room.10. An alert will tell the user that the Create is done.

Exceptions:a. No wall exists.b. Map fails to display correctly because connection between Create and PC

remote desktop is not well established.

Priority: Essential, must be implemented.

When available: First release.

Frequency of use: Always.

Use Case 3: Rectangular Room with or without n obstacles

Goal in context: Navigate and map a rectangular room.

Preconditions: Room is rectangular. The Create and PC remote desktop are on and ready to perform task. The Create is set on the ground in the room.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 27: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Scenario:1. The user runs the project executable.2. Three windows pop up on the desktop:

Window A: displays the path the Create takesWindow B: displays wall sketches, Window C: displays wall guesses.

3. The Create travels forward.4. Line segment drawings appear displaying the path the Create takes periodically

in Window A5. The Create bumper sensor hits a wall and a point is drawn in Window A.6. Create moves in new direction until wall is hit again and a point is drawn in Window A.7. Window B starts displaying short line segments representing wall approximations.8. Window C starts to display lines that are the program’s best guess layout on how the room will look like.9. The program will treat obstacles as a group of smaller walls if obstacles are present in the room.10. Repeat steps 6 through 9 as Create continues to map room.11. An alert will tell the user that the Create is done.

Exceptions:1. Map fails to display correctly because connection between Create and PC

remote desktop is not well established.2. In the case that there are obstacles, Environment Modeler misinterprets data

points to be walls or obstacles when they are not.

Priority: Essential, must be implemented.

When available: First release without obstacles, second release with obstacles

Frequency of use: Always.Use Case 4: Non-Rectangular Room with or without n obstacles

Goal in context: Navigate and map a non-rectangular room.

Preconditions: Room is empty. The Create and PC remote desktop are on and ready to perform task. The Create is set on the ground in the room.

Scenario:1. The user runs the project executable.2. The project will perform very similarly as the scenario described in Use Case 3

with the exception that non-rectilinear walls may be drawn. 3. An alert will tell the user that the Create is done.

Exceptions:1. Map fails to display correctly because connection between Create and PC

remote desktop is not well established.2. Environment Modeler misinterprets data points of a curved wall.3. In the case that there are obstacles, Environment Modeler misinterprets data

points to be walls or obstacles when they are not

Priority: Not essential.

When available: Second release or later.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 28: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Frequency of use: Seldom.

Use Cases

Use Case 1: User Start Up and View

Goal in context: View a map of room using the Create.

Preconditions: The Create and PC remote desktop are on and ready to perform this task. The Create is placed in the room that is to be mapped.

Scenario:[1.] The user runs the project executable.[2.] Three windows pop up appear on the desktop:

Window A: displays the path the Create takesWindow B: displays wall sketches, Window C: displays wall guesses.

[3.] Line segment drawings appear displaying the path the Create takes periodically in Window A

[4.] When a wall is hit, a point is drawn in Window A.[5.] Repeat Steps 3 and 4 as Create runs in a new direction.[6.] When several points are collected displaying a possible wall, Window B will

display a rough sketch of where the walls are.[7.] Window C displays the final version of the map, making the final guess of how

the room will look like.[8.] An alert will tell the user that the Create is done.

Exceptions:[1.] No wall exists.[2.] Map fails to display correctly because connection between Create and PC

remote desktop is not well established.

Priority: Essential, must be implemented.

When available: First release.

Frequency of use: Always.

Use Case 2: Wall

Goal in context: Measure and map the length of a wall.

Preconditions: The Create and PC remote desktop are on and ready to perform task.

Scenario:1. The Create travels forward.2. The Create bumper sensor hits the wall.[3.] The Create interface calculates the position of the hit in coordinates, with help

from the Create Accuracy Database.[4.] Environment Modeler records the coordinates of the hit.[5.] Environment Modeler relays information to the Decision Machine.[6.] Decision Machine decides on new direction Create should move.[7.] Decision Machine sends direction information to Actuator Modeler.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
Whoa. Gotta fix the indents in this use case
Andrew Nuxoll, 09/30/09,
Issue 10
Page 29: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

[8.] Actuator Modeler interprets direction information into low levellow-level instructions.

[9.] Create Interface sends open interface commands to Create wheels.[10.] Create moves in new direction until wall is hit again.[11.] Environment Modeler receives new hit information, interprets the information,

and calculates layout of wall given data inputs.[12.] Environment Modeler shows image of wall on a PC remote desktop using the

Environment View.

Exceptions:[a.] No wall exists.[b.] Map fails to display correctly because connection between Create and PC

remote desktop is not well established.

Priority: Essential, must be implemented.

When available: First release.

Frequency of use: Always.

Use Case 3: Empty Rectangular Room

Goal in context: Navigate and map an empty rectangular room.

Preconditions: Room is empty and rectangular. The Create and PC remote desktop are on and ready to perform task. The Create is set on the ground in the corner of the room.

Scenario:[1.] The Create’s bumper hits a wall.[2.] Environment Modeler records the coordinates of the hit.[3.] Decision machine decides on new direction Create should move.[4.] Actuator Modeler interprets direction information into low level instructions.[5.] Create moves in new direction.[6.] Environment Modeler receives new hit information.[7.] Environment Modeler calculates layout of wall given data inputs.[8.] Environment Modeler shows image of wall on PC remote desktop using the

Environment View.[9.] Repeat move, bump, and map actions until Decision Machine exhausts all its

possible movements.[10.] Environment View within the Environment Modeler shows final image of the

map of the empty rectangular room.[11.] An alert will tell the user that the Create is done.

Exceptions:[1.] Map fails to display correctly because connection between Create and PC

remote desktop is not well established.

Priority: Essential, must be implemented.

When available: First release.

Frequency of use: Always.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
why a corner?
Andrew Nuxoll, 09/30/09,
Please define first/second/third release. What are these? Add a section called “releases” to the development process chapter that describes your releases and then reference it here.
Page 30: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Use Case 4: Empty Non-Rectangular Room

Goal in context: Navigate and map an empty non-rectangular room.

Preconditions: Room is empty. The Create and PC remote desktop are on and ready to perform task. The Create is set on the ground in the corner of the room.

Scenario:[1.] The Create’s bumper hits a wall.[2.] Environment Modeler records the coordinates of the hit.[3.] Decision machine decides on new direction Create should move, taking into

consideration that wall may not be linear.[4.] Actuator Modeler interprets direction information into low level instructions.[5.] Create moves in new direction.[6.] Environment Modeler receives new hit information.[7.] Environment Modeler calculates layout of wall given data inputs.[8.] Environment View within the Environment Modeler shows image of wall on a

PC remote desktop.[9.] Repeat move, bump, and map actions until Decision Machine exhausts all its

possible movements.[10.] Environment Modeler continues to calculate best guess layout of the non-

rectangular room given data inputs.[11.] Environment View within the Environment Modeler shows final image of the

map of the empty non-rectangular room.[12.] An alert will tell the user that the Create is done.

Exceptions:[1.] Map fails to display correctly because connection between Create and PC

remote desktop is not well established.[2.] Environment Modeler misinterprets data points of a curved wall.

Priority: Not essential.

When available: Second release or later.

Frequency of use: Occasional.

Use Case 5: Rectangular Room with n Obstacles

Goal in context: Navigate and map a rectangular room with n obstacles within the room.

Preconditions: Room is rectangular and contains obstacles. The Create and PC remote desktop are on and ready to perform task. The Create is set on the ground in the corner of the room.

Scenario:[1.] The Create’s bumper hits a wall or obstacle.[2.] Environment Modeler records the coordinates of the hit.[3.] Decision machine decides on new direction Create should move.[4.] Actuator Modeler interprets direction information into low level instructions.[5.] Create moves in new direction.[6.] Environment Modeler receives new hit information.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
Does it make sense to combine uses cases 3 and 4 (and also 5 + 6)? You could just have an exception for the non-rectangular condition. That way you aren’t in a copy/paste nightmare. Do you require that the robot be told up front whether the room is rectangular or not.
Page 31: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

[7.] Environment Modeler calculates best guess layout of room with obstacles given data inputs.

[8.] Repeat move, bump, and map actions until Decision Machine exhausts all its possible movements.

[9.] Environment Modeler continues to calculate best guess layout of room with obstacles given data inputs.

[10.] Environment View within the Environment Modeler shows final image of the map of the rectangular room with obstacles.

[11.] An alert will tell the user that the Create is done.

Exceptions:[1.] The Map fails to display correctly because connection between Create and PC

remote desktop is not well established.[2.] Environment Modeler misinterprets data points to be walls or obstacles when

they are not.

Priority: Not essential.

When available: Second release or later.

Frequency of use: Occasional.Use Case 6: Non-Rectangular Room with n Obstacles

Goal in context: Navigate and map a non-rectangular room with n obstacles within the room.

Preconditions: Room contains obstacles. The Create and PC remote desktop are on and ready to perform task. The Create is set on the ground in the corner of the room.

Scenario:[1.] The Create’s bumper hits a wall or obstacle.[2.] Environment Modeler records the coordinates of the hit.[3.] Decision machine decides on new direction Create should move.[4.] Actuator Modeler interprets direction information into low level instructions.[5.] Create moves in new direction.[6.] Environment Modeler receives new hit information.[7.] Environment Modeler calculates best guess layout of room with obstacles

given data inputs.[8.] Repeat move, bump, and map actions until Decision Machine exhausts all its

possible movements.[9.] Environment Modeler continues to calculate best guess layout of the non-

rectangular room with obstacles given data inputs.[10.] Environment View within the Environment Modeler shows final image of the

map of the non-rectangular room with obstacles.[11.] An alert will tell the user that the Create is done.

Exceptions:[1.] The Map fails to display correctly because connection between Create and PC

remote desktop is not well established.[2.] Environment Modeler misinterprets data points of curved walls or misinterprets

walls and obstacles when they are not.

Priority: Essential, must be implemented.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 32: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Priority: Not essential.

When available: Third release or later.

Frequency of use: Seldom.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 33: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Development Process6This chapter illustrates the anticipated development process for team Alder.

General Approach

This section describes the general approach of development of MapBot. As shown in Figure 10, there are dependencies between the software modules of MapBot.

Figure 6. Overall development process.Figure 10. Overall Development ProcessThis figure shows the dependencies and the anticipated order of modules of MapBot.

Figure 10 displays the nine software modules of MapBot and their order. They are:

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
Issue 2
Page 34: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

1. Create Precision Database: The Create Precision Database is simple and is necessary for other modules.

2. Create Interface: The Create Interface is crucial to have to debug and test as other modules are being generated.

3. Environment Modeler-Model: The Environment Modeler-Model is the basis for all elements of the whole Environment Modeler.

4. Environment Modeler-View: The Environment Modeler-View is useful for debugging and testing elements of the Environment Modeler.

5. Environment Modeler-Controller: The Environment Modeler-Controller is necessary for sending messages from within the Environment Modeler.

6. Actuator Modeler: The Actuator Modeler is necessary to allow the Decision Machine to connect with the Create Interface.

7. Wall Sketcher: The Wall Sketcher has nothing depending on it.

8. Wall Guesser: The Wall Guesser has nothing depending on it.

9. Decision Machine: The Decision Machine has nothing depending on it.

Progress Tracking

Team Alder will report its progress in three different ways:

1. Student Team meeting:

The students of Team Alder will meet informally at least once a week to discuss progress, challenges, and goals.

2. Full Team meeting:

Team Alder will meet in full (students and faculty advisors) once a week to formally discuss progress, challenges and goals.

3. Bi-Weekly report to Industry Representative

Team Alder will write a brief status report at least every other week so that the Industry Representative can track progress.

Personnel Assignment

Though all teammates are responsible for all pieces of MapBot, leadership of each component will be assigned. Some small components may be lead by a single team member, while others may need the work of two members, or even the full attention of the entire team.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 35: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Assumptions

This section describes the assumptions that Team Alder makes about the project.

Replacement hardware is always available. This includes a replacement Create and Roostick,

A microcomputer is available to be placed on top of the Create to be used as an interface for the Decision machine, Environment Modeler, and Actuator Modeler.

Connection between PC remote desktop and the microcomputer is well-established.

Assumptions

Replacement hardware is always available. This includes a replacement Create, Roostick, and Bluetooth,

A microcomputer is available to be placed on top of the Create to be used as an interface for the Decision machine, Environment Modeler, and Actuator Modeler.

Connection between PC remote desktop and Create is well-established.

Milestones

This section lays out the milestones that Team Alder will meet throughout the year.

Number Description Completion Date

1 Functional Specifications 0.9 10/2 2 Functional Specifications 0.95 10/9 3 Functional Specifications 1.0 10/16 4 Program Review Presentation 10/26 5 Measure Rotational Accuracy 11/6 6 Interpret Sensor Packet 11/13 7 Populate Create Precision Database 11/20 8 Design Document 0.9 11/25 9 Design Document 0.95 12/4 10 Design Document 1.0 12/11 11 Program Create Interface 1/15 12 Program Environment Modeler: Model 1/22 13 Program Environment Modeler: View 1/29 14 Program Environment Modeler: Controller 2/5 15 Program Actuator Modeler 2/12 16 Program Wall Sketcher 2/19 17 Program Wall Guesser 2/26

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
Until now you’ve have never mentioned Bluetooth, ever. This needs to be introduced in chapter 3 under Programming platform.
Page 36: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

18 Program Design Machine 3/5 19 Final Document 0.9 3/19 20 Final Document 0.95 3/26

21 Founder’s Day PresentationFinal Document 1.0 4/2

Table 4. Alder milestones.

Functional Specifications 0.9

This version of the functional specifications is the initial draft. It is to be completed when all sections of the functional specification document are filled out. It is to be approved by our advisors.

Functional Specifications 0.95

Functional specification 0.95 is our revised version of the document. It is to be approved by our advisors after all necessary revisions have been made and the document looks acceptable to give to our industry representative.

Functional Specifications 1.0

This is our final version of the functional specifications. It is considered finished when all final revisions have been included within the document and the industry representative has approved it.

Program Review Presentation

The program review presentation is a monthly presentation given to the EE/CS 480 class about our progress in the senior design project. The presentation is 5-10 minutes long and must include a slide presentation.

Measure Rotational Accuracy

The robot is mobile in two different ways. One of the ways the robot can move is by rotating itself up to 360 degrees. Measuring the rotational accuracy is finished when we can give the robot a set input and it’ll rotate to the specified angle with a precision of 0.05 meters.

Interpret Sensor Packet

In order to determine whether the robot has hit a wall or object with its bump sensor, we need to constantly request for a sensor packet update at a particular time interval. Create can send different types of sensor packets depending on which sensors were used. This milestone is completed when the robot has successfully sent the correct sensor packet after hitting a wall and the Create Interface has correctly interpreted which sensor was used.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 37: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Populate Create Precision Database

The Create Precision Database is a module in the software portion of our project that holds the conversions from robot distance traveled to robot time traveled in milliseconds and vice versa. It is finished when all entries have been filled out.

Design Document 0.9

This version of the design document is the initial draft. It is to be completed when all sections of the design document are filled out. It is to be approved by our advisors.

Design Document 0.95

The design document 0.95 is our revised version of the document. It is to be approved by our advisors after all necessary revisions have been made and the document looks acceptable to give to our industry representative.

Design Document 1.0

This is our final version of the design document. It is considered finished when all final revisions have been included within the document and the industry representative has approved it.

Program Create Interface

The Create Interface is a module in the software portion of our project that connects the software and hardware portions of our projects together. It processes the commands from the Actuator Modeler and turns them into serial commands with the help of the Create Accuracy Database. The Create Interface also interprets the sensor bumps into points and paths for the Environment Modeler to use. It is finished when the portion of the code, up to its dependencies, are bug free.

Program Environment Modeler: Model

The Environment Modeler: Model is a module that holds all necessary information about walls and paths such as points, path lines, etc. The Environment Modeler: Model is completed when it can successfully hold all necessary information during a trial run of the robot.

Program Environment Modeler: View

The Environment Modeler: View is a module that displays the robot’s perception, map draft, and the best approximation of the map. The Environment Modeler: View is done when it correctly displays the map based on the information from the Environment Modeler: Model.

Program Environment Modeler: Controller

The Environment Modeler: Controller is a module that is the main communicator between the Create Interface, Wall Sketcher, Wall Guesser, and the Decision Machine. It is finished when it sends the correct information to the specified modules.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 38: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Program Actuator Modeler

The Actuator Modeler is a module that interprets the high level guidance command such as Explore from the Decision Machine into a lower level command such as Drive and Rotate. It is completed when it correctly interprets the high level command into a lower level command.

Program Wall Sketcher

The Wall Sketcher is a module that makes a sketch of wall positions depending on sensor hits. The Wall Sketcher is done when given the data from the Environment Modeler: Model and creates a reasonable sketch of the map of the room.

Program Wall Guesser

The Wall Guesser is a module that makes the best possible guess of the walls in the room. It is finished when given the data from the Environment Modeler: Model and creates a reasonable approximation of the map of the room.

Program Decision Machine

The Decision Machine is a module that decides on the best possible movements that the robot should travel. We know it is completed when the Decision Machine reasonably navigates the robot.

Final Documentation 0.9

This version of the final documentation is the initial draft. It is to be completed when all sections of the final documentation document are filled out. It is to be approved by our advisors.

Final Documentation 0.95

Final documentation 0.95 is our revised version of the document. It is to be approved by our advisors after all necessary revisions have been made and the document looks acceptable to give to our industry representative.

Final Documentation 1.0

This is our final version of the final documentation. It is considered finished when all final revisions have been included within the document and the industry representative has approved it.

Founder’s Day Presentation

April 2nd , 2010 is the final presentation for the senior design project that explains and demos the project. The goal is to finish the project by Founder’s Day.

Milestones

Number Description Completion UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 39: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Date 1 Functional Specifications 0.9 10/2 2 Functional Specifications 0.95 10/9 3 Functional Specifications 1.0 10/16 4 Program Review Presentation 10/26 5 Measure Rotational Accuracy 11/6 6 Interpret Sensor Packet 11/13 7 Program Create Accuracy Database 11/20 8 Design Document 0.9 11/25 9 Design Document 0.95 12/4 10 Design Document 1.0 12/11 11 Program Create Interface 1/15 12 Program Environment Modeler: Model 1/22 13 Program Environment Modeler: View 1/29 14 Program Environment Modeler: Controller 2/5 15 Program Actuator Modeler 2/12 16 Program Wall Sketcher 2/19 17 Program Wall Guesser 2/26 18 Program Design Machine 3/5 19 Final Document 0.9 3/19 20 Final Document 0.95 3/26

21 Founder’s Day PresentationFinal Document 1.0 4/2

Table 4. Alder milestones.

Functional Specifications 0.9

This version of the functional specifications is the initial draft. It is to be completed when all sections of the functional specification document are filled out. It is to be approved by our advisors.

Functional Specifications 0.95

This version of the functional specifications is our revised version of the document. It is to be approved by our advisors after all necessary revisions have been made and the document looks acceptable to give to our industry representative.

Functional Specifications 1.0

This is our final version of the functional specifications. It is considered finished when all final revisions have been included within the document and the industry representative has approved it.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
Be careful putting a milestone in that looks like you’re doing implementation before design. Dr. Ward is a big stickler about this (and so will an employer). If you implement anything before the design document is complete, it should be for the purposes of feasibility testing. I’d rename this to Populate Create Accuracy Database.
Andrew Nuxoll, 09/29/09,
Didn’t you do this already?
Page 40: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Program Review Presentation

The program review presentation is a monthly presentation given to the EE/CS 480 class about our progress in the senior design project. The presentation is 5-10 minutes long and must include a power point.slide presentation.

Measure Rotational Accuracy

The robot is mobile in two different ways. One of the ways the robot can move is by rotating itself up to 360 degrees. Measuring the rotational accuracy is finished when we can give the robot a set input and it’ll rotate to the specified angle with great accuracy.

Interpret Sensor Packet

In order to determine whether the robot has hit a wall or object with its bumper sensor, we need to constantly request for a sensor packet update at a particular time interval. Interpreting sensor packet is finished when the robot has successfully sent a sensor packet after hitting a wall.

Program Create Accuracy Database

The Create Accuracy Database is a class in the software portion of our project that holds the conversions from robot distance traveled to robot time traveled in milliseconds and vice versa. It is finished when all entries have been filled out.

Design Document 0.9

This version of the design document is the initial draft. It is to be completed when all sections of the design document are filled out. It is to be approved by our advisors.

Design Document 0.95

This version of the design document is our revised version of the document. It is to be approved by our advisors after all necessary revisions have been made and the document looks acceptable to give to our industry representative.

Design Document 1.0

This is our final version of the design document. It is considered finished when all final revisions have been included within the document and the industry representative has approved it.

Program Create Interface

The Create Interface is a class in the software portion of our project that is essentially connects the software and hardware portions of our projects together. It processes the commands from the Actuator Modeler and turns them into serial commands with the help of the Create Accuracy Database. The Create Interface also interprets the sensor bumps into points and paths for the Environment Modeler to use. It is donefinished when the portion of the code, up to its dependencies, are completed.

Program Environment Modeler: Model

The Environment Modeler: Model is a class that holds all necessary information such as points, path lines, etc. The Environment Modeler: Model is donefinished when it can successfully hold all necessary information during a traial run of the robot.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/29/09,
this is too unspecific. Info about what?
Andrew Nuxoll, 09/29/09,
This is hard to measure. What is complete? Bug free?
Andrew Nuxoll, 09/30/09,
This is a term you should not introduce right now. “module” is better.
Andrew Nuxoll, 09/29/09,
This doesn’t tell me what the milestone is.
Andrew Nuxoll, 09/29/09,
how much is “great”?
Page 41: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Program Environment Modeler: View

The Environment Modeler: View is a class that displays the robot’s perception, map draft, and the best approximation of the map. The Environment Modeler: View is donefinished when it correctly displays the map based on the information from the Environment Modeler: Model.

Program Environment Modeler: Controller

The Environment Modeler: Controller is a class that interacts between the Create Interface, Wall Sketcher, Wall Guesser, and the Decision Machine. It is donefinished when it sends the correct information to the specified classes.

Program Actuator Modeler

The Actuator Modeler is a class that interprets the high level guidance command such as Explore from the Decision Machine into a lower level command such as Drive and Rotate. It is donefinished when it correctly interprets the high level command into a lower level command.

Program Wall Sketcher

The Wall Sketcher is a class that makes a sketch of wall positions depending on sensor hits. The Wall Sketcher is donefinished when given the data from the Environment Modeler: Model and creates a reasonable sketch of the map of the room.

Program Wall Guesser

The Wall Guesser is a class that makes the best possible guess of the walls in the room. It is donefinished when given the data from the Environment Modeler: Model and creates a reasonable approximation of the map of the room.

Program Decision Machine

The Decision Machine is a class that decides on the best possible movements that the robot should travel. We know it is donefinished when the Decision Machine reasonably navigates the robot.

Final Documentation 0.9

This version of the final documentation is the initial draft. It is to be completed when all sections of the final documentation document are filled out. It is to be approved by our advisors.

Final Documentation 0.95

This version of the final documentation is our revised version of the document. It is to be approved by our advisors after all necessary revisions have been made and the document looks acceptable to give to our industry representative.

Final Documentation 1.0

This is our final version of the final documentation. It is considered finished when all final revisions have been included within the document and the industry representative has approved it.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
awkward
Andrew Nuxoll, 09/30/09,
module
Page 42: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Founder’s Day Presentation

April 2nd, 2010 is the final presentation for the senior design project. This presentation explains the team’s year- long effort in completing projects as well as shows a short demo of it. The goal is to finish the project by Founder’s Day.

Risks

This section discusses the potential risks of this project.

Risk Severity Likelihood

Team members contract the flu Low Moderate

Team leader’s course load and sports schedule hampers progress

Moderate High

Calculating Create’s distance traveled is not precise High Low

Demo does not standout during Founder’s Day presentation Low Moderate

Algorithms for calculating direction and wall positions do not work High Moderate

Table 5. Alder project risks, severity, and likelihood.

Team members contract the flu

With the flu season approaching and the ongoing scare of the H1N1 virus, it is likely that one of the team members may contract the flu. While sick, team members may be unable to work with full effort, possibly slowing the progress of the project. To reduce the spread of the flu, sick team members may not want to meet with the not sick members. It will be difficult to communicate about the project should the team not fully meet.

To combat this risk, we could get a flu vaccination from the University Health Center. Flu vaccination lowers the risk that one of us gets the flu. Should one of the team members get sick, they could work on the software side of the project since that can be done at home. Communication between team members, both sick and not sick, can be done through emails or instant messaging.

Team leader’s course load and sports schedule hampers progress

CJ Cullen (the team leader) is currently taking a full course load as well as part of the school’s baseball team. While he has been able to achieve a high GPA the past three years while doing both school and baseball, there is a possibility that the stress from working on the senior design project could affect his GPA as well as the project.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
awkward
Page 43: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

To detect this risk, the team will constantly keep track of CJ’s sports schedule and will make any necessary adjustment to accommodate his absence or lack of work should he need to leave campus for a game.

Calculating Create’s distance traveled is not precise

Since the Create is a machine that no team members have any experiences working with it, we can not say how precise the Create is at moving when we give it a command to move it at a specified distance. Precision for distance traveled is very important if we want our map to be as accurate as possible.

To adapt to this risk, the team will be often checking the precision that the Create will travel given a specified distance. Should the precision be slightly different from previous trails, we only need to change the distance to time conversion. Should the precision be completely different from previous trails, this Create may be defected and a new one would be used.

Demo does not standout during Founder’s Day presentation

While it may not be a required team goal, we will strive to achieve the “Best Project” title for our Senior Design project. This requires our Demo during the Founder’s Day presentation to not only work correctly, but to standout from its competitors as well.

We believe that since our project is the only one dealing with robotics, this project has a good chance of standing out on its own. There are a couple of things that we should do to increase the odds of achieving the “Best Project” title. First, our project must work and it must work well. Second, we need to give a good presentation. We will strive to make sure that both of these objectives are met.

Algorithms for calculating directions and wall positions do not work

Creating an algorithm both for deciding on which direction to navigate the Create as well as determining the positions of the walls seems like a challenging task. We want to make sure that the Create can navigate and obtain all possible data needed to create a map with correct wall positions and is as accurate as possible to a real mapping of the room. These algorithms are another important objective that our team needs to satisfy in order for our project to work.

To adjust to this risk, our team will constantly try to develop algorithms that can do these jobs efficiently and we will continue to try to improve these algorithms over the course of this project.

Risks

Risk Severity Likelihood

Team members contract the flu Low Moderate

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 44: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Team leader’s course load and sports schedule hampers progress

Moderate High

Calculating Create’s distance traveled is not precise High Low

Demo does not standout during Founder’s Day presentation Low Moderate

Algorithms for calculating direction and wall positions do not work High Moderate

Team members contract the flu Low Moderate

Team leader’s course load and sports schedule hampers progress

Moderate High

Table 5. Alder project risks.

Team members contract the flu

With the flu season approaching and the ongoing scare of the H1N1 virus, it is likely that one of the team members may contract the flu. While sick, team members may be unable to work with full effort, possibly slowing the progress of the project. To reduce the spread of the flu, sick team members may not want to meet with the not sick members. It will be difficult to communicate about the project should the team not fully meet.

To combat this risk, we could get a flu vaccination from the University Health Center. Flu vaccination lowers the risk that one of us gets the flu. Should one of the team members get sick, they could work on the software side of the project since that can be done at home. Communication between team members, both sick and not sick, can be done through emails or instant messaging.

Team leader’s course load and sports schedule hampers progress

CJ Cullen (the team leader) is currently taking a full course load as well as part of the school’s baseball team. While he has been able to achieve a high GPA the past three years while doing both school and baseball, there is a possibility that the stress from working on the senior design project could affect his GPA as well as the project.

To detect this risk, the team will constantly keep track of CJ’s sports schedule and will make any necessary adjustment to accommodate his absence or lack of work should he need to leave campus for a game.

Calculating Create’s distance traveled is not precise

Since the Create is a machine that no team members have any experiences working with it, we can not say how reliable the Create is at moving when we give it a command to move it at a specified distance. Precision for distance traveled is very important if we want our map to be as accurate as possible.

To adapt to this risk, the team will be often checking the precision that the Create will travel given a specified distance. Should the precision be slightly different from previous trails,

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
issue 3
Page 45: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

we only need to change the distance to time conversion. Should the precision be completely different from previous trails, this Create may be defected and a new one would be used.

Demo does not standout during Founder’s Day presentation

While it may not be a required team goal, we will strive to achieve the “Best Project” title for our Senior Design project. This requires our Demo during the Founder’s Day presentation to not only work correctly, but to standout from its competitors as well.

We believe that since our project is the only one dealing with robotics, this project has a good chance of standing out on its own. There are a couple of things that we should do to increase the odds of achieving the “Best Project” title. First, our project must work and it must work well. Second, we need to give a good presentation. We will strive to make sure that both of these objectives are met.

Algorithms for calculating directions and wall positions do not work

Creating an algorithm both for deciding on which direction to navigate the Create as well as determining the positions of the walls seems like a challenging task. We want to make sure that the Create can navigate and obtain all possible data needed to create a map with correct wall positions and is as accurate as possible to a real mapping of the room. These algorithms are another important objective that our team needs to satisfy in order for our project to work.

To adjust to this risk, our team will constantly try to develop algorithms that can do these jobs efficiently and we will continue to try to improve these algorithms over the course of this project.

Resources

This section lists the resources necessary to complete MapBot

Personnel

CJ Cullen: Fall Team Lead

Ryan Pila: Spring Team Lead

Ningxuan Wang: Chief Technical Officer

Preliminary Budget

Line Category Description Number Rate Amount

1 Materials # of parts Subtotal1.1 Backup Roostick 1 $30.00 $30.001.2 USB->5 Pin miniUSB Cable 1 $7.00 $7.00

  TOTAL     $37.00

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 46: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Table 6. Budget

Equipment

Team Alder will need access to the iRobot Creates that belong to the engineering department.

Facilities

Team Alder will need use of the iRobot room where the Creates are stored and charged. Team Alder will also need access to a simple room to debug MapBot.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
What?! No money for beer and souvenir t-shirts?
Page 47: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

Chapter

Conclusions7MapBot is an autonomous, mobile, map-making robot. MapBot consists of a specialized software architecture built on the iRobot Create platform in order to efficiently and accurately model a physical environment. This document goes over the required resources in terms of the environment and software specifications as well as the programming platform. The project runs in an office setting using the Create and the Sony Micro PC. The document also details the team’s vision of the overall system architecture. The architecture is broken down into different modules, each having their own purpose in the overall creation of a map. Lastly, the development process, milestones, and risks are included to ensure the success of MapBot by Founder’s Day.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Page 48: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

MapBot is an autonomous, mobile, map-making robot. MapBot consists of a specialized software architecture built on the iRobot Create platform in order to efficiently and accurately model a physical environment.Team Alder has established a development process, and accounted for risks of this development process to ensure the success of MapBot.

Appendix A Glossary

Soar

The Soar architecture is designed for developing systems that generate intelligent behaviors. It models human cognitive processes including understanding and anticipation. It uses an internal structure called working memory modeled after human short-term memory to build an agent’s knowledge about its environment. It employs a process called decision cycle to produce actions in pursuit of goals. In this cycle, the agent receives information from the external environment, proposes possible actions and decides on one of them based on its knowledge provided by the programmer, and applies the chosen action to the environment. The current version is Soar 9.2.0 Beta (http://sitemaker.umich.edu/soar/soar_software_downloads).

Procedural Memory

A long-term memory of skills consisting of sequences of procedures. It tells the agent how to do certain things without knowing when and where it got the memory. With procedural memory, the agent doesn’t need to know why it should follow the procedures to achieve the goal; instead, as long as the condition of the procedural memory matches, the agent will make a corresponding action spontaneously.

iRobot Create

The iRobot Create Programmable Robot is a preassembled mobile robot platform. It allows users to program its movements and sounds. This robot consists of three wheels (caster, left and right), two bump sensors (left and right), three wheeldrop sensors (caster, left and right), an omnidirectional infrared receiver, four cliff sensors (front left, front right, left and right), a cargo bay connecter, and an external MiniDin-6 connecter. The robot uses an alkaline battery pack consisting of 12 non-rechargeable “AA” batteries, which can power the robot for up to 1.5 hours.

RooStick

The RooStick enables a computer to serially communicate with a iRobot Create through a USB port. Programs capable of issuing serial commands to a COM port can use the RooStick to control the robot. The RooStick consists of a MiniDIN-7 female connector to connect to the robot and a standard USB type A connector to connect to a computer.

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
This is pretty weak. A summary is a fine start but you should talk about highlights of your document here and draw some conclusions too.
Andrew Nuxoll, 09/30/09,
why past tense?
Page 49: Functional Specifications - University of Portlandteaching.up.edu/srdesign/AY10/Alder/documents/Functional... · Web viewfunctional specificationsRev. 0.9Page 12 Project Alder

.........

FUNCTIONAL SPECIFICATIONS REV. 0.9 PAGE PROJECT ALDER

iRobot Serial Command Interface (SCI)

The iRobot Serial Command Interface (SCI) is a serial protocol that consists of a set of commands which allows users to control the robot and monitor its sensors through its external MiniDin connecter. Users can send commands to the robot to control its actuators and to request its sensor data. Such commands are drive, song, sensors and so on. A command is a sequence of numbers in which the first number indicates the type of the command and the rest of them are arguments that users can include specifications such as velocity, time duration and radius. Sensor data gets sent back in the form of sensor packets that contain data collected by the robot’s sensors such as the bump sensors. A sensor packet is a sequence of numbers in which each number corresponds to the state of a sensor.

Microsoft Windows Graphics Device Interface (GDI)

The Microsoft Windows graphics device interface (GDI) is a class-based application programming interface in C/C++. It allows users to use graphics and formatted text on Windows-based applications. It can be used to draw lines and curves, adjust fonts and colors.Glossary

UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: CJ CULLEN

Andrew Nuxoll, 09/30/09,
Your document should have an appendix that is a glossary. Define the terms you are using all in one place for easy reference.