Thousand-robot swarm self-assembles into arbitrary shapes
robohub.org
robohub.org
Update: I found a paper that describes something similar. It is vastly improved by a vibrating table — Does anyone with access to Science know if Harvard used one? http://wiki.polymtl.ca/nano/images/a/ae/C-2007-NW-AIM-ANguye...
They're little more than a vibrobot (ie. a hexbug nano) with dual vibrating motors that preferentially steer and move. It's easy and elegant. They make for a great teaching toy!
The video of the robot self-folding (and walking away!) at about 1 minute in blew me away, highly recommended to anyone who missed this story last week.
Another really good example is a video of one of those boston dynamics animalbots losing its balance on ice and then regaining its footing. It's hard not to anthropomorphize and ascribe an emotion. Even worse when it's deliberately kicked off balance by a human. Bad person! Poor robot.
These things move like organic life.
sideways - i see a completely automatic Prius(Volt/etc.) plugin just parking between 2 flexible plates sticking from the parking wall.
Anyway, feels like Episode 1 is upon us.
Just like people.
http://www.wired.com/2014/08/largest-robot-swarm-ever/
The quote at the end, about needing a larger table to handle a bigger swarm, made me think of the movie Jaws: "We're going to need a bigger boat."
hahahahahaha.... oh scientists....
Agree wrt cute little robots. But eventually science requires you to quit messing with simulations and do something in real world.
If you'd like to see more about a lab doing real swarm stuff on real (buggy) hardware, check out the Multi-Robot Systems Lab at Rice:
Is this something used in simulations? I would think so.
The problem is that you get genuinely weird stuff like IR comms just not working inside a torus of say 18 inches, but farther or closer working fine. Or issues where, when the motors both kick in at the same time, maybe a pin gets held a little lower for a little longer than it needs to be, and that causes an unrelated glitch (for a better story, look at http://www.quora.com/Software-Engineering/Whats-the-hardest-... ).
For any neat sim you make (and there are many!), people will inevitably just say, "Well that's all well and good, but have you tried it with robots?" Failing to do so consistently leads to a lab culture where you simply don't have the expertise in-house to do meaningful debugging, design, or research, because everybody's busy playing with their toy sims.
You'd think that that code would be still useful, but given the general quality of academic code and policies about reproducibility (which is to say, lol), pure sim work just disappears as a waste of money.
How do you arrive at that assessment? Compared to what? Is it at the state of the art or not?
It is definitely nothing revolutionary, however bot movement is not externally controlled. They figure out their own relative positioning and where they need to go. Moreover they do that only based on short range led communications. So they communicate with small number of other bots at the same time (I think one, but I am not 100% sure), as opposed to lets say using central router to communicate all at the same time.
TL:DR Sensors, movement systems, and precision are shit on purpose, so important part that distributed algorithm actually worked.
First, all the robots are put together in an unformed blob and are given an image of the desired shape to be built. Four specially programmed seed robots are then added to the edge of the group, marking the position and orientation of the shape. These seed robots emit a message that propagates to each robot in the blob and allows them to know how “far” away from the seed they are and their relative coordinates. Robots on the edge of the blob then follow the edge until they reach the desired location in the shape that is growing in successive layers from the seed.
The algorithm had to account for unreliable robots that are pushed out of their desired location or block other robots performing their functions. Nagpal’s team overcame this challenge by implementing strategies that allowed robots to rely on their neighbours to cooperatively monitor for faults. They also avoided relying too heavily on exact positioning within the shape boundaries.
If they don't use any centralized decision making then it should have taken them much less time.
The way the robots arrange in shape depicts the way a human would do it. A realistic, real time, no centralized decision making algorithm would move all the robots at the same time. Yes, the stabilization time, until all robots find their rightful position based on peer-peer communication, would take a while and that would have been acceptable. This thing over here looks a lot a lot like hard coded, human minded approaches to a trivial problem.
If the real advancement was the robot mechanical movement then they should have said so. The algorithm they have could have been done by any CS background high school student.
The algorithms do look straightforward compared to machine learning approaches, but that's a good thing! I'm guessing you're a machine learning person? I believe this approach comes more from the control theory side of automation. Simple-looking algorithms that achieve complex phenomenon is interesting. The authors also provide proofs that the algorithms will, in fact, achieve the goal.
I also want to point out that they are under hardware constraints which preclude approaches which require large amounts of computation and memory. From the supplementary material:
The Kilobot robot has strict limits on its available memory: 2K RAM and 32K for program memory, which includes the code for the bootloader/wireless programming, robot move- ment, and communication libraries. The full self-assembly algorithm takes approximately 27K of program memory including 241 bytes for the shape description and scale factor. The Kilobot also has limits on message size; we optimize by combining messages from the various primitives, placing all the data in a single 7 byte message.
In general, I find it dangerous to make conclusions of the novelty of research from the popular press description of it.
If the algorithm requires everything to be in one clump it's not robust even if it's 'provably' correct.
It requires specifying a small set of special bots which is external control.
It scales while a bird flock can respond quickly even at 100,000 birds and a simple algorithm try and calculate how long building a shape would take with 100,000 bots.
If these guys used 20 or 100 robots instead of 1000, it would not have made the news. Plenty of similar work has been done with small numbers of robots. However, This is still novel and a decent contribution. Pushing for scale has its own problems. Also, I have no problem with a bit of glamour and flash: it gets people interested and makes the sponsors happy.
Bona fides: This was my area for a while.
In theory, there is no difference between theory and practice. In practice, there is.
http://www.amazon.com/Kill-Decision-Daniel-Suarez/dp/0451417...