Swarm Robotics - UCLA Department of Mathematics

57 downloads 6714 Views 4MB Size Report
To go right or left ... that is the question. ▻ A line .... ”Anteros Labs Micro-Car User Manual,” Private Distribution, 2010. M. ... A. Turan, S. Bogosyan, M. Gokasan.
Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010

Swarm Robotics Communication and Cooperation over the Internet

Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration

Will Ferenc, Hannah Kastein, Lauren Lieu, Ryan Wilson Mentor: Jérôme Gilles

UCLA Applied Mathematics REU 2011

Car Camera Conclusion

Swarm Robotics

Swarming

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

c Credit: 2010 Bruce Avera Hunter, Courtesy of life.nbii.gov

Definition: Collective behavior of decentralized, self organized systems

Third Generation Micro-Cars

Swarm Robotics

Introduction Swarming

I

I

I

I

I I

Short or long range IR sensor to detect barriers 350 MHz FPGA for on-board processing (Upper Board) 50 MHz ARM microcontroller for velocity and steering control (Lower Board) Two radios for communication

Program in C using Xilinx Studio Communication between upper and lower boards I

No shared memory and limited streaming variables

Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Swarm Robotics

Third Generation Micro-Cars

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Lower Board: I

Transmit position (GPS)

I

Steering control

Upper Board: I

Intervehicle communication

I

GUI

I

Processing

Testbed Communication Setup

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Lower board radio: Tracking computer sends locations to individual cars Upper board radio: Intervehicle communication and GUI interface

Swarm Robotics

Tracking System (GPS)

Introduction Swarming Testbed

Binary tags identify cars

Communication

I

Thresholding

Algorithms

I

Contour mapping

I

Peer to Peer 2010 Peer to Peer 2011

Background Path Planning Swarming

Collaboration Car Camera Conclusion

Peer to Peer 2010

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

I

Finite state machine with token based broadcasting

I

Daisy Chain algorithm and coupling

Peer to Peer 2010

Swarm Robotics

Introduction

Problems:

Swarming Testbed

Communication

I

Encountered lossy transmission problems I

I

Internal clocks not synchronized I

I

Enters infinite receiving loop if header byte is lost Resulted in interference between transmitted messages

Used overhead camera tracking broadcasts to locate peers I

Limited streaming between lower and upper boards

Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Peer to Peer 2011

Swarm Robotics

Introduction

Objective:

Swarming Testbed

Communication

I

Set up a peer to peer network protocol for sharing information

Peer to Peer 2010 Peer to Peer 2011

Algorithms Background

I

Enable swarming algorithms to share data about the environment and cooperatively execute tasks

Path Planning Swarming

Collaboration Car Camera Conclusion

I

Rapidly updated information will compensate for lost messages

Peer to Peer 2011 Plan

Swarm Robotics

Introduction Swarming

I

I

Implement interrupt handlers for sending and receiving messages via upper board radio Time-scheduled broadcasting for individual cars I Requires clock synchronization

Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Peer to Peer 2011

Swarm Robotics

Introduction

Message:

Swarming Testbed

Header Car ID X Coordinate Y Coordinate Heading IR Sensor Distance Terminator Total

Number of Bytes 1 1 2 2 2 2 1 11

Broadcast: 115200 bps −→ 1.2 ms per broadcast −→ 10.8 ms for 9 cars GPS and Lower Board Streaming: 30 Hz −→ takes 33.4 ms to update

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Peer to Peer 2011

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration

Processing: Leave 1 ms after each send to parse and store the message

Calculation: Remaining time reserved for onboard calculations and commands to the lower board

Car Camera Conclusion

Peer to Peer 2011

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Objectives

Swarm Robotics

Introduction

Tasks

Swarming Testbed

Communication

I

Follow a prescribed path

I

Dynamically avoid obstacles

I

Target search

I

Swarming/Multi-robot Algorithm

Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

I I

Robots have no apriori knowledge of map Know the position of other robots updated through peer to peer communications

Swarm Robotics

Path Planning Algorithm

Introduction

Potential Field

Swarming Testbed

Communication

I

Target emits attractive force.

I

Boundary and peers emit a repulsive force.

I

Car moves in the direction of the sum of all forces.

Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

F = Qr

C

K −1 L X X rt ri + Q + Bi r krt k2 kri k2 i=1

Qr : car potential (< 0) C: target potential (> 0) ri : vector from i-th car to current car rt : vector from target to current car K : number of cars L: number of boundary points Bi : i-th boundary term

i=1

!

Collaboration Car Camera Conclusion

Swarm Robotics

The Boundary Term, Bi :

Introduction Swarming Testbed

Communication Peer to Peer 2010

I

No boundary i sensed within semicircle means Bi = 0

Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration

I

Otherwise,

Car Camera

 Bi = Br

rB⊥



krB k2

where Br < 0 is the barrier potential. I

Perpendicular vector direction (rB⊥ ) is arbitrarily chosen.

I

Avoid scenario of all cars passing a boundary on the same side and creating a traffic jam.

