1 Multi-agent Collaborative Flight Experiment Karl Hedrick UC Berkeley.

Post on 11-Jan-2016

223 views 4 download

Transcript of 1 Multi-agent Collaborative Flight Experiment Karl Hedrick UC Berkeley.

1

Multi-agent Collaborative Flight

Experiment

Karl HedrickUC Berkeley

2

CIRPAS, Camp Roberts, CA

Operated by the Naval Post Graduate School

3

Collaborative UAV Flight Test

GOALS of the August, 2006 Experiment Thrust 1. Distributed collaboration with limited communications a.) multi-vehicle, multi-step task allocation b.) limited ground-air and air-air com c.) user task cancellation/reallocation d.) agent created tasks e.) task prioritization f.) no fly zone filter and re-planner g.) Simple human/UAV team interface

Thrust 2. Vision-based river following.

a.) Ability to identify and search for the desired structure (river).

b.) Ability to accurately track the river once identified.

c.) Ability to accurately map the boundaries of the river.

4

Collaboration Research Goals In General

Study distributed mechanisms for the collaboration of Unmanned Aerial Vehicles (UAV)

Generalize a large number of missions under one framework• Surveillance/Mapping • Border Patrol• Search & Rescue• Convoy Protection, etc.

Emphasis on Robustness rather than Optimization:• Addition and Deletion of Tasks• Addition and Removal/Failure of Agents• Limited and/or Failed communication

5

C3UV Collaboration Software

GOALS•Transmit desired mission from user to agents•Provide user with fused information from agents•Decompose and assign tasks among agents in response to dynamic mission definition •Accomplish tasks in an efficient and robust manner

Agent in range of user

Agent out of range

User

New tasksCancel tasks

Command station

Mission state est. Mission state estimate

6

Communication Infrastructure

User

New tasksCancel tasks

Command station

Piccolo Groundstation

Piccolo Autopilot

PC104

Piccolo Autopilot

PC104

900 MHzradio

2.4 GHzethernet

7

The Mission

User defines mission in terms of tasks

Philosophy“The user specifies what he or she would like accomplished.

The system decides how to do so efficiently.”

8

Mission Commander Interface

9

Graphical User Interface

C:\Documents and Settings\Sonia\Desktop\CommanderSDK.exe

11

Monitor Area Task

Task details

Goal Detect any velocity-bounded intruder that cannot leave a defined boxTrajectory UAV path depends on maximum speed of intruder; path

becomes a “lawnmower” trajectory if maximum speed is zero

12

Guaranteed Search Task

Goal Detect any intruder traveling from a known start point with a bounded velocity

Simulation Result 500 of 500 intruders detected in simulation

Task details

18

Avoiding a no fly zone: active filter

Task Controller

No FlyZone Filter

Autopilot

Desired autopilotcommand

Safe autopilotcommand

No fly zone

Visit task

19

BLCC- Berkeley “Language” for Collaborative Control

Define the mission and communicate it to team members

Define the “state” of each agent

Define the mission “state”

Allow for faults

Allow for conflict resolution

Define the information to be communicated between agents.

20

Agents (UAVs)

Transition Logic: Governs transitions of tasks and subtasks

Communication: Deconflicts plans and synchronizes information between agents vs.

Planner(ex. path-planner): calculates cost, generates plan and chooses “todo”

