Meet the drone that already delivers your packages, Kiva robot teardown
There’s been a lot of talk about package delivery via flying drones. While this is an interesting vision of the future, current economics make this an unlikely substitute for base-load ground delivery for the next 5–10 years. Flying delivery drones can make a compelling marketing tool or ultra-premium feature, but their current hype doesn’t mesh with immediate reality.
Meanwhile, the robotic systems powering warehouse distribution centers are an engineering marvel far more elegant than flying drones. Tens of thousands of mobile (ground-based) drones are already in operation and helping deliver your packages today. One of these systems was originally built by a Kiva Systems based in the Boston area. I was able to get my hands on an older generation, end-of-life Kiva bot and cracked open its bright orange shell to expose a brilliant piece of engineering; this post shares the fruits of Kiva’s hard work.
Traditional distribution centers for companies like Amazon and Staples are powered by an army of people walking miles a day to pick items off shelves and plop them in a box. This process is expensive, inefficient, and error-prone. Before Kiva, the state of the art time-reducer was a bicycle.
After a stint at Webvan, Kiva founder Mick Mountz had a realization: if e-commerce distributors could move shelves to people rather than people to shelves, the pick-pack process would be massively more efficient. Mick teamed up with Pete Wurman and Raffaello D’Andrea in 2003 to found Kiva Systems to fundamentally change the way people and objects move in a warehouse.
The system Kiva developed comprises on 5 key components:
- Custom designed Kiva shelves (“pods”) that are mobile and highly flexible
- A grid of 2D QR codes implanted on the floor (known as “fiducials”)
- An intelligent pack station decked out with scales, lasers, and sensors
- Herculean orange robots that swiftly lift and move the pods around the floor
- And most important of all: a complex and robust software system tying everything together
While all these components are amazing in their own right (and necessary for the system to function), this post focuses on the bright orange bots droning around the warehouse floor.
Architecture + Mechanics
In principle, the Kiva bot is pretty simple. It slowly traverses the floor reading 2D QR/Datamatrix codes every 40″ and takes commands from it’s brain in the cloud before making any movements. When it gets to a pod, the bot uses a clever lift mechanism, spinning in place to raise a ball-screw that lifts the pod a few inches off the ground.
The robots may seem simple, but consider this: pods can weigh a thousand pounds, distribution centers have tens of thousands of pods, hundreds of robots, and dozens of pack stations. One tiny collision or a dropped pod can cause many thousands of dollars of damages. This is not your granddaddy’s robot.
Each side of the outer shell has an array of IR sensors and a pneumatic bumper for collision detection and avoidance. There is also a charging port (the Kiva bots self-dock when charging) and a series of status LEDs to signal the bot’s activity. The only other major feature is the X-shaped lifter which lifts the shelving pods off the ground. Each robot has three independent axes of motion: two drive wheels and a motor for the “lifter.” As the lifter motor spins, both drive wheels counter-rotate so the lifter appears stationary while the robot spins. This reduces the number of drive components and eliminates complex hydraulic or scissor lift mechanisms.
The lifter is topped off by one of several massive aluminum castings that make up the structural components of the robot. All castings are made from the same 319 general purpose alloy. Each part has a series of secondary machining operations to add referenceable surfaces and threaded holes. Many high-quality aluminum parts are made using the same process (including automotive engine blocks and hydraulic actuators).
Each IR sensor has it’s own filter logic built-in and communicates over a serial bus. You can also see the wireless control module and the lifter motor and giant pinion gear. Towards the rear of the bot, there are four lead-acid batteries and high-amperage bus bars.
Both fairing halves are made from vacuum-formed ABS. There are a large number of features which can only be made by multiple secondary machining setups. Both the vacuum former and the CNC mill/router used to make these parts must be extremely large. This part is complex/expensive enough that I’d be surprised if later revisions of the Kiva bot aren’t injection molded.
Rather than building full-length bump sensors, which is notoriously difficult to do on curved surfaces like those on the front/back of the bot, Kiva engineers found a simple, cost effective solution. They utilized vinyl/rubber tubing and a simple pressure sensor so that as soon as a change in pressure is detected, the robot stops all movement. The black box in the right picture receives the pressure line and aggregates all the IR sensors to simplify the protocol and wiring to the main controller.
The lifter mechanism uses a custom-designed ball screw (the single most complex and expensive component, more on that later) coupled to a standard nylon pinion gear and gearmotor (the same one used for all three axes of motion). The motor is built by Pittman (Ametek) and boasts 27 in-lbs of torque and stall power of almost 1Kw. The right-angle bi-directional gearbox is built by Brother in Japan and can handle 407 in-lbs of torque at 72rpm with a 25:1 reduction. This motor gearbox combo runs into the $1,000 range for a single set (likely much lower at volume). Holy drivetrain, Batman!
Once the lifter and electronics have been removed, the bot can be flipped over to get a better look at the drivetrain. Here we see the same two motors and gearboxes paired with custom-designed cast Kiva wheels. Flanked on either end are two pairs of dual rollerblade-style 360 degree casters. This drivetrain setup supports zero radius turns.
Three sandcast aluminum parts make up the majority of the body and are joined with simple clevis pins to make a simple, passive double suspension action. They all use the same general purpose 319 alloy and are all post-machined after casting. Kiva engineers likely switched to low-pressure aluminum molding with permanent steel tools as production volume increased. Notice the cooling fins on the top of the front casting on the bottom right: the giant MOSFETs for the custom motor control circuits are resting against the backside of those fins for maximum thermal efficiency, a slick design decision.
Even though Kiva bots have nearly no decision-making authority (each move is controlled by servers in the cloud), movement of the bot while lifting and controlling thousands of pounds of merchandise requires some pretty serious electronics.
The system is powered by four 12v 28Ah lead-acid batteries connected in series (for 48v DC). Two of the four batteries also have custom thermocouples installed under their mounting bracket to ensure they don’t overheat.
When the power is running low, bots take themselves offline and return home to a charging station. The design of the charging port allows a good amount of slop in the mating process. I can say from experience, watching one of these bots go home to charge is pretty cool.
Tucked inside the lifter mechanism is one of the key enablers of the Kiva system: a dual-camera imaging module. One camera looks down at the ground to recognize 2D barcodes on the warehouse floor. The other looks upwards at the bottom of every pod. Each has 6 on-board red LEDs for illumination and like the rest of the robot, everything is custom designed. Sandwiched between the two imagers is an image processing board sporting an ADI ADSP-BF548 Blackfin multimedia processor which is doing the Datamatrix detection and relaying results via high-speed serial.
Tying everything together is the main logic board. Motor control circuitry is powered by 48V DC from the batteries and a separate filtered rail powers the logic/communications/CPU. The 3 phase brushless motor drive electronics are fully custom, driven by a Lattice LFXP6C FPGA (hidden under the daughterboard). Each of the three driver circuits has a current sensor, 6 high-amp FETs in full-bridge configuration (and are cooled via the chassis), input for a motor’s rotary encoder, and the giant 4-pin connector.
The daughterboard aggregates system functions by coordinating the wireless module, imaging unit, e-stop, infrared/pressure sensors, power management, and the motor drivers. The MCU is a 32-bit Freescale MPC5123 with a 400MHz clock likely running PowerPC Linux (on bare metal). The two ethernet ports connect to the wireless module and firmware flashing/external hardline connection, but they’re switched by a Mircel KSZ8993.
The only off-the-shelf circuitry on the entire robot is the communications module: the Soekris Engineering Net4526 router which sports a single Winstron NeWeb CM9 wireless module in a dual-antenna configuration, connected to the main logic board via ethernet.
The Magic Component
While there are many fascinating and brilliantly executed aspects to this generation of Kiva bot, one subsystem takes the cake: the lifter mechanism. This part does the literal heavy lifting for the Kiva system. It must be able to support a thousand-pound load while raising and lowering them perfectly parallel to the ground: a perfect task for a ball screw. Most ball screws are an inch or two in diameter, this is 11″ and hollow.
The two case bearing surfaces are aluminum and just like the main chassis parts, require several secondary machining operations during fabrication. Both parts are coated with a Teflon-impregnated anodization which I’ve never seen before but does a great job of providing lubrication and rust resistance. The “ball nut” (what is really an inner race) houses an injection molded ball return mechanism which recycles the nylon/delrin ball bearings. The “screw” (which is really an outer race) interfaces with both ball bearings on the inside and the pinion gear on the outside during the actual rotation/lifting operation.
While it’s difficult to estimate the cost of the lifter assembly due to the complexity, my guess pegs the value somewhere in the $1,000-range based on the part size, post-processing, coating, durability requirements, and non-trivial assembly process.
It’s clear Kiva Systems employs some pretty fantastic hardware engineers, which is probably a big part of the reason Amazon acquired the company in 2012 for $775M. This article admittedly focuses entirely on the robot, which is just one small (and really freaking cool) part of the greater solution.
In the hardware startup world, we spend a lot of time thinking and talking about consumer robots in our daily lives. Robots that will cook our food, schedule our meetings, vacuum our floors etc. I’d argue that less-sexy robots like Kiva are already impacting our daily lives more than most of us know. As e-commerce continues to grow, technologies like Kiva will be a driving force in changing the dynamics of the warehouses and distribution centers that are so critical to satiating our desire for break-neck fulfillment. Kiva is one of the few companies that masterfully integrates complex hardware and software into a seamless solution and has built a system that dramatically shapes the way we buy, sell, and live.
Plus: it’s cooler than a flying drone.
This post originally appeared on the Bolt Blog.