SkyBot Functional Analysis

advertisement
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
PIKES PEAK ROBOT HILL CLIMB
SKYBOT
Document Abstract
This document is a part of the conceptual and preliminary design phase of the project.
The document presents a high-level overview of the SkyBot Race Vehicle subsystem. This
document answers “what” the race vehicle subsystem is expected to do. The document presents
an integrated view of the race vehicle subsystem’s functional blocks. The functions have been
derived based on the operations that the system is expected to perform.
Document Control
File Name: SkyBot_FunctionalAnalysis_V1.6.doc
History
Version
No.
1.0
Date
07/07/06
Created
Modified by
Shivani Pandey
1.1
07/17/06
Shivani Pandey
1.2
07/19/2006
Shivani Pandey
1.3
07/25/2006
Shivani Pandey
1.4
07/26/2006
Shivani Pandey
1.5
07/28/2006
Shivani Pandey
1.6
08/02/06
Shivani Pandey
/ Reviewed by
Sam
Harbaugh
Sam
Harbaugh
Changes Made
Original
Changed
Functional
Block Diagram to
include
Clients
perspective
Sam
Functional
Block
Harbaugh
Diagram broken down
to further lower levels
Lynn Carter, Modified
Functional
Sam
Block Diagram
Harbaugh
Sam
Description of each
Harbaugh
function added.
Lynn Carter
Change in Functional
Block Diagram to add
Legend
1
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
Table of Contents
1. Introduction………………………………………………………………..3
1.1 Background……………………………………………………………..3
2. Scope………………………………………………………………………..3
3. Functional Block Diagram ………………………………………………..6
4. Functional Description…………………………………………………….7
4.1 Sense…………………………………………………………………….7
4.2 Perceive………………………………………………………………….8
4.3 Plan……………………………………………………………………...9
4.4 Navigate………………………………………………………………..11
4.5 Record………………………………………………………………….12
4.6 Ensure Safety…………………………………………………………..12
4.7 Manual Control………………………………………………………...14
5. Conclusion ………………………………………………………………..14
2
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
1. Introduction
Team SkyBot is preparing to participate in the Pikes Peak Robot Hill Climb Race.
Our goal is to develop the winning race vehicle which is quick, agile, and stable and can
handle rough terrain and can reach the finish line of the race in the least time performing
better than its competitors. It should function autonomously, be equipped with proper
safety equipment and should be controlled by a chase vehicle. In this functional analysis
document we capture the desired functionality of the race vehicle subsystem to complete
the race successfully.
1.1
Background
The race course is a 12.4 mile race, with +/- 10% grades, 156 corners, many of
them hairpins, and 2,000 foot cliffs with no guardrails. It is a 4,710 foot climb from the
start line to a summit of 14,100 ft.
The requirements of the race have been documented in the requirements analysis
document. The functional block diagram of the race vehicle subsystem is designed based
on the functions the race vehicle will have to perform in order to move from the start to
the finish line.
2. Scope
The top-level of the functional block diagram captures the flow in entirety which
we have considered for approaching the race.
2.0
1.0
Requirements
Analysis and Validation
8.0
3.0
Design the race
vehicle subsystem
Perform integration
and sub system
acceptance test
6.0
7.0
Post-Race Vehicle
Maintenance and
Operations
4.0
Procure or
Develop the
subsystem
components
Operate the vehicle in
actual race environment
3
Operate the vehicle in
Pre-Race environment
5.0
Package and
Ship the race
vehicle
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
From this diagram we can’t conclude what the actual function of the race vehicle
will be. Hence we break down the step (7.0) which emphasizes on operating the race
vehicle in the actual race environment.
7.0
Ref
Operate the vehicle in
actual race
environment
7.1
7.2
Prepare the race
vehicle in inertial
state
Move the race
vehicle to the start
line
7.3
Start the race
vehicle subsystem
at the start line
7.4
Move the race
vehicle from the
start line to the
finish line
7.5
Perform the race
vehicle system
shutdown
7.6
Manually control /
maneuver the race
vehicle
This is a sequential step by step representation of what we will need to do to operate the
vehicle and complete the race. The notion of what the race vehicle subsystem does is still
not introduced. So we need to concentrate on the block 7.4 which considers moving the
race vehicle from the start to the finish line.
We capture the functions which will be performed by the race vehicle subsystem
to move from the start to the finish line safely in least possible time. The functionality of
each of the critical steps is captured along with a small description of components which
will accomplish the task.
4
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
The Pikes Peak Hill climb race provides tremendous technical challenges while
synthesizing the different functionalities into an integrated system. The Challenge can be
broken down into distinct components:
1. Real time sensing of the environment to avoid obstacles.
2. Perceiving the true nature of the obstacles
3. Map assessment and planning to define a path to the goal, selection of the
optimal route,
4. Transmission of commands to mechanically move the vehicle.
5. Recording the movement of the vehicle.
6. Ensuring safety of the spectators, race vehicle subsystem and the participants.
Each of these functions has further been discussed to cover the components which can be
used to achieve the expected functionality.
The complete functional block diagram as it will be for the race vehicle subsystem is
shown below.
5
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
3. Functional Block Diagram
2.0
1.0
Requirements
Analysis and Validation
3.0
4.0
Procure or
Develop the
subsystem
components
Design the race
vehicle subsystem
8.0
5.0
6.0
7.0
Post-Race Vehicle
Maintenance and
Operations
Perform integration
and sub system
acceptance test
Operate the vehicle in
actual race environment
Package and
Ship the race
vehicle
Operate the vehicle in
Pre-Race environment
6.0
6.1
Ref
Operate the vehicle in
Pre-Race environment
Check conformity
with the Race
Administration Rules
AND
6.3
G 7.0
G
Disqualify the race
vehicle
G
G bar
6.4
6.2
Test the
performance of race
vehicle
Maintain the race
vehicle
G bar
7.0
7.1
Ref
Operate the vehicle in
actual race
environment
7.2
Prepare the race
vehicle in inertial
state
Move the race
vehicle to the start
line
G 7.2
7.1
Check Fuel level, oil level, Air
flow, temperature
7.4
Move the race
vehicle from the
start line to the
finish line
Start the race
vehicle subsystem
at the start line
7.1.2
7.1.1
Ref Prepare the
race vehicle in
inertial state
7.3
G bar
7.5
Perform the race
vehicle system
shutdown
Maintain the race
vehicle
7.6
7.4.1
7.4.1
Sense à GPS, RADAR
,LIDAR,Contact Sensors
Manually control /
maneuver the race
vehicle
7.4.2
Perceive à Imaging, Database
7.4
Ref
Move the race
vehicle from the
start line to the
finish line
7.4.7
7.4.3
Plan à RDDF , Software System
Reach the finish line
safely
7.4.4
Navigate
LEGEND
All Functions are
happening simultaneously
7.4.5
Record à Stereovision Camera
Output from one function is
given as input to the next
simultaneous function
7.4.6
Ensure Safety à
Klaxon , Beacon, Safety Buttons
to Disable / Enable vehicle
Functional Flow Diagram for Race Vehicle SubSystem
6
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
4. Functional Description
The main functions of the race vehicle identified are explained below:
4.1 Sense :
- Read / Interpret Sensors
- Pose Sensing
- Obstacle Detection
By sense we mean, the ability of the race vehicle subsystem to read/ interpret the input
which will be obtained from the various sensors mounted on the vehicle. This sensing
architecture is fused with the overall vehicle control. Each obstacle detection component
is an independent component and the functionality that will be achieved by these
components such as GPS, RADAR, LIDAR, contact sensors is described below.
Using a GPS receiver, we can determine the latitude, longitude and altitude of the race
vehicle. This receiver with its built-in-clock will give us other pieces of information such
as

