FedEx Robot Solves Complex Packing Problems

Despite the fact that it constantly seems like we’re in the midst of a robotics- and artificial intelligence-driven revolution, there are a number of tasks that continue to elude even the best machine learning algorithms and robots. The clothing industry is an excellent example, where the flimsy materials can easily trip up robotic manipulators. But one task like this that seems like it might soon be solve is packing cargo into trucks, as FedEx is trying to do with one of their new robots.

Part of the reason this task is so difficult is that packing problems, similar to “traveling salesman” problems, are surprisingly complex. The packages are not presented to the robot in any particular order, and need to be efficiently placed according to weight and size. This robot, called DexR, uses artificial intelligence paired with an array of sensors to get an idea of each package’s dimensions, which allows it to then plan stacking and ordering configurations and ensure secure fits between all of the other packages. The robot must also be capable of quickly adapting if any packages shift during stacking and re-order or re-stack them.

As robotics platforms and artificial intelligence continue to improve, it’s likely we’ll see a flurry of complex problems like these solved by machine instead of by human. Tackling real-world tasks are often more complex than they seem, as anyone with a printer an a PC LOAD LETTER error can attest to, even handling single sheets of paper can be a difficult task for a robot. Interfacing with these types of robots can be a walk in the park, though, provided you read the documentation first.