Low-level Controller (ex. waypoint tracker)

)(

][

ˆ

],[

],[

k

k

k

yxk

PCost

PPlan

T

vvVelocty

yxPosition

AgentID

X

)(

ˆ

k

kk

PCost

T

AgentID

M

kT̂kT

21

Task-Point List

Every process and each agent communicates primarily through the task-point list

A task-point list exists for each task and is manipulated by each process to generate a desired mode/task/mission

1

2

3

4

22

Real-Time Task Allocation Algorithms Multiple agents/Multiple Tasks

Emphasis on real-time computation and robustness to communication limitations and agent failure.

Recent progress on optimal and sub-optimal algorithms

24

Task Allocation

Given n UAVs and m tasks, how do we assign tasks to UAVs?• Assume that each task is simply a point to be visited, with some time spent at

that point. • Neglect UAV turn rate constraints – assume constant velocity• For each UAV, let a tour be an ordered set of targets that it will visit• Let the cost of tour be the total time required to complete. For a constant

velocity UAV with no turn rate constraint, this time corresponds to distance.

Often this is posed as an instance of the multiple traveling salesman problem

25

Multiple Traveling Salesman

The Multiple Traveling Salesman Problems focuses on minimizing total cost. For n UAVs, with the cost of a tour for UAV j = Tj

Our problem differs: we should focus on minimizing the max cost of any tour• Given that we’re working with constant velocity UAVs, the cost in fuel

of having a UAV circle is the same as having it do some work. • For our problem, this corresponds to a minimum clock time problem.

This problem is often referred to as the min-max Vehicle Routing Problem.

26

Min-Max Vehicle Routing

The min-max Vehicle Routing Problem is NP hard. There is no polynomial time solution.

We’d like to develop algorithms find near-optimal solutions to the min-max problem.

In practice, we’d like to build algorithms that are robust to communication losses; with perfect communication, we’d like these algorithms to achieve near optimal performance.

27

The Greedy Algorithm

In constructing a tour, let the UAV with the lowest cost function for its partial tour choose the next task.

This algorithm leads to balanced tours among UAVs: all UAVs perform tours of roughly equal cost. • For the min-max VRP, optimal solutions will contain tours balanced to within

the maximum distance between any two tasks.

This is a fast algorithm that creates balanced tours

Sub-optimal

2 questions:• How well does this work?• How do we implement this in a distributed system with limited

communication?

28

Approximate Multi-step Distributed Min-Max Vehicle Routing Algorithm

0 Communication and 1 Computation

29

Example continued…

1 Communication and 1 Computation

30

Example continued…

1 Communication and 2 Computation

31

Example continued…

2 Communication and 2 Computation

32

Collaboration Architecture

Mission State

Estimate MSEA

Internal State

ISA

Information Base

Communication

Computation

BroadcastReceive

Decision

Functions

Choose

RedoFault

Complete

MSEAMSEB

Integrates MSEA

and MSEB

Retains most up-to-date information

Agent A

User Plan

Task Execution

33

How we implement in software

PiccoloInterface Datahub

PayloadInterface

Controllers

A2A Wireless

Collaboration Sensors

Telemetry

Aircraft Commands

High Level Telemetry

User Commands

SensorData

Collaboration info

AC Commands

MissionPlan

Mission Plan

Task Execution

Safe FlightController

34

Sig Rascal 110 airframe

Balsa frame remote control aircraft kit with 110” wingspanModifications:•32 cc gasoline engine with vibration isolation mounts•Dual fuel tanks for 60 min flight time•Carbon fiber reinforcement to support payload•26 lb takeoff weight•Piccolo avionics system

35

Berkeley Air Force

36

PC104 stack and payload tray

•PC104 with 700 MHz Pentium III processor•2 GB flash memory (16 GB on vision plane)•Bidirectional 1 Watt amplifier for 802.11b communication•Vibration isolating suspension•Wireless analog video transmitter

38

UC Berkeley UAV Platform: Autopilot, HIL Sim

Low Level Guidance and Control Provided by Cloud Cap Technology’s Piccolo Avionics Module and Corresponding Ground Station System

Capable of operating multiple vehicles. C3UV has successfully flown four vehicles simultaneously.

Wireless LinkActuators and

Sensors Signals

Piccolo Avionics

Ground Station

Ground Station Computer

Simulated States

Hardware In Loop (HIL) Simulation

Computer

Manual Control Console

39

UC Berkeley UAV Platform: Communications

Three Communications Channels:

Autopilot Avionics and Ground station: 900 MHz

Plane to Plane communication: 2.4 GHz

Video downlink: 1.2 GHz

Ground Station

40

Piccolo avionics system

PiccoloGround station

900 MHz UHF radio“Piccolo channel”

Autopilot commands and telemetry

Piccolo Operator Interface•Send waypoint commands•Monitor aircraft physical state

Piccolo Piccolo

41

User interfaces and Piccolo payload channel

PiccoloGround station

900 MHz UHF radio“Piccolo channel”

Autopilot commands and telemetry“Payload channel”

Communication between PC104s and GUIs

Piccolo Operator Interface•Send waypoint commands•Monitor aircraft physical state

Piccolo Piccolo

PC104 PC104

Process Monitor Interface•Activate or idle processes•Monitor process states

Mission Commander Interface•Create tasks•Monitor status of tasks and UAVs

42

Aircraft to aircraft communication

Piccolo Piccolo

PC104 PC104

2.4 GHz 802.11b ad-hoc wireless ethernetMission state estimates

Task allocation data

Piccolo

PC104

43

Preview of collaboration experiment - Logistics

Mission Commander InterfaceVideo downlink from aircraft

Piccolo Operator InterfaceRead-only display of Mission Commander Interface

Process Monitor Interface

Mission Commander Tent Status Monitor Tent

Aircraft launch process1. Aircraft takes off under manual control2. Pilot gives control to Piccolo autopilot- aircraft flies on preloaded waypoint loop3. Onboard software is activated using Process Monitor Interface

** At this point the aircraft is controlled only via the Mission Commander Interface.All other personnel serve only as monitors.**

47

UC Berkeley UAV Platform: All Together

Wing-Mounted Camera

Onboard computer and wireless communication radio

GPS Ant. Analog Video TX’s

Air-Ground UHF Ant.

59

August ONR Demonstration

60

LESSONS LEARNED Initially Air-Air com was so bad that mission performance was unacceptable.

Improved amplifier/antenna combined with robust architecture allowed us to accomplish complex missions successfully.

Ground-Air link needs to have a higher bandwidth for human/UAV interaction.

Required computation including task allocation and vision processing can be done on a Pentium III.

3 UAV’s with 4-5 tasks is already too complex for humans without autonomy software.

Complex interaction between task allocation and priority system needs further analysis.

61

The End