how far has the race vehicle traveled

how long has the race vehicle been traveling

the current speed of race vehicle

the average speed of race vehicle

estimated time of arrival of race vehicle at the top of the mountain, keeping the
minimum constant speed.
Thus the state of our race vehicle can be sensed with GPS, which globally estimates
vehicle position and orientation with respect to map database with excellent short-term
accuracy and minimum long-term drift.
7
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
RADAR will be used to detect the position of the object / obstacle at any distance. The
RADAR is not susceptible to dust/mud interference or lighting conditions and has the
longest range. The RADAR broadcasts the obstacle parameters including position in both
local and global coordinates along with obstacle size to the perceiver.
LIDAR will also do the global positioning and sizing of the obstacle. It will return the
highest features, for example tree canopy, buildings etc and also valuable data about
objects right on the surface of the earth.
Contact sensors are integrated to provide a method to indicate if any vehicle is coming
in close vicinity of the race vehicle.
Vehicle stuck scenarios are handled through close range sensors (LIDAR & contact
sensors) if stuck against immobile obstacles as well as vehicle wheel rotation with respect
to other navigation clues for mud/sand/high-center obstacles.
4.2 Perceive:
-Geometry Characterization
Once the vehicle is capable of detecting some obstacle, it needs to possess the ability of
associating that sensed object with some known object which it already maintains in its
database form previous experiences or what has been fed in the database.
The problem of ascertaining the presence of dynamic objects in a robot’s vicinity
becomes all the more obscure when information about the environment is obtained from
range sensors (lasers).
8
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
In vision-based detection and tracking systems a single snapshot can furnish the essential
details and a holistic representation of the environment can be obtained.
Data obtained from range sensors on the other hand are nothing but discretized spatial
samples, which represent those parts of the local environment that have reflected the
beam emitted by these sensors.
To obtain a unified picture of the environment based on a temporal sequence of such
spatially discrete samples becomes problematic, especially if the environment is
nonstationary and the sensors are themselves subjected to translation and rotation. In
spite of these difficulties, range sensors (especially lasers) have been popular.
Here in our case, perceived environmental interpretation is achieved by combining the
data obtained from LIDAR, RADAR and GPS. The imaging of data is done and the
results are matched with the entries in the database to determine what is the magnitude
and type of the obstacle. The database will already have a repository of object images
mapped such as rock, another car, people, shrub, bushes etc. The vehicle will perceive its
environment and send the appropriate commands by running some software algorithm
and this will be mechanically translated to the actuators which will then give directions to
the planning system about what path the vehicle should follow in order to reach the top of
mountain in the least time and safely.
4.3 Plan:
Once the vehicle understands the nature of the obstacles on its way and knows the track
that it has to follow, the next important function is to be able to plan the path and the
speed at which the vehicle will move through that path to ensure safety and at the same
time reach the destination fast.
The objective of the plan function is to keep a check on:

