Willow Garage Blog
Conor McGann and Bhaskara Marthi went to ICAPS 2009 to give presentations on planning research they are working on at Willow Garage. This includes some of the work that went into Milestone 2 and TREX, as well as more on the hierarchical planning work seen in Jason Wolfe's summer internship work. For those that couldn't make it to Greece or want a second look, their presentation slides are included below.
Conor McGann's presentation on "Model-based Hierarchical Control of a Mobile Manipulation Platform", which was given at the workshop on Planning and Plan Execution for Real-World Systems (Download PDF from ROS.org):
Bhaskara Marthi's presentation on Angelic Hierarchical Planning, which was given at the workshop on Bridging the Gap Between Task and Motion Planning (Download PDF from ROS.org):
PR2 production is now underway as we have started to assemble the grippers. Each gripper consists of 52 components, plus the screws that hold everything together. In order to put these parts together correctly, we have created work orders for what to build, put together "kits" for the corresponding parts, and sent these to the production floor. A kit is a box containing all of the components and work instructions required to build any particular assembly or sub-assembly.
After assembly, we will inspect and test the grippers, and put them onto our burn-in fixtures. There, the gripper assemblies will be continuously exercised by squeezing a test fixture, while we monitor the internal electrical parameters of the motor, encoder and drive circuits. After the 48-hour burn-in, the gripper assemblies will be returned to the stockroom where they will wait to be incorporated into a higher-level assembly.
Activity levels in the stockroom are also increasing as our suppliers ship us packages daily. Almost all of the parts are on order now, and over half of the components for the first PR2 production run have arrived; the remaining parts should be here in the coming weeks.
-- John Blazek
With the recent New Scientist article, Alex Sorokin's work with the PR2 and Mechanical Turk has been getting a lot of attention. During his summer here at Willow Garage, Alex was able to take camera and laser data gathered from the PR2, submit it to Mechanical Turk, and have humans identify objects in that data. This labeled data was then used to train algorithms on the PR2.
For those of you who haven't seen it, we thought you might like watching Alex's video, where he gives an overview of some of the datasets he was able to submit to Mechanical Turk. There is also last month's blog post that describes the work in greater detail and has slides from Alex's end-of-summer presentation. You may also be interested in Alex Teichman's work with hand detection, which used data labeled from Mechanical Turk.
This summer, Jason Wolfe (UC Berkeley) worked on hierarchical task planning for the PR2. Planning is important for performing tasks efficiently. If you're gathering ingredients for the Triple Chocolate Volcanic Explosion Soufflé you're fiendishly craving, you may fetch both the eggs and the butter from the fridge before heading to the pantry for the sugar and chocolate. If you weren't planning ahead, you might go get the eggs, drop them off on the counter, go back to the fridge to get the butter, unload again, continue to the pantry for the chocolate, and so on. You'll still make a soufflé, but your plan will be far from optimal.
Jason's work on hierarchical planning helped the PR2 plan out its tasks in a more logical, premeditated manner. The package takes into consideration high-level decisions, like the order in which to fetch the ingredients, down to low-level decisions like where to position the base of the robot and what angle to grasp an object from. In the video, the PR2 is told to move several bottles between two tables. Instead of manipulating each bottle independently of the others, the robot plans ahead and places the bottle being manipulated near the next bottle to grab. That way, the robot can simply put down the current item and, without driving to the next goal, reach over and pick up its next bottle. Jason's code can be found in the hierarchical_planning package. You may also be interested in Jason's and Bhaskara Marthi's RSS 2009 presentation on Angelic Hierarchical Planning.
In the process of working on this package, Jason spent time developing and debugging lower-level component actions, such as moving the base to a particular location. Interactive scripting languages are ideal for this purpose. Jason developed an experimental Java client library for ROS (rosjava), which he then used to create a ROS interface to Clojure (rosclj), a Lisp-like language built on Java. Using this interface, he then developed a large library of scripted actions which can be used for quickly specifying and tele-operating complex sequences. These can be found in the clj_pr2 package.
The good folks at the Singularity University just finished up their nine-week summer session and put together a great highlight video. Part of their curriculum was a visit to Willow Garage, where we showed them PR2 and some of our current research. You can see some clips of this visit at about 0:55 in the video and you can find out more about Singuarity University's inaugural year over at Singularity Hub.
Matt Piccoli (University of Pennsylvania) and Jürgen Sturm (University of Freiburg) did a lot more than break eggs and learn about how things move. They also tested the limits of PR2's fingertip pressure sensors with a seemingly simple task: identifying, without looking, if a juice bottle is open or closed, and full or empty.
Tactile information is invaluable when determining properties of objects that are visually inaccessible. In this vein, Matt and Jürgen developed a tactile perception strategy that can be used to detect the internal state of liquid containers. By measuring a bottle's reaction to a force applied by a gripper, their system can recognize whether the bottle is full or empty, and open or closed. The system learned this information from a set of training experiments carried out on different types of bottles and soda cans. Knowing whether a bottle is open or closed can help a robot determine the level of care required when manipulating the object.
You can find the code for Matt and Jürgen's work in the pr2_gripper_controller package on ROS.org. You can also read Matt's end-of-summer presentation slides for more information.
This summer, Alex Teichman of Stanford University worked on an image descriptor library, and used this library to develop a new method for people to interact directly with the PR2. Using a keyboard or a joystick is great for directly controlling a robot, but what if an autonomous robot wanders into a group of people -- how can they affect its behavior?
Alex's approach allows the PR2 to "talk
to the hand," as many of us cruelly experienced in middle school. In the video, Alex demonstrates that the PR2 can be made to
stop and go by simply holding a hand up to the stereo camera. To accomplish this, Alex used a machine-learning algorithm called
Boosting along with image descriptors, such as the color of local
regions and object edges. He was able to train his algorithm on a data set that was labeled using the Amazon Mechanical Turk library that Alex Sorokin developed. This Mechanical Turk library harnesses the power of paid volunteers on the Internet to perform tasks, like identifying hands in images so that algorithms like Boosting can be trained.
Hand detection is part of a larger effort that Alex Teichman has been working on, developing a library with a common interface to image descriptors. This library, descriptors_2d, enables ROS developers to use easily use descriptors like SURF, HOG, Daisy, and Superpixel Color Histogram.
Willow Garage will be at ICAPS 2009, which starts this weekend. You can find details on talks being given by our employees in the schedule below.
Saturday Workshop: Planning and Plan Execution for Real-World Systems
Conor McGann will be giving a talk at 9am on Model-based, Hierarchical Control of a Mobile Manipulation Platform. Complete Workshop Schedule.
Sunday Workshop: Bridging the Gap Between Task and Motion Planning
Bhaskara Marthi and Conor McGann are part of the organizing committe for Sunday's workshop on "Bridging the Gap Between Task and Motion Planning." Bhaskara Marthi will be giving a talk on "Bridging the Gap with Angelic Semantics" during the 2pm-3:30pm session. Complete Workshop Schedule.