hcs

41
Hierarchical Control Systems A Seminar on Artificial Intelligence 1

Upload: vini89

Post on 18-Jan-2015

341 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Hcs

1

Hierarchical Control Systems

A Seminar on Artificial Intelligence

Page 2: Hcs

2

What is HCS?

A form of Control System in which a set of devices and governing software is arranged in a hierarchical tree.

Page 3: Hcs

3

Some Notable Features of HCS…

This human built system has complex behavior and is often represented in hierarchy.

It is organized to divide Decision making responsibility.

Each element of the hierarchy is a linked node in the tree.

Commands, tasks and goals to be achieved flow down the tree from superior nodes to subordinate nodes.

Sensations and command results flow up the tree from subordinate to superior nodes.

Nodes may also exchange messages with their siblings.

Page 4: Hcs

4

Distinguishing features of a HCS, related to its layers:-

Each higher layer of the tree operates with a longer interval of planning and execution time than its immediately lower layer.

Their time constraints are relaxed and are capable of reasoning from abstract world model.

Lower layers form hybrid intelligent systems, which involves a combination of methods and techniques from AI subfields.

They perform local tasks and goals, as planned by higher layers.

Page 5: Hcs

5

Application

Manufacturing, robotics and vehicles Used for creating Autonomous robots. Thus, motion planning

becomes extremely important. DARPA and NIST sponsor such researches to develop

applications for military purposes.

Artificial Intelligence For building generic architecture for “behavior based

robotics” A way of decomposing complicated intelligent behavior into

many "simple" behavior modules, which are in turn organized into layers.

Page 6: Hcs

6

Defense Advanced Research Projects Agency (DARPA) is the most prominent research organization of the United States Department of Defense.(earlier known as ARPA)

In November 2007, DARPA held “the Urban Challenge”, which was a prize competition for driverless vehicles.

The winning entry, “Tartan Racing” employed a hierarchical control system, with layered mission planning, motion planning, behavior generation, perception, world modeling, and Mechatronics.

Page 7: Hcs

7

Urban Challenge The Urban Challenge required designers to build vehicles able

to obey all traffic laws while they detect and avoid other robots on the course.

This is a particular challenge for vehicle software, as vehicles must make "intelligent" decisions in real time based on the actions of other vehicles.

The competition was open to teams and organizations from all around the world.

Page 8: Hcs

8

Rules:-

Vehicle must be entirely autonomous, using only the information it detects with its sensors and public signals such as GPS.

DARPA will provide the route network 24 hours before the race starts.

Vehicles will complete the route by driving between specified checkpoints.

Vehicles may “stop and stare” for at most 10 seconds. Vehicles must operate in rain and fog, with GPS blocked. Vehicles must avoid collision with vehicles and other objects

such as carts, bicycles, traffic barrels, and objects in the environment such as utility poles.

Vehicles must be able to operate in parking areas and perform U-turns as required by the situation.

Page 9: Hcs

9

The Winner of DARPA Urban Challenge was Tartan Racing ,a team from Carnegie Mellon University, Pennsylvania.

Their vehicle “Boss” was a Chevy Tahoe with over 5,00,000 lines of code to autonomously navigate in town and in traffic.

Tartan Racing technology enabled Boss to:

Follow rules of the road Detect and track other vehicles at long ranges Find a spot and park in a parking lot Obey intersection precedence rules Follow vehicles at a safe distance React to dynamic conditions like blocked roads or broken-down

vehicles

Page 10: Hcs

10

Boss, the Tartan Racing robot, is built on a Chevrolet Tahoe chassis.It incorporates a variety of lidar, radar and visual sensors to safely navigate urban environments.

Page 11: Hcs

11

Tartan Racing employed a layered hierarchical control system: Mission planning Behavior Generation Motion planning

Planning in Lanes Planning in Zones

Perception & World Modeling Moving Obstacle Fusion Moving Obstacle Tracking Static Obstacle Detection Road Shape Feature Detectors

Mechatronics Vehicle Automation Power Electronics

Integration and Testing

Page 12: Hcs

12

The Tartan Racing architecture is decomposed into five broad areas: Mission Planning, Motion Planning, Behavior Generation, Perception and World Modeling, and Mechatronics.

Page 13: Hcs

13

Mission PlanningObjective

To Determine efficient route through urban network of roads.

Its component computes: The cost (as function of time and risk) of all possible routes through

given knowledge of road networks. The next checkpoint that vehicle must achieve. Optimal path to next checkpoint.

It compares routes based on prior knowledge of congestion or blockages construction legal speed limit

Page 14: Hcs

14

Algorithm

To generate mission plans, data provided in Route Network Definition File (RDNF) is used:

To create graph that encodes connectivity of the environment.

Checkpoints are made as nodes and routes between them as directional edges.

