The use of hand tools presents a challenge for robot manipulation in part because it calls for motions requiring continuous force application over a whole trajectory, usually involving large joint-angle excursions. To ensure the feasible application of a tool, such as pulling a nail with a hammer claw, requires careful coordination of the choice of grasp and joint trajectories so as to ensure kinematic and force limits are not exceeded - in the grasp as well as the robot mechanism. In this paper, we formulate this type of problem as one of choosing the values of decision variables in the presence of various constraints. We evaluate the impact of the various constraints in some representative instances of tool use. To aid others in further investigation into this class of problems, we have released materials such as printable tool models and experimental data. We hope that these can serve as the basis of a benchmark problem for investigating tasks that involve many kinematic, actuation, friction, and environment constraints.
Below we provide printable models of the tools we used, links to materials used in the experimental set and experimental force profiles.
2019 IROS "Force-and-Motion Constrained Planning for Tool Use", R. Holladay, T. Lozano-Perez and A. Rodriguez. [Bibtex]
2019 Master "Force-and-Motion Constrained Planning for Tool Use", R. Holladay. [Bibtex]
Tasks
Within this work we established four tasks:
hammer pulling: We aim to remove a nail by pulling it out with the claw end of a hammer.
screw driving: We aim to drive a screw by turning a screwdriver. We use a flathead screwdriver.
wrench turning: We aim to tighten a nut onto a bolt using an open wrench. We use an M10 nut and bolt.
knife cutting: We aim to cut or score a sheet of material with a knife.
Annotated in each figure are purple and orange arrows that show the task motion and force, respectively.
Videos
Tool Models and Environmental Objects
We designed each of our tools in OnShape, an online CAD software. Most tools were completely 3D printed. However, for the screwdriver, we found printing to be insufficient and instead only 3D printed the handle. We then cut a steel rod to size and filed one end into a flathead screwdriver.
For our wrench_turning taask we used an M10 nut and bolt and the wrench is sized accordingly.
For the hammer pulling, screw driving, knife cutting tasks, we explore using two types of material to cut at, screw into and pull from: Balsa Wood and, as an easier variant, Play-doh. For hammer_pulling, we used large-head nails.
Force-Torque Profiles
Each of our tasks require the application of force and torque.
In order to benchmark how much force and torque we had a human perform each task using the same tools as the robot.
For each task we performed two variants: a standard version of the task and a more taxing variant.
We detail what this means for each task below and provide plots that show the output of our 6D force-torque sensor.
For each task there are four plots: the 3D force output for the standard task, the 3D torque output for the standard task, the 3D force output for the taxing variant and the 3D torque output for the taxing variant.
hammer_pulling: For the standard version we are pulling the nail from a slightly widened hole within the balsa wood. In the more taxing version the nail is firmly jammed into the balsa wood. screw_driving: For the standard version we drive the screw into Play-Doh. In the more taxing version we screw into balsa wood. In both cases the hole has been started and the screw is partly driven in. wrench_turning: For the standard version we turn a nut around a bolt. In the more taxing version, we need to loosen a tighten nut. Therefore, in this version, the initial loosing turn requires more force and torque. knife_cutting: For the standard version of the task we slice through Play-Doh. In the more taxing version we notch balsa wood.