44 thoughts on “FedEx Robot Solves Complex Packing Problems

  1. “The packages are not presented to the robot in any particular order, and need to be efficiently placed according to weight and size.”

    I thought packages would be sorted by Destination as well.
    But, what do I know?

    1. I would bet these are all headed for the same location like a regional distribution hub. Delivery trucks aren’t typically packed as a uniform wall, the driver/deliverer would spend half their day digging and sorting through boxes.

      1. You would be correct. Thats a Bulk Truck going to another hub from that hub because its not in that area of delivery. Hubs near airports or the larger distribution hubs will get neighboring towns deliveries which are then sent via these Bulk Trucks. Usually just a non lettered white box truck but can be Fe Ex branded. I was a package handler for a minute at Fed Ex.

    2. Yeah they just throw random packages into their trucks and hope they’re going in the right direction!

      …or maybe they just mean the heap of packages that need to go in that truck are not arranged by size/weight or nicely oriented.

    1. While I’m concerned about yet another elimination of the “human element,” I must concede that a pair of Fedex package handling robots have the capability to not-give-a-shit about my package at least twice as efficiently as a human. A robot can steadily and uniformly not-give-a-shit 24/7, whereas humans need to rest… or might feel occasional empathy or guilt.

      Question… Where is the robot with the swinging anvil-on-a-chain I’m assuming is part of their existing package handling process?

  2. When I lived in NYC I hired some movers to help. They showed up, took a look around and sized everything up, took a look at the moving van then proceed to load everything to perfection in under 2 hours. Weird stuff (bikes, lamps), heavy stuff. No matter. It was truly incredible. When robots can do that they have won.

    1. I’ve used professional movers twice. I concur. They do this stuff every day, and they’ve obviously built a huge amount of intuition about how to do it reasonably optimally. Literally a few hours to pack a house and garage of stuff.

  3. The beginnings of a loadmaster. I note there’s no reference to load distribution and center of gravity for the truck, which is certainly less of a considertion with a delivery truck or van. Loading aircraft adds those critical factors to packing the transport vehicle.

    1. Not disagreeing with you, but in unloading the bulk trucks they’re usually temp or unskilled workers that are trying to get into the company as drivers. At UPS we just grabbed the top of the stack and pulled it down into a huge pile then put packages on an unpowered roller conveyor to get them out of the trailer.

      There was no regard for fragility labels or safe handling, it was unload the truck as fast as humanly possible then move on to the next task. Sorting for the delivery trucks is handled by software that measures the box, its weight, and destination. Most places have part time loaders that get to the distributions center around 0300. They’re given a system generated map that tells them where in the truck to place packages, and work until drivers arrive and check the trucks or make load changes based on the route.

      So, on the one hand yes they’re saving money by not hiring people, but on the other this will help reduce package handling times and hopefully reduce breakages. Automation in logistics is coming and there’s not much we can do about it. Instead of worrying about the loss of jobs we should focus on better (or accessible) training for the labor that’s being displaced.

      1. > There was no regard for fragility labels or safe handling, it was unload the truck as fast as humanly possible then move on to the next task.

        With experience with UPS, this is true. PT supervisors in the unload just want you to grab the top most box and grab it so they all fall like Jenga pieces. Not uncommon to see packages with boot prints on them. In all operations, especially the 0300 aka Preload shift, they want to pump out as much as possible. Sodastream boxes are notorious for breaking and it’s a known problem for years – you’d think they’d spend like 50 cents extra or such to re-enforce their pkgs…

        > Sorting for the delivery trucks is handled by software that measures the box, its weight, and destination.

        Not in my experience but the hub I worked at was fairly old. More often than not, there will be a couple of boxes you come across where the weight on the shipping label is utter BS. There are 20 trailer bays and along the primary sort along with 4 returns (pick off or sorting miss or someone needs to send something back to primary sort). Sorting is definitely better than being assigned to load 4-5 package cars (in the Metros) at once with load charts that are never accurate. Suddenly you’ve got so many RDR pieces that you need to use all the other space in the car. Not to mention misloads are bad (mgmt can discipline you, but it’s the last step for outbound ops so it makes sense, you don’t want a piece supposed to be delivered somewhere completely different to be in the wrong car), but you miss something sorting it’s no big deal.

        Along the entire process of getting pkgs to where they need to go: from Unload –> Sort –> to the proper metro or PD wall; and that’s not counting if it goes back to the sort again in the very long length of belt is how things tend to get broken for QC for retape or just written off via insurance.
        Bags or containerized stuff gets sent to Small Sort, there are scanning lanes there for them to be yanked, de-bagged, and shove all the packages down rollers which are at an angle. They’re usually re-containerized depending on destination and such.

        There you go, some behind-the-door look at UPS stuff. Circling back, could you elaborate more on the primary sort you described, if possible? I know UPS has some 80% automated facilities but the numbers they put out are very low & sad (10k vs 90k+ in 3.5-4 hrs) and being radically different (last time I looked them up, they’re like a sushi belt sort of configuration).

        Thanks.

  4. I think the computation is as interesting as the robotics here. Finding the/a optimal solution, and verification that you have the/a optimal solution are NP-complete and co-NP-complete, and are off into the realms of quantum computing, and associated metaheuristics.

    Of course, people have been successfully packing trucks for a very long time and don’t wait decades calculating *the* optimal solution when a good approximation will do in the real world, in the same way that traveling salesmen exist rather than sitting at home for decades plotting their routes… That being said, for reasons of profitability and sustainability, if this system could save 1-3% in terms of energy needed, that got to add up to a tidy sum over a year and must be good for everyone in the long run.

    1. Although as the article says “The packages are not presented to the robot in any particular order”, this is a different problem to what I was talking about above where one might have foreknowledge of parcel dimensions, and try to pack them optimising some criteria, such as number of trucks used, most parcels in a truck, or overall fuel efficiency.

      1. Heh, I have just realised one could “cheat” slightly and use the unfilled space in the truck as a sort of buffer to temporarily store packages, in search of a more optimal solution than could be achieved if you *had* to put each package in its final state as soon as it is picked. But this goes back to what I was saying about good enough vs the *best* solution – as some point though, there is always a tradeoff.

        Even if my idea above worked, it would take a lot longer to fill the trucks…

        1. I’ve seen the strategy you describe be used by actual human loaders for both trailers and package cars. As a general strategy you have to because they might have printed a load chart for the package car but it’s always wrong and it doesn’t account for the dimensions of the pkgs. For trailers, it’s a bit more laisse-faire where you want to build a nice stack so you put some stuff to the left or right of the walls of said trailer and see what comes down the roller next… Like Tetris, but three dimensional!

    2. Finding a better solution than a human should be as easy as beating a human at chess. We tend to follow fairly simple heuristics, with very limited backtracking, coupled with pretty good insight/experience. Human workers are under time pressure, and do not want to move packages more than once. During the time it takes for a robot to put one box in position, the computer can already try millions of combinations for the next couple of packages.

      1. You are absolutely right. I think I focused more on the mathematical problem rather than the practical problem.

        I suspect the ML here is more about regognising and sensibly placing boxes rather than focusing on the optimisation problem as such.

        But ML could also have a stab at a good enough solution to the (with foreknowledge) optimisation problem see GNN, and one could then reach a potentially better solution by refining that answer with Simulated Annealing, for example: Still never actually knowing if it were the *optimal* solution, however you are measuring that.

        Defining the problem is half the battle.

        Still that this can be done at all is very cool IMHO.

        1. A human, mildly experienced in packing trucks, can pick up a box and quickly estimate it’s weight, centre of gravity and rigidity and use these parameters to aid in stacking. Also, having stacked a truck, they might have an advantage in quickly being able to find the specific package for each location.

          I have worked in a medicine distribution warehouse and tasks were shared between robots and humans: robots dispensing the 250 most common medicine for orders, humans orderpicking the 9750 other types of medicine.

  5. I worked at a Walmart distribution center as a loader. I worked my ass off and got “loader of the month” for which I was awarded…a t-shirt. I left soon after. Robots can have it.

    1. Yeah, warehouse work is more physically intensive than most people realize. Especially on a time limit. I don’t imagine Walmart was giving out primo health benefits like UPS either… so, I feel you.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.