robot spec

19
Maze Navigating Car - Requirements Maze Navigating Car Requirements Revision 0.16 Version 0.01 - 17 February 2002 Lenny - Initial Version Version 0.02 - 18 February 2002 Mike - Added to initial version Version 0.03 - 6 April 2002 Lenny - Modified Requirements section, added Interface Specification Document to References (2.3) section. Version 0.04 - 11 April 2002 Lenny - Made changes to entire document! Version 0.05 – 11 April 2002 Lenny – reworked the document adding automated table of contents Version 0.06 – 13 April 2002 Lenny – added old risks Version 0.07 – 14 April 2002 Lenny – added use cases written by Alan Lenny – added maze document to references section Version 0.08 – 16 April 2002 Lenny – fixed numbering Version 0.09 – 16 April 2002 Lenny – changed some formatting Version 0.10 – 20 April 2002 Lenny – reworked the entire document again Version 0.11 – 25 April 2002 Lenny and Alan – added new risks Version 0.12 – 7 May 2002 Lenny – Updated server subsystem module description and added new risks Version 0.13 – 8 May 2002 Lenny – Added screenshots to User Interface Description section Version 0.14 – 11 May 2002 Lenny – Added header and footer and 3 Stooges names Version 0.15 – 12 May 2002 Lenny – Added new pictures of Curly Version 0.16 – 16 May 2002 Lenny – minor wording changes 1

Upload: christian-jay-aligaga

Post on 15-Dec-2015

223 views

Category:

Documents


1 download

DESCRIPTION

Robot Spec

TRANSCRIPT

Page 1: Robot Spec

Maze Navigating Car - Requirements

Maze Navigating CarRequirements

Revision 0.16Version 0.01 - 17 February 2002

Lenny - Initial VersionVersion 0.02 - 18 February 2002

Mike - Added to initial versionVersion 0.03 - 6 April 2002

Lenny - Modified Requirements section, added Interface Specification Document to References (2.3) section.

Version 0.04 - 11 April 2002Lenny - Made changes to entire document!

Version 0.05 – 11 April 2002Lenny – reworked the document adding automated table of contents

Version 0.06 – 13 April 2002Lenny – added old risks

Version 0.07 – 14 April 2002Lenny – added use cases written by AlanLenny – added maze document to references section

Version 0.08 – 16 April 2002Lenny – fixed numbering

Version 0.09 – 16 April 2002Lenny – changed some formatting

Version 0.10 – 20 April 2002Lenny – reworked the entire document again

Version 0.11 – 25 April 2002Lenny and Alan – added new risks

Version 0.12 – 7 May 2002Lenny – Updated server subsystem module description and added new risks

Version 0.13 – 8 May 2002Lenny – Added screenshots to User Interface Description section

Version 0.14 – 11 May 2002Lenny – Added header and footer and 3 Stooges names

Version 0.15 – 12 May 2002Lenny – Added new pictures of Curly

Version 0.16 – 16 May 2002Lenny – minor wording changes

Mike Reinstein (Moe)[email protected] Paulsen (Larry)

[email protected] Maiorani (Curly)

[email protected]

1

Page 2: Robot Spec

Maze Navigating Car - Requirements

Table of Contents1 Introduction 4

1.1 Purpose 41.2 System Overview 61.3 References 71.4 Document Overview 71.5 Risks (7 May 2002) 7

1.5.1 GUI Client Subsystem (Moe) Risks 71.5.2 Server Subsystem (Larry) Risks 71.5.3 Robot Subsystem (Curly) Risks 7

1.6 Risks (25 April 2002) 71.6.1 GUI Client Subsystem (Moe) Risks 71.6.2 Server Subsystem (Larry) Risks 71.6.3 Robot Subsystem (Curly) Risks 7

1.7 Risks (11 April 2002) 81.7.1 GUI Client Subsystem (Moe) Risks 81.7.2 Server Subsystem (Larry) Risks 81.7.3 Robot Subsystem (Curly) Risks 8

1.8 Risks (6 April 2002) 81.8.1 GUI Client Subsystem (Moe) Risks 81.8.2 Server Subsystem (Larry) Risks 81.8.3 Robot Subsystem (Curly) Risks 8

1.9 Risks (21 February 2002) 81.9.1 GUI Client Subsystem (Moe) Risks 81.9.2 Server Subsystem (Larry) Risks 91.9.3 Robot Subsystem (Curly) Risks 9

1.10 Context 92 Module Description 10

2.1 GUI Client Subsystem (Moe) 102.2 Server Subsystem (Larry) 102.3 Robot Subsystem (Curly) 10

3 User Interface Description 113.1 Robot Command Center Window Description 13

3.1.1 Screenshot 133.2 Streaming Video Window Description 13

3.2.1 Screenshot 133.3 Sensor Readings Window Description 14

3.3.1 Screenshot 143.4 System Logs Window Description 14

3.4.1 Screenshot 144 Hardware and Software Requirements 15