Conclusion

To go right or left . . . that is the question

Swarm Robotics

Introduction Swarming Testbed

I

I

A line drawn between the target and the car separates the testbed into two regions. rB⊥ is chosen to be a vector in the region that contains less cars.

Does it actually work? I

In simulations - Yes

I

In practice Fit a curve to IR sensor data to estimate distance from the boundary. If the distance is below a threshold, the car will go perpendicular to its current heading.

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Swarming Algorithm

Swarm Robotics

Introduction Swarming Testbed

I

One car leads - the rest follow

I

Stay in formation without running into peers

I

Also uses the concept of a potential field

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Swarm Robotics

Morse Potential Equations dxi = vi dt

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

 dvi mi = α − βkvi k2 vi − OU (xi ) + dt

N X

C0 (vj − vi )

j=1

Algorithms Background Path Planning Swarming

Collaboration

N

U (xi ) =

X 1 2 Cl (xi − y ) + Cr e−kxi −xj k/lr − Ca e−kxi −xj k/la 2 j=1

xi Vi y N α β U

: : : : : : :

i-th car’s position i-th car’s velocity position of leader car number of cars self-propulsion drag potential function

C0 Cl Cr Ca lr la

: : : : : :

velocity alignment coefficient leader following coefficient car repulsion coefficient car attraction coefficient repulsion length attraction length

Car Camera Conclusion

Networking testbeds collaboration Serial communication with cars

Swarm Robotics

Introduction Swarming Testbed

I

Terminal Client C++

I

Terminal Synchronous Client Matlab

I

Cars communicate wirelessly, so intercepting communication with the computer does not interfere

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration

Communication over internet I

Requires Instrumentation Control Toolbox

I

Can send strings, integers, floating point numbers, even matrices of a known dimension

Car Camera Conclusion

Collaboration Network Communication

Swarm Robotics

Introduction Swarming Testbed

I

Problems I I I

Firewall Latency to Cincinnati Port overuse

I

TCP/IP

I

Sucessful collaboration with UC

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Camera

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Hardware

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Camera Configuration

Swarm Robotics

Introduction

I

I

Use the built in IP to configure the 94 registers on the camera Registers to configure: I I I I

FPS Resolution ACF (Flicker protection) ...

Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Summary

Swarm Robotics

Introduction Swarming Testbed

I

I

I

Created a peer to peer network that can be combined with swarm algorithms

Communication

Implemented both a path planning and swarming algorithm

Algorithms

Collaboratively swarmed in simulation with University of Cincinnati

Peer to Peer 2010 Peer to Peer 2011

Background Path Planning Swarming

Collaboration Car Camera Conclusion

Future Work

Swarm Robotics

Introduction Swarming Testbed

I

Test more algorithms

I

Test with more vehicles

I

Collaborate with another testbed using vehicles

I

Optimize interrupts so the onboard camera can function without conflicting with peer to peer

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Collaboration Car Camera Conclusion

Acknowledgements Rick Huang Jérôme Gilles Andrea Bertozzi Yasser Taima

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning

UCLA Mathematics Computer Consulting Office (Bugs)

Swarming

Collaboration

University of Cincinnati Cooperative Distributed Systems Lab: Manish Kumar, Balaji Sharma Tim Arnett, Kevin McClellan, and Kaitlyn Fleming

Car Camera Conclusion

References

Swarm Robotics

Introduction Y.R. Huang. ”Anteros Labs Micro-Car User Manual,” Private Distribution, 2010.

Swarming Testbed

M. Gonzalez, X. Huang, D.S. Martinez, C.H. Hsieh, Y.R. Huang. ”A Third Generation Micro-Vehicle Testbed for Cooperative Control and Sensing Strategies,” International Conference on Informatics in Control, Automation and Robotics (ICINCO), 2011.

Communication

A. Turan, S. Bogosyan, M. Gokasan. ”Development of a Client-Server Communication Method for Matlab/ Simulink Based Remote Robotics Experiments,” 2006 IEEE International Symposium on Industrial Electronics.

Algorithms

Peer to Peer 2010 Peer to Peer 2011

Background

W. Liu, Y.E. Taima, M.B. Short and A.L. Bertozzi, Multi-scale Collaborative Searching and Swarming, in the Proceedings of the 7th International Conference on Informatics in Control, Automation, and Robotics (ICINCO), Madeira, Portugal, June 2010.

Path Planning Swarming

Collaboration B.Q. Nguyen, Y.L. Chuang, D. Tung, C. Hsieh, Z. Jin, L. Shi, D. Marthaler, A. Bertozzi, and R.M. Murray. ”Virtual Attractive-Repulsive Potentials for Cooperative Control of Second Order Dynamic Vehicles on the Caltech MVWT.” American Control Conference, 2005, pp. 1084-1089.

Car Camera Conclusion

Swarm Robotics

Introduction Swarming Testbed

Communication Peer to Peer 2010 Peer to Peer 2011

Algorithms Background Path Planning Swarming

Questions?

Collaboration Car Camera Conclusion