Post on 20-May-2020
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
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
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
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
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
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
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.
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
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
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
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
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
Swarm Robotics
IntroductionSwarming
Testbed
CommunicationPeer to Peer 2010
Peer to Peer 2011
AlgorithmsBackground
Path Planning
Swarming
Collaboration
Car Camera
Conclusion
Peer to Peer 2011
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
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
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.
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.
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
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
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
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
Swarm Robotics
IntroductionSwarming
Testbed
CommunicationPeer to Peer 2010
Peer to Peer 2011
AlgorithmsBackground
Path Planning
Swarming
Collaboration
Car Camera
Conclusion
Camera
Swarm Robotics
IntroductionSwarming
Testbed
CommunicationPeer to Peer 2010
Peer to Peer 2011
AlgorithmsBackground
Path Planning
Swarming
Collaboration
Car Camera
Conclusion
Hardware
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 . . .
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
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
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
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.
Swarm Robotics
IntroductionSwarming
Testbed
CommunicationPeer to Peer 2010
Peer to Peer 2011
AlgorithmsBackground
Path Planning
Swarming
Collaboration
Car Camera
Conclusion
Questions?