29
Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming Collaboration Car Camera Conclusion Swarm Robotics Communication and Cooperation over the Internet Will Ferenc, Hannah Kastein, Lauren Lieu, Ryan Wilson Mentor: Jérôme Gilles UCLA Applied Mathematics REU 2011

Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

  • Upload
    others

  • View
    27

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Swarm RoboticsCommunication and Cooperation over the Internet

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

UCLA Applied Mathematics REU 2011

Page 2: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Swarming

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

Definition:

Collective behavior of decentralized, self organized systems

Page 3: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Third Generation Micro-Cars

I Short or long range IR sensor todetect barriers

I 350 MHz FPGA for on-boardprocessing (Upper Board)

I 50 MHz ARM microcontroller forvelocity and steering control (LowerBoard)

I Two radios for communication

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

I No shared memory and limited streaming variables

Page 4: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Third Generation Micro-Cars

Lower Board:I Transmit position (GPS)I Steering control

Upper Board:I Intervehicle

communicationI GUII Processing

Page 5: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Testbed Communication Setup

Lower board radio:Tracking computer sends locations to individual cars

Upper board radio:Intervehicle communication and GUI interface

Page 6: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Tracking System (GPS)

I Binary tags identifycars

I ThresholdingI Contour mapping

Page 7: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2010

I Finite state machine with token based broadcastingI Daisy Chain algorithm and coupling

Encountered lossy transmission problems.

Page 8: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2010

Problems:

I Encountered lossy transmission problemsI Enters infinite receiving loop if header byte is lost

I Internal clocks not synchronizedI Resulted in interference between transmitted messages

I Used overhead camera tracking broadcasts to locatepeers

I Limited streaming between lower and upper boards

Page 9: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2011

Objective:

I Set up a peer to peer network protocol for sharinginformation

I Enable swarming algorithms to share data about theenvironment and cooperatively execute tasks

I Rapidly updated information will compensate for lostmessages

Page 10: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2011Plan

I Implement interrupt handlers for sending and receiving messagesvia upper board radio

I Time-scheduled broadcasting for individual carsI Requires clock synchronization

Page 11: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2011

Message:Number of Bytes

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

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

Page 12: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2011

Processing:

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

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

Page 13: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Peer to Peer 2011

Page 14: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Objectives

Tasks

I Follow a prescribed pathI Dynamically avoid obstaclesI Target searchI Swarming/Multi-robot Algorithm

I Robots have no apriori knowledge of mapI Know the position of other robots updated through peer

to peer communications

Page 15: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Path Planning Algorithm

Potential Field

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.

F = Qr

(C

rt

‖rt‖2 + Qr

K−1∑i=1

ri

‖ri‖2 +L∑

i=1

Bi

)

Qr : car potential (< 0)C: target potential (> 0)ri : vector from i-th car to current carrt : vector from target to current carK : number of carsL: number of boundary pointsBi : i-th boundary term

Page 16: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

The Boundary Term, Bi :

I No boundary i sensedwithin semicirclemeans Bi = 0

I Otherwise,

Bi = Br

(r⊥B‖rB‖2

)where Br < 0 is the barrier potential.

I Perpendicular vector direction (r⊥B ) is arbitrarily chosen.I Avoid scenario of all cars passing a boundary on the

same side and creating a traffic jam.

Page 17: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

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

I A line drawn between thetarget and the carseparates the testbed intotwo regions.

I r⊥B is chosen to be avector in the region thatcontains less cars.

Does it actually work?

I In simulations - YesI In practice -

Fit a curve to IR sensor data to estimate distance fromthe boundary. If the distance is below a threshold, the carwill go perpendicular to its current heading.

Page 18: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Swarming Algorithm

I One car leads - the rest followI Stay in formation without running into peersI Also uses the concept of a potential field

Page 19: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Morse Potential Equationsdxi

dt= vi

midvi

dt=(α− β‖vi‖2) vi − OU (xi) +

N∑j=1

C0 (vj − vi)

U (xi) =12

Cl (xi − y)2 +N∑

j=1

Cr e−‖xi−xj‖/lr − Cae−‖xi−xj‖/la

xi : i-th car’s position C0 : velocity alignment coefficientVi : i-th car’s velocity Cl : leader following coefficienty : position of leader car Cr : car repulsion coefficientN : number of cars Ca : car attraction coefficientα : self-propulsion lr : repulsion lengthβ : drag la : attraction lengthU : potential function

Page 20: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Networking testbeds collaborationSerial communication with cars

I Terminal Client C++I Terminal Synchronous Client MatlabI Cars communicate wirelessly, so intercepting communication

with the computer does not interfere

Communication over internet

I Requires Instrumentation ControlToolbox

I Can send strings, integers, floatingpoint numbers, even matrices of aknown dimension

Page 21: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Collaboration

Network Communication

I ProblemsI FirewallI Latency to CincinnatiI Port overuse

I TCP/IPI Sucessful collaboration with UC

Page 22: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Camera

Page 23: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Hardware

Page 24: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Camera Configuration

I Use the built in IP to configure the 94 registers on thecamera

I Registers to configure:I FPSI ResolutionI ACF (Flicker protection)I . . .

Page 25: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Summary

I Created a peer to peer network that can be combinedwith swarm algorithms

I Implemented both a path planning and swarmingalgorithm

I Collaboratively swarmed in simulation with University ofCincinnati

Page 26: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Future Work

I Test more algorithmsI Test with more vehiclesI Collaborate with another testbed using vehiclesI Optimize interrupts so the onboard camera can function

without conflicting with peer to peer

Page 27: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

AcknowledgementsRick Huang

Jérôme Gilles

Andrea Bertozzi

Yasser Taima

UCLA Mathematics Computer Consulting Office (Bugs)

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

Page 28: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

References

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

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

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

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

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

Page 29: Swarm Robotics Introduction Swarming Testbed …Swarm Robotics Introduction Swarming Testbed Communication Peer to Peer 2010 Peer to Peer 2011 Algorithms Background Path Planning Swarming

Swarm Robotics

IntroductionSwarming

Testbed

CommunicationPeer to Peer 2010

Peer to Peer 2011

AlgorithmsBackground

Path Planning

Swarming

Collaboration

Car Camera

Conclusion

Questions?