Costs are assigned to edges based on various factors: Expected time to traverse the edge Length of edge Complexity of local environment

Page 15: Hcs

15

Cost graph is searched to compute a minimum-cost path from each position in graph to desired goal position.

Reason: it allows navigation system to behave correctly if vehicle is unable to perfectly execute the original plan.

For e.g.:- if vehicle missed a checkpoint then it can immediately extract the current best path from its current position.

As the vehicle navigates, mission planner keeps updating its graph to incorporate newly-observed information.

Page 16: Hcs

16

Behavior Generation

Objective

formulates a problem definition for Motion Planning component to solve, based on strategic information provided by Mission planning component.

implemented as a state machine that decomposes mission task into a set of top-level behaviors and their simpler, sub-behaviors.

Top-level behaviors: Drive-down road Handle intersection Achieve-zone-pose

Page 17: Hcs

17

Algorithm

Based on concept of identifying driving contexts or various behaviors.

Drive-Down-Road Behavior Responsible for on road driving. Primary sub-behavior is Driving In Lanes (includes distance

keeping behavior in presence of a lead vehicle). Lane selector makes lane-change decisions to achieve

specified checkpoints based on– Timely progress in current lane– And necessity of being in correct lane

Distance-keeping behavior aims at– Zero the difference in our vehicle’s velocity and lead vehicle’s velocity.– Zero the difference in desired and actual inter-vehicle gaps

Page 18: Hcs

18

Handle Intersection Behavior invoked when vehicle is on an intersection or chauraha.

Establishes a polygonal zone around an intersection and tracks all vehicles within that zone.

Those that arrived at stop line before our vehicle are given higher precedence.

Once our vehicle determines that its turn to move, it checks for intersection to be clear of obstacles and vehicle (completing their exit or disobeying precedence rules).

Then traverse the intersection in a “virtual lane” created by connecting exit point of current lane to entry point in goal lane.

Page 19: Hcs

19

Page 20: Hcs

20

Achieve-zone Pose Behavior

Specifies desired position for motion planner to achieve.

Invoked when system needs to traverse a zone and park the vehicle.

Also, when vehicle has to find its way, very creatively, out of jammed traffic or from an off-road position to a position where Drive-down road behavior can resume.

Page 21: Hcs

21

Motion Planning

Objective

Responsible for executing segments of route.

Typically involves Either driving down a lane when on roads (Structured Driving) or, navigating through obstacle fields to a desired goal position when

in zones. (Unstructured Driving)

Page 22: Hcs

22

Planning in Lanes

Driving down road lanes relies on the perception sub-system to provide an indication of the current lane boundaries.

From this information a curve representing the centerline of the current lane is computed. This is the nominal path the vehicle should follow.

A local motion planner generates trajectories to a set of local goals in order to: Robustly follow the current lane Avoid static and dynamic obstacles.

Page 23: Hcs

23

The trajectory generation algorithm is developed by Howard and Kelly.

It is used to compute dynamically feasible trajectories to these local goals.

It predicts where the vehicle will end up after following some specified control trajectory.

Then control trajectory is optimized to minimize the error between the forwards-simulated vehicle position and the current desired goal position.

The resulting trajectories are evaluated against both static and dynamic obstacles in the environment their distance from the centerline path their smoothness and various other metrics.

Page 24: Hcs

24

Planning in Zones

Driving in zones is different from driving in lanes: the road lane provides a preferred position of the vehicle (centerline). no driving lanes in parking lot, thus the movement of the vehicle is less

constrained. in zones, very specific goal positions are to be reached.

A lattice planner is used that searches over vehicle position and orientation, to plan the path towards goal position.

Again, trajectory generator is used to find various paths toward goal.

planner searches in a backwards direction, from the goal pose towards the vehicle pose

generates feasible high-fidelity maneuvers that are collision-free with respect to the static obstacles observed in the environment.

Page 25: Hcs

25

To efficiently generate complex plans over large, obstacle-laden environments, the planner relies on “Anytime D*” search algorithm.

It quickly generates an initial, suboptimal plan for the vehicle then improves the quality of this solution while deliberation time allows. When new information about the obstacles is received, this algo efficiently

repair its existing solution to account for the new obstacle information. This repairing by performing the search in a backward direction This results in a nearly computation-free replanning, when the vehicle

deviates from its path due to tracking errors.

This lattice planner is flexible enough to be used in a large variety of cases. For e.g.: when navigating in congested intersections to perform U-turns to get the vehicle back on track

Page 26: Hcs

26

Perception & World Modeling

Objective

Interprets information from various sensors and fuses the multiple streams together to provide a composite picture of the world to the rest of the system.

Responsible for addressing three critical functions: the detection and tracking of moving obstacles, the detection of static obstacles, estimating the shape of the road.

Page 27: Hcs

27

Moving Obstacle Fusion

