Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics courseFull description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics courseFull description
Collegiate Defensive Playbook
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Full description
deberDescripción completa
Robotics - Modelling, Planning and ControlFull description
Lecture notes from the Coursera/University of Pennsylvania Aerial Robotics course.Full description
Lecture 4.3
Control of Multiple Robots Here's an experiment studying how to use teams of robots in emergency response:
Imagine there's a 911 call or a natural disaster has occurred and you want eyes and ears on the scene before human first-responders or law-enforcement officials arrive. e can get robots with downward-facing cameras and microphones at the scene! monitoring the situation before the humans arrive at the scene. e're interested in determining how to coordinate the actions of teams of robots and how to create artificial swarms. hat information must robots communicate with each other" How do they coordinate their actions" How do they cooperate to perform tas#s that they individually cannot perform" $nd how to they collaborate with different types of robots" %ertainly nature has many examples in which individuals coordinate! cooperate and collaborate to perform tas#s that they individually can not accomplish. &he video showed examples of desert ants cooperating to carry an obect bac# to their nest( halfa-million to a million starlings floc#ing off the coast of )enmar#! coordinating to form incredibly complex patterns in the s#y( and army ants creating artificial bridges to escape a flooded region and get to dryer lands. In all these examples! individuals coordinate! collaborate and cooperate. e want to learn from these examples and build artificial swarms. Here are three organi*ing principles for collective behaviour. 1. +ach individ individual ual acts indepen independently dently.. &here is no leader in the the swarm that's that's telling every individual what to do. ,. $ll actions actions are based based only on local local information. information. $gain! $gain! there there is no mechanis mechanism m for sharing information so that every individual has the same global picture.
. $nonymity $nonymity in coordin coordination ation.. &here's &here's a paradigm paradigm of anonymity anonymity in in play here. here. &he individuals are anonymous. It really doesn't matter which individual collaborates or coordinates with which.
hen we build robots! we try to preserve these three overarching principles. &he video showed an example of robots cooperating and coordinating to build a threedimensional structure. In this particular experiment! the robots determined on-the-fly! which would pic# up what obect each obect was a truss-li#e element/! and then who gets to place them in what position. 0y coordinating their actions! they're able to build complex three-dimensional trusses.
In this example! the robots only have information about the %$) model for the truss. &hey're able to determine how to coordinate their actions and plan their traectories in a safe manner in order to accomplish the tas#. et's loo# at the mathematics of this problem. &his is a complex tas#. Imagine we have n robots 2 m obstacles. &he dimensionality of the state space grows with the number of robots. 3or a single robot we might have a state space consisting of its configuration and its velocity. 3or n robots! we essentially have n copies of the state space. 4o the complexity of whatever operation we need to perform! and the calculations we need to carry out! will grow as n increases. &he number of potential obstacles each robot must consider also increases. &he number of potential interactions increases as n,. In addition! each robot must worry about the obstacles in the environment. If there are m obstacles! then there are m possible interactions. In a team of n robots! the number of such interactions m n. &hus! the complexity of the tas# of coordinating motions and avoiding obstacles! goes as mn5n/,. 3inally! there's a 6uestion of! who does what" &his is the so-called task assignment problem. If the robots have a number of goal positions to choose from! the problem of which robot goes to what goal position can be formulated as a combinatorial problem! and the complexity of this grows as n7.
Here is an illustration of that problem. In this case! we only have three robots! starting at positions s1! s,! and s! and there are three goal positions. &he goal positions are not labelled.
&he first decision that the robots have to ma#e is: who goes to which goal position" &his is the labelled problem once the robots have decided:
&he labels g1! g, and g designate the goal position: g 1 to robot 1! g , to robot ,! and g to robot . 8athematically this can be described by an assignment matrix filled with s and 1s. &he entry! sub i! of this matrix is e6ual to 1 if robot i is assigned the goal destination ! and if the robot i is not assigned the goal destination .
1 if robot i is assigned to goal ' i ! j otherwise &he second sub-problem is planning the traectories. Here! all the state vectors are stac#ed into one big state vector:
x1 t / x t / , X t / ... x N t / t / : ;t ! t f X 9t /
&he problem of planning traectories that are safe must be formulated in this oint state space.
$s stated earlier! the dimensionality of the state space grows as n. &he safety constraint is expressed by this ine6uality:
inf x t / x t / , R j i jI! tt !t i
f
$ssuming the robots are circular or spherical! we re6uire robots i and ! to be separated by at least , , the radius. 4o for all pairs of robots i and ! this ine6uality must hold. 3urther! this ine6uality must hold at all times. 3inally! as before! we want these traectories to be optimal.
t f
= t / arg min L t //dt t /
t
&he #ey problem is to find the right assignment and to plan the traectories. 0oth of these need to be done concurrently.
&here are four #ey ideas that we use to solve this problem: 1. %oncurrent %oncurrent assignm assignment ent of goals goals and determining determining optimal optimal traectories traectories.. ,. eader-follo eader-follower wer networ#s networ#s to formula formulate te interactions interactions between between robots robots and and their neighbours. . $nonymity $nonymity.. >obots >obots can be exchange exchanged d with each each other so that the the specific specific identities of robots don't matter. ?. 4haring 4haring Information Information.. +nabling +nabling robots robots to ma#e ma#e decisions decisions based based only on local local information.
et's see how each of these ideas wor#s out in practice. 3irst! we want to be able to assign goals and plan collision free traectories. et's consider a very simple example! in which we have two robots! a red robot and a blue robot starting off from designated start positions with designated goal positions.
If we ma#e a bad assignment! even if we planned the best traectory possible in this case we@ll assume the straight-line is the best traectory/! we might get a collision! and that's because these straight-line traectories intersect:
If we were instead to thin# about the problem of finding the assignment and the outcome of the traectories concurrently we might come up with a different way of approaching the problem. &his assignment combined with the optimal traectories! turned out to be harmful because the robots got in each other's way. hat if we instead decided to go with a different assignment"
Aow the optimal! straight-line traectory! is one in which neither robot gets in the other's way. 4o! we have two possible assignments to consider! 1! where the traectories intersect! resulting in collisions! and ,! where the traectories don't
intersect. Instead of first choosing the assignment and then solving for the optimal traectory! we solve both these problems concurrently. 0efore solving these problems concurrently! we assume that the start 2 goal positions for the robots are not too close to each other. si g j , R , i A! ' 8
In other words! for any start position s i for the ith robot and any goal position g for the th robot! we want these positions to be separated by a distance that's proportional to >. &he constant of proportionality here happens to be , , . ith this assumption! we explore all possible assignments of robots to goal positions. 3or three robots and three goals! there are six such assignments. Aow we find the best possible traectory! this time we're minimi*ing the functional over all possible traectory and all possible assignments:
In practice! we go through each of these assignments! there are six of them! and for each assignment we find the best possible traectory:
It turns that out if we solve this problem! then the resulting solution will be safe and we're guaranteed not to have collisions. &his is a simple result! but it allows us to solve large-scale problems without having to consider the collision avoidance problem. &his significantly reduces the complexity of the planning problem.
3or n robots and n goals! there are n , such computations. e then find the assignment with the lowest total cost. &he Hungarian algorithm! which is an < n / algorithm! gives us the solution for the best assignment. 4o if we solve %$B&! using this approach! we find that the time re6uired to compute the solution does not grow exponentially or as n7:
In fact there are two curves here: two straight lines that show the cubic-growth of computational time and the 6uadratic-growth of computational time as a function of the number of robots.
Aow! let's move on to the second #ey idea idea which is the concept of incorporating leader-follower networ#s. &he idea is simple: each robot monitors the distance with respect to its neighbours. 8ore precisely! it loo#s at the separation as a vector. 4o if you ta#e the robot in the middle! call it i! for every neighbour ! it monitors the difference between xi and x :
>obots li#e this could also respond to active shooters without humans having to tell them where to go. &he minute a gunshot occurred! the robots could ta#e up positions outside the building where they thin# the source of the gunshot is. &he video showed an example of this behaviour with robots using the concurrent assignment and planning algorithm together with the paradigm of anonymity. &hey really don't care about specific identities. &he video from cameras mounted on the robots was assimilated into a mosaic! and a three-dimensional reconstruction of the scene was developed by the robots:
4o far! we've been tal#ing about tas#s which re6uired the robots to coordinate with each other to perform a tas# more efficiently. In each of these examples! individual robots might have been able to perform the tas# on their own. &he presence of multiple robots ust resulted in greater efficiency and better coordination guarantees that the efficiency improves. hat about situations where the robots actually cannot perform the tas# on their own" Imagine payloads that are too heavy for a single robot to carry. Here is an example of a situation where robots are cooperating to pic# up heavy obects and then transport them:
How do we get robots to cooperate in tas#s li#e these" Here's another example where a flying robot must collaborate with a ground robot in order to build a map in the interior of a building:
How do robots li#e these collaborate to autonomously create three dimensional maps" >emember! an aerial robot can view the scene from a vantage point that is very different to that of a small ground robot. i#ewise! the ground robot can position its sensors underneath tables to get viewpoints that the aerial robot cannot. e achieve collaboration by thin#ing about this tas# in terms of information. &he robots are driven by the common goal of reducing uncertainty about the map. $t every step! they thin# about the information that they can gain by positioning their sensors to get new information. Here's the e6uation that describes the essential strategy being used by the robots: x = arg max x
I CS m( z x D x /
In this e6uation! they're trying to determine their paths. x designates the path of the robot! and they choose the path from a set of available paths. &he available paths are those that conform to the environment and are safe! and they are paths that respect the dynamics of the robot.
In the numerator you see a 6uantity which represents information gain. 4o they're trying to find the path that maximi*es the information gain. &he information gain is described by two random variables. &he first random variable is a map. &he map is a complex obect! but it consists of many different elements! each representing features in the environment. It's a random variable because every one of these features is a random variable. &here's an uncertainty associated with every one of the variables. &he second random variable that we have to consider is the measurement. $s the robot moves! it generates measurements. $nd what the robot really needs to do is to maximi*e the information gained through its motion so that the measurements yield maximum information about the map. In fact! these measurements should reduce the uncertainty in the map. 3inally! we want to minimi*e the time ta#en to maximi*e the information gained. &hus! in the numerator! the duration of the traectory is also considered.
&he video showed a small ground being used for active mapping in the lab. &he robot started from a location in the environment! without any prior #nowledge of where it is relative to its environment. 0ased on what it sees! and integrating information from multiple views! the robot built a map. $t each step it reasoned about the possible traectories it could execute and the information that it was li#ely to gain if it executed one of these traectories. $ll this information was assimilated into a three dimensional map.
&he video next showed an aerial and a ground robot collaborating to build a map of a multi-storey building that had been damaged by an earth6ua#e. &he robots travelled as a team! but whenever the ground robot got obstructed by collapsed debris! the aerial robot could ta#e off and traverse areas that were inaccessible to the ground robot. In the process! they shared information! and were able to build a complete three-dimensional map. 8aps li#e these can be built autonomously without any intervention by a human operator. &his is a map of a multi-room! single-storey building:
Here's another map! this time of a multi-storey building:
4warms of robots can build maps li#e these very 6uic#ly and have the potential to really change the way we thin# about emergency response.