speed

path
9
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
-Plan speed
-Plan path
Based on these two factors the race vehicle subsystem can take the decision of how it
should proceed on the current path which it is traversing and at the same time determine
how it should proceed to avoid obstacles and reach destination.
The software system will have the program to interpolate between the large GPS
increments provided in the RDDF file. The algorithm’s purpose is to generate points at
increments that the GPS follower could follow even without a path planner active.
In case the GPS fails to work, the primary sensor for this adjustment is the road following
LIDAR system. Path planner receives “center of the road” messages from the road
follower. Based on current position, route boundaries, and operating speed, the path
planner decides to adjust the path onto the center of the road. This is done using a
proprietary real-time path overlaying technique that can adjust the path in the real-time
controller while moving at speed.
Each obstacle detection sensor follows the same process. A failure of any individual
sensor results in no information being broadcast from that specific sensor. Each sensor
filters the data by comparing the data from other sensors of the same type which provides
true positive obstacles to the path planner.
10
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
4.4 Navigate:
Once the race vehicle knows the path and the speed at which it has to travel, the steps that
become important for it to continue its movement on the track and reach the summit are
as follows.
Navigate
- Steering
- Road finding /
following
- Braking /
Speed Control
- Disable / Enable
vehicle
Vehicle state is also derived from the supplementary navigation system that provides
vehicle orientation with respect to the flat earth. Feedback is also provided by several
sensors located with each actuation system. There are some behavioral processing
algorithms run for each of these sensors.
Using the feedback, the race vehicle should be able to steer forward and
backward. Speed control determines the need for braking and throttle actuation. This
takes into account the starting/stopping/operating on flat and inclined surfaces.
During the race, the race vehicle will receive signals only through E-Stop, GPS via
satellite. The vehicle can be disabled or enabled using the E-Stop transmitter from the
chase vehicle. In case the GPS stops to function, the race vehicle should be able to do
road following by adjusting itself in the center of road and maintaining the sense of
where it is heading using the current position as basis for sensing.
11
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
4.5 Record
The progress of the race vehicle will be captured by the cameras which are mounted on
top of the race vehicle in all directions. These cameras will closely monitor the track
followed by the race vehicle and record the same
- Capture path
. This is important from the stakeholder’s point of view as the sponsors will earn the
entertainment value from the captured video. Also the tape can be viewed later by the
team to understand its follies.
4.6 Ensure Safety:
The top most attribute of our race vehicle subsystem is to ensure safety of the spectators,
race participants, objects in the environment and the system itself. This is the most
important requirement from our system. There are several ways in which we shall ensure
that the operations of the vehicle are safe.
- Make sound
- Emit light
- Suppress fire
- Continuously monitor
all subsystem elements
12
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
We have several components to achieve the above functions, these are described below.
Klaxon: In case of failure of any of the critical subsystems of the race vehicle, klaxon
should set off and alarm people or spectators. This will warn the spectators and the race
administration and the participating teams that something is wrong in the race vehicle and
appropriate actions can be taken quickly.
Beacon: The beacon should get activated and flash the warning signal or light so that in
case of foggy weather or in dark, race administration or spectators or the representing
teams will take note that something has gone wrong even from a far off distance and the
race track can be cleared to deflect potential possibility of threat.
Safety Buttons: There are four safety buttons on the vehicle. In addition to this, the
vehicle is also controlled by the E-Stop which is located in the chase vehicle.
To move the vehicle, an emergency brake manual deactivation knob (any of the four
buttons) on the outside of the vehicle can be turned which will release the brakes. A
manual brake lever is available if the vehicle starts to roll. In addition, the gear shift
switch is available to put the vehicle in PARK (or pause) if necessary.
The manual DISABLE buttons cut the power to the brake deactivator. The spring-loaded
brake will apply automatically. The main engine power is disconnected and the engine
control module is grounded causing the engine to stop completely. This will prevent any
unexpected movements.
Safety equipments such as fire extinguishers will be mounted external to the race vehicle
to suppress fire. Safety control system will continuously monitor all the subsystems. This
will help to take a fast step to realizing the problems in the subsystem early and it will
ensure safe movement of the vehicle.
13
SkyBot
Pikes Peak Robot Hill Climb
SkyBot_FunctionalAnalysis_V1.6
All the equipments which are mounted on the vehicle will be put in cages or shields so
that they do not fall-off during the normal operation of the vehicle. This is to ensure an
extra level of safety of the spectators.
4.7 Manual control
The vehicle will remain human drivable. The vehicle will also be controllable
using an E-Stop transmitter so that in case of any unexpected events the vehicle can be
controlled from the chase vehicle. At the end of the race when the vehicle reaches the
finish line the subsystems will stop working and the vehicle control will transfer to
manual operations.
5. Conclusion
Based on this functional analysis, we model our race vehicle subsystem. We have
identified the components for carrying out the functionality to move from the start to the
finish line and now we can proceed to do the reliability analysis for each of the
components identified for the subsystems to gain confidence in how best can we meet the
requirements.
14
Download