4.1 GUI Client Subsystem (Moe) Requirements 154.2 Server Subsystem (Larry) Requirements 154.3 Robot Subsystem (Curly) Requirements 15

5 Use Cases 165.1 Image Processing 16

2

Page 3: Robot Spec

Maze Navigating Car - Requirements

5.2 Obey Stop Signs 165.3 Parallel Parking 165.4 Obey Speed Limits 165.5 Destination Navigation 16

3

Page 4: Robot Spec

Maze Navigating Car - Requirements

1 Introduction

1.1 PurposeThe purpose of this document is to describe the requirements set forth by the customer for the Maze Navigating Car (MNC). It will provide a listing and explanation of all features to be included in the product, as well as provide a metric for comparison between the project design and the delivered product. The product prototype is to be delivered at the end of CSC402 - Real-time Systems on the 17th of May 2002.

Early picture (still in development):

Current picture:

4

Page 5: Robot Spec

Maze Navigating Car - Requirements

Top view:

5

Page 6: Robot Spec

Maze Navigating Car - Requirements

Side above view:

1.2 System OverviewThe MNC shall be an autonomous system capable of performing maze navigation in an environment similar to one found in the streets of a city. This functionality will be achieved through the use of a low-resolution vision system that shall read street signs and infrared distance sensors that shall detect the sides of the corridor. The MNC shall be comprised of three separate and distinct subsystems:

A GUI client (Moe) shall display processed sensor data and video and provide buttons for high-level control of the entire system, and shall format sensory data from the robot for display.

A server (Larry) shall process sensory data and streaming video from the robot and shall determine the appropriate course of action for the vehicle based on the processed data and shall send navigation commands (turn left, turn right, stop, etc.) to the robot.

A wheeled robot (Curly) shall provide perception of the physical environment using infrared distance sensors and a video camera. This data and video will be sent to the server. The robot shall autonomously traverse corridors and detect intersections using the infrared distance sensors. The robot shall also accept navigation commands (turn left, turn right, stop, etc.) from the server.

6

Page 7: Robot Spec

Maze Navigating Car - Requirements

1.3 ReferencesThe following documents provide additional details to support the requirements listed in this document:

Maze Navigating Car Interface Specification Maze Navigating Car Maze Specification

1.4 Document OverviewThis document is comprised of five major sections. Section 1 (this section) provides an introduction to this document and briefly describes the Maze Navigating Car system. Section 2 describes different modules that will make up the complete system. Section 3 describes the user interface to the system. Section 4 provides hardware and software requirements of the system. Section 5 is a description of the development process that will be used over the course of the project.

1.5 Risks (7 May 2002)

1.5.1 GUI Client Subsystem (Moe) Risks Generating speech Using the buttons to control stopping and starting

1.5.2 Server Subsystem (Larry) Risks Navigating the maze accurately

1.5.3 Robot Subsystem (Curly) Risks Avoiding walls Recognizing intersections more reliably Recognizing intersections earlier Responding to server communications accurately

1.6 Risks (25 April 2002)

1.6.1 GUI Client Subsystem (Moe) Risks Generating speech

1.6.2 Server Subsystem (Larry) Risks Communicating with the robot Blurred images in video while moving Speed limit sign recognition Arrow sign confirmation

1.6.3 Robot Subsystem (Curly) Risks Going around corners because turning radius of the car is large. Operating the car at an effective speed.

7

Page 8: Robot Spec

Maze Navigating Car - Requirements

Communicating with the server. Recognizing intersections Accepting commands from the server and acting upon them

1.7 Risks (11 April 2002)

1.7.1 GUI Client Subsystem (Moe) Risks None?

1.7.2 Server Subsystem (Larry) Risks Too much background noise in the video images. Processing frames fast enough to make decisions and tell the robot

while moving. Communicating with the robot. Blurred images in video while moving.

1.7.3 Robot Subsystem (Curly) Risks Going around corners because turning radius of the car is large. Operating the car at an effective speed. Communicating with the server.

1.8 Risks (6 April 2002)

1.8.1 GUI Client Subsystem (Moe) Risks Overlaying bounding boxes on images.

1.8.2 Server Subsystem (Larry) Risks Too much background noise in the video images. Processing frames fast enough to make decisions and tell the robot. Communicating with the robot.

1.8.3 Robot Subsystem (Curly) Risks Obtaining the PC-104 and Zircon-MM boards. Making turns because the turning radius of the car is large. Operating the car at an effective speed. Communicating with the server.

1.9 Risks (21 February 2002)

1.9.1 GUI Client Subsystem (Moe) Risks Unknown…

1.9.2 Server Subsystem (Larry) Risks Background noise in the video images

8

Page 9: Robot Spec

Maze Navigating Car - Requirements

1.9.3 Robot Subsystem (Curly) Risks Getting Linux running Capturing video from the camera Frame rate of the camera Sending images over the network fast enough Getting the maze constructed

1.10 ContextThe software is designed to be utilized in a highly controlled academic setting (CSC402 - Software Engineering, CSC416 - Real-time Systems) at Plattsburgh State University. This program is not designed to perform in a commercial manner. Trained professionals shall operate the MNC. It will be demonstrated in Hawkins Hall, room 010.

