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