Amazon Picking Challenge is a competition for designing a robot system to complement the Kiva automated warehouse shelving system. The workspace consists of a 12-bin shelf and a storage box. Each shelf bin has multiple items placed in any configuration with partial occlusions. A task list of items to be picked is provided. The goal is to pick the correct item from the bin and place it in the storage box. The 2016 edition was with RoboCup between June 30 and July 4.
As a part of MRSD course project, our 5-person team worked on this from September 2015 to June 2016. You can see our webpage at http://mrsdprojects.ri.cmu.edu/2015teamd/. During this period, we designed the system from the ground up.
We were mentored by Prof. Maxim Likhachev from the Search Based Planning Lab at CMU. We intially developed the system on a Willow Garage PR2 robot but found its reachability too limited for our task - in order to reach all the regions in our shelf, we would have had to change the telescopic spine height and move the robot, both of which would have added a layer of planning complexity and increased execution time. Universal Robots was kind enough to lend us a UR5 arm. Migrating our code to the UR5 was a breeze. We were super psyched when we were shortlisted as finalists in February 2016.
During summer, 3 members of our team started their internships in California. We would work on this project in the evenings after work and during weekends.
Day -1: June 27
We disassembled and packaged the robot, mounting frame, controller, items and the two computers. It was 450lbs between the four of us. We had decided to take the robot as a checked-in luggage instead of shipping it before as it would buy us more development time.
Day 0: June 28
We were scheduled to fly out of Pittsburgh in the afternoon and reach Berlin on June 29, just in time for the robot setup and testing day. As Murphy’s law would have it, our connecting flight to Newark got cancelled twice due to ATC issues. We spent the night camping at the airport as the next available flight was in the morning.
Day 1: June 29
Spent in airports and air. Our quickest route to Berlin was to fly backwards to Chicago, go to Frankfurt and then to Berlin. We were concerned about our cargo getting lost and not making it on time.
Day 2: June 30
We finally landed in Berlin after a 28 hour delay! We rented a Peugeot minivan and raced to Leipzig on the Autobahn.
We were already late for the practice run where we get an item arrangement closest to the competition - a mock competition. We saw a lot of teams tweaking their perception parameters to adjust for the lighting conditions.
We turned up at the venue and frantically unpacked and setup our robot. To our shock, we found our computers smashed - the CPU cooler, RAM sticks and the power supply cables were dangling from the case. Thankfully, we able to patch it up enough to boot. One monitor was completely busted - no dual monitors for us :-(
Then our linear actuator wasn’t being powered properly, our linear power supply wasn’t working and our shop-vac suction system was super loud. Power supply conked. Then we realized we were powering 110VAC 60Hz equipment with 240VAC 50Hz. In our hurry, we mistook the power junction box to be a 110VAC to 240VAC converter. We had to run out and get a new Shop-vac. We then rigged a power source for the linear actuator using a drill battery!
Our depth sensor was giving very noisy and patchy pointclouds due to IR interference from the overhead Halogen lamps at the venue. The Kinect 2 uses Time-of-Flight and is more susceptible to interference than the original Kinect with structured light.
Day 3: July 1st - Stowing task finals
We finally got our system up and running in the early hours of the final event.
Due to an error, we were given the wrong task list file and had to redo. In the first attempt, we stowed 7 items for 88 points. In the second, we stowed 8 items but misidentified one, fetching us 77 points.
We were placed 6th out of the 16 finalists.
The Delft team aced it - they had really tight integration and a fast perception system. They completed the task with 6 minutes to spare. They were placed first and were far ahead of the second.
Day 4: July 2nd - Picking task finals
We made a decision to modify the grasping logic for certain items in fear of dropping as our suction was lower with the new shop-vac. During the competition run, we had a lot of time left and were looping between 2 shelves. 7/12 items.
We picked up 4 items correctly for 33 points and were placed 7th.
I skipped the evening reception banquet and instead took off to explore Leipzig.
Day 5: July 3rd - Demo and media day
Each team did a 15 minute presentation. And there were a lot of people asking questions about sub-systems. There were a few TV crews interviewing.
There was this kid from UAE who must have been in 5th or 6th grade. He was asking an MIT team member what language their robot was programmed in and was taking notes in Arabic!
Day 4: July 4th - Return to pittsburgh
We got back just in time to catch the 4th of July fireworks!
Overall, it was an awesome experience and we were very happy with our performance. We would like to thank John Dolan, Dimi and Maxim for their support throughout this project.
Team HARP had a successful run! We would be handing over the project to the next year’s MRSD team.