The robot (Curly) uses a radio-controlled car as a base and a PC/104 bus computer as a controller. The computer runs Linux 2.4.17 with USB and PCMCIA support. The robot (Curly) and the server (Larry) communicate over a wireless Ethernet 802.11b.

The development environments are JBuilder and the GNU C compiler. The Java Runtime Environment is version 1.4.

The robot subsystem is written in C and the server and client subsystems are written in Java.

SSH is used remotely to log in to the robot from a PC. All executables are compiled statically for the robot and downloaded to it over an NFS mount.

9

Page 10: Robot Spec

Maze Navigating Car - Requirements

2 Module Description

2.1 GUI Client Subsystem (Moe)The GUI client shall:

Display streaming video Overlay graphics indicating the location and meaning of all signs Allow graphical selection of next goal (hospital/police station) Generate speech indicating state transitions of MNC

2.2 Server Subsystem (Larry)The server shall:

Receive video from the robot Analyze the video to locate and interpret signs Give commands to the robot to start, stop, turn left or right at an intersection,

change speed, backup, and parallel park in order to navigate to the goal while obeying all traffic signs

Stream video to the GUI client Receive high-level commands from the GUI client to control robot operations

2.3 Robot Subsystem (Curly)The robot shall:

Obey signs and traffic laws as observed by the server Stream video to the server Accept commands from the server to start, stop, turn, change speed, and park Autonomously traverse along the center of corridors Autonomously back out of dead ends Autonomously parallel park in front of destination Blink LED turn signals when a turn is to be executed Detect parking spaces when a command to parallel park is received

10

Page 11: Robot Spec

Maze Navigating Car - Requirements

3 User Interface DescriptionThe user interface shall be implemented as a GUI, a Graphical User Interface. The client shall provide a multiple window interface to display different types of data. This user interface will be projected overhead for the demonstration. Control functions shall be placed in one window, while image viewing shall be in a separate window, with graphics overlaid on top of the raw image to show the steps the server has taken to perform analysis. Status information coming from the server and robot will be displayed in its own window as well.

Screenshot of the User Interface at startup…

Screenshot of the User Interface with all diagnostic windows open…

11

Page 12: Robot Spec

Maze Navigating Car - Requirements

12

Page 13: Robot Spec

Maze Navigating Car - Requirements

3.1 Robot Command Center Window Description

3.1.1 Screenshot

3.2 Streaming Video Window Description

3.2.1 Screenshot

13

Page 14: Robot Spec

Maze Navigating Car - Requirements

3.3 Sensor Readings Window Description

3.3.1 Screenshot

3.4 System Logs Window Description

3.4.1 Screenshot

14

Page 15: Robot Spec

Maze Navigating Car - Requirements

4 Hardware and Software Requirements

4.1 GUI Client Subsystem (Moe) Requirements Java Runtime Environment (version 1.4 or greater) 1 GHz or faster, with 128 MB ram 10 Mbit Ethernet connection to the server

4.2 Server Subsystem (Larry) Requirements 1 GHz with plenty (how much?) of RAM. 10Mbit Ethernet connection to the client Wireless Ethernet connection using 802.11b to the robot

4.3 Robot Subsystem (Curly) Requirements Linux 2.4.17 kernel with USB and PCMCIA support USB Logitech Quickcam Express PCMCIA Cabletron RoamAbout 802.11b Servo motor controller Wireless Ethernet connection using 802.11b to the server Analog I/O to read distance sensors

15

Page 16: Robot Spec

Maze Navigating Car - Requirements

5 Use CasesThe following Use Cases will be demonstrated in the order they appear in this document.

5.1 Image ProcessingShow image processing by placing individual signs in front of camera, placing a bounding box around them and giving verbal recognition, i.e. “Stop sign encountered.” The following signs will be placed in front of the camera:

Stop Sign Hospital Sign with arrow Speed Limit Sign Police Sign with arrow

5.2 Obey Stop SignsPlace MNC in maze, and traverse a rectangular maze obeying stop signs as it encounters them. Stop signs will only be placed at intersections and corners. After two times around the block move the stop signs to different locations and repeat this process.

5.3 Parallel ParkingDemonstrate parallel parking. Start in a parking space, drive out of the parking space and park in the next available spot.

5.4 Obey Speed LimitsThe MNC shall traverse a corridor, and change speeds when speed limit signs are encountered as it moves through the maze. Then change the location of the speed limit signs, and start the MNC down the same corridor to demonstrate the changed behavior. There will only be two different speeds.

5.5 Destination NavigationPlace the signs indicating direction to the hospital in the maze. Place the MNC anywhere in the maze. Start the MNC and at the first hospital sign the car will turn in the direction of the hospital. The MNC will follow the signs until it reaches the hospital. Change the starting location of the MNC and move the hospital along with the proper signs and perform demonstration again. This can also be done with the police station.

16