Moving obstacles are tracked using several lidar and radar.

Objective is to fuse together different information gathered by different sensors to make them coherent.

Sensors do measurement of objects they track.

A global list is maintained of tracked object by fusion layer.

Any unfamiliar obstacle tracked is added as new entry.

Page 28: Hcs

28

Moving Obstacle Tracking

Fusion layer provides the global list of tracked objects.

Mobile obstacles are tracked using Extended Kalman Filter to predict and update the state and uncertainty measurement for each tracked object.

Page 29: Hcs

29

Static Obstacle Detection

This algo uses downward looking lasers mounted on robot to evaluate the terrain around the vehicle.

Based on this info, it generates a cost map representing “traversability” of the terrain, by comparing pairs of laser points.

Based on cost, regions are categorized as “fatal”.

Page 30: Hcs

30

Road Shape Feature Detectors

Although, RDNF (Route network definition file) with Ariel images of area (used to make an estimate of road shape), are provided but actual road features can’t be identified, unless on-road.

Online Road shape detection is generated using range and intensity data from down looking short range lidars. Intensity change is indicative of painted road lines. relative changes from flat surfaces to raised curbs or drops to soft

shoulders are detected by looking for the appropriate geometric features.

Algo used are Haar wavelet transforms, heuristic edge detection with adaptive thresholding and dynamic programming methods.

Page 31: Hcs

31

Mechatronics for Autonomous Urban Driving Objective

The electrical and mechanical components provide a way for algorithms to interact with the world.

The chassis is a Chevrolet Tahoe was selected due to its integrated electronic interfaces, its high roof giving a good sensor perspective for detecting other

vehicles its plentiful room on the inside for both developers and additional

electronics. Mechatronics alterations include systems for vehicle

automation, auxiliary power, computing, and sensor mounting.

Page 32: Hcs

32

Vehicle Automation

Steering and brake/throttle are actuated by closed-loop control of motors, acting on the steering column and brake and gas pedals.

secondary driving controls (turn signals, transmission shifting, etc.) are actuated by a system from Electronic Mobility Controls (EMC).

A higher level controller is responsible for vehicle functions such as velocity control and curvature control.

Page 33: Hcs

33

For curvature control, the control loop is feed-forward.

Takes in feedback for steady-state error correction.

The speed control structure includes different controllers for throttle and brake, with a switch.

Switch is required because: throttle and brake performances of a vehicle are different. The brake system responds much faster to deceleration commands

than the throttle system does to acceleration commands. the actuator for throttle and brake is a single motor system.

Page 34: Hcs

34

Power Electronics

The Tartan Racing robots utilize auxiliary power generation to support sensors and computing.

The auxiliary power system is a high voltage generator that is driven by the engine using a secondary serpentine belt.

This generator provides up to 6 kilowatts of power depending on engine load.

Integrated Control System is used for this

It contains power converters to convert high voltage power into both AC and DC .

Manages power output, voltage levels, and temperatures of the generator and converters

Page 35: Hcs

35

Integration and Testing

Since Spiral Development process is being used, at the end of each spiral solid functionality is tested.

Involves incremental testing of each component, system as a

whole, as new functions are added or capabilities mature.

System subjected to 5 tiers of testing: Unit Testing Subsystem testing with simulated inputs System testing in pure simulation System testing on vehicle with simulation in the Loop System testing on vehicle with live testing

Page 36: Hcs

36

Unit Testing

Unit tests are small, simple software tests written by the developer while writing a particular class or function.

The objective is to verify that the class method or function being tested produces the correct state changes or output for the provided set of inputs.

Page 37: Hcs

37

Subsystem testing with simulated inputs

A particular subsystem or individual process (task) is run in isolation while its interfaces are “simulated” by playing back data.

The process produces output in debug tool for analysis.

This helps in much easier integration with rest of system by finding bugs earlier in the process.

Page 38: Hcs

38

System testing in pure simulation

The entire system can be executed on multiple computers while the various on-vehicle interfaces are simulated.

These interfaces are simulated by playing back previously logged data such as lidar data, cost maps, vehicle state, or any other interface.

On basis of output behavior, analysis is done.

Page 39: Hcs

39

System Testing on Vehicle with Simulation In the Loop

The system is executed on the robot, but live traffic is not used.

Instead, simulation is used to present simulated moving objects to the real system.

This allows the robot to “see” and react to this virtual traffic without the risk of testing in the presence of other vehicles.

System Testing on Vehicle with Live Traffic

The full-fledged system is executed in the presence of real traffic.

Page 40: Hcs

40

Summary

This multi-modal approach partitions the urban driving problem into tractable behavioral modes (road driving, intersection handling and parking).

It is a snapshot of technology under rapid development. Significant improvements are ongoing in all aspects of overall system performance.

Page 41: Hcs

41

THANK YOU