Building things with robots is a nice idea, especially if robots are doing what they’re best at: predictable, repetitive tasks like you get with bricklaying. When humans build structures, however, we can be a bit more creative, adapting on the fly to the sizes and shapes of materials available. This is one of those robotic paradoxes—building something that’s easy for robots, like an exactly spaced curvy brick wall, is tricky for humans, while building something that’s easy for humans, like a wall made out of pile of random rocks that doesn’t spontaneously fall over, is tricky for robots.
At ICRA this week, researchers from ETH Zurich are presenting a robot that’s able to handle some of that variability that humans are so good at effortlessly coping with. With careful planning and a delicate touch, this robot arm is learning to autonomously build towers out of balanced pieces of limestone.
Humans (or some humans, anyway) excel at this sort of thing; obviously, the robot isn’t quite up to the human standard yet, although the irregular shapes are certainly a challenge. While the rock detection, physical simulation, grasping, and placement are all autonomous, the robot does cheat a little bit: Each rock that it can select has been 3D scanned in advance, and the system has all the information that it needs to generate a physical model that it can stack in simulation first.
For their hardware setup, the researchers used a Universal Robots UR10 arm, a Robotiq 3-finger gripper, a FT150 force-torque sensor, and a Intel RealSense SR300 RGB-D camera.Image: ETH Zurich
As an initial step, the researchers scan the geometries of each stone (top). After that, the stones can be placed arbitrarily on a table and the robot will detect their positions on its own (middle left). It then runs a pose-searching algorithm to choose a possible stable stack (middle right). A motion planner (bottom right) generates the trajectories so the robot can attempt to replicate the proposed stack (bottom left).Image: ETH Zurich
The rocks are all made of the same stuff, and they’re homogeneous, with nicely predictable centers of mass. As the video shows, the stacking doesn’t always work, usually because small errors and instabilities add up as each stone is added, making additional stones significantly more difficult. In the paper and video, the robot manages four rocks, but the authors told us that it’s managed six at one point. They also told us that for most untrained humans, stacking the same six stones was a real challenge.
The overall idea here is that eventually, robots will be able to take advantage of hyper local building materials (like the nearest pile o’ rocks) and make useful, environmentally friendly structures out of them without the need for either processing or adhesives (like concrete). To do this, the robot’s going to have to do a bunch of extra stuff on its own, like 3D scanning all sides of the stones that it wants to manipulate, as well as figuring out where the center of mass is (tricky, if you’re not dealing with homogenous materials). We asked the researchers about this, and the idea that they’ve had is to get the robot arm to toss rocks that it wants to stack into the air first. That way, you can watch how they tumble in mid air to locate the center of mass.
As for more complex balancing, like those crazy stone stacking videos on YouTube, we’re told that it’s something that’s certainly possible with two arms, especially if the arms can detect when a rock has been placed unstably and then make small adjustments to compensate. The researchers are also hoping to teach their system to build more complex structures, like arches and walls, and they’re also thinking about scaling things up, using a robotic excavator for making piles of big stones for landscaping purposes.