SYSTEMS, METHODS, AND CONTROL MODULES FOR CONTROLLING GRASPING BY ROBOT SYSTEMS
Systems, methods, and control modules for operating robot systems are described. A touch heatmap is generated for an object, indicating at least one touch region for the object. Touch regions indicate regions of an object which are most suitable or most prone to touching when the object is grasped. At least one end effector is controlled in accordance with at least one grasp primitive, to grasp the object in accordance with at least one touch region specified in the touch heatmap.
1 . A method for operating a robot system including a robot body, at least one sensor, and a robot controller including at least one processor and at least one non-transitory processor-readable storage medium storing a library of object models and a library of associated touch heatmaps, the method comprising:
capturing, by the at least one sensor, sensor data including a representation of an object;
accessing, by the robot controller in the library of object models, an object model representation of the object based on the sensor data;
accessing, by the robot controller in the library of touch heatmaps, a touch heatmap associated with the object model, the touch heatmap indictive of at least one touch region of the object model; and
controlling, by the robot controller, the at least one end effector to grasp the object based on the at least one touch region of the object model.
2 . The method of claim 1 , wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives;
the method further comprises accessing, by the robot controller, a first grasp primitive from the library of grasp primitives; and
controlling the end effector to grasp the object further comprises controlling the at least one end effector to grasp the object in accordance with the first grasp primitive.
3 . The method of claim 2 , wherein the touch heatmap is further indicative of at least one grasp primitive including the first grasp primitive for grasping the object model at the at least one touch region.
4 . The method of claim 2 , further comprising selecting, by the robot controller, the first grasp primitive from the library of grasp primitives based on the touch heatmap.
5 . The method of claim 1 , wherein:
the touch heatmap is indicative of a plurality of touch regions of the object model;
the method further comprises selecting, by the robot controller, a subset of touch regions from the plurality of touch regions; and
controlling the at least one end effector to grasp the object comprises controlling the at least one end effector to grasp the object based on the subset of touch regions.
6 . The method of claim 5 , wherein:
the method further comprises accessing, by the robot controller, a work objective of the robot system; and
the processor-executable instructions which cause the robot controller to select the subset of touch regions cause the robot controller to select the subset of touch regions based on the work objective of the robot system.
7 . The method of claim 5 , wherein selecting the subset of touch regions comprises selecting the subset of touch regions based on proximity of the subset of touch regions at the object to the robot body or to the at least one end effector.
8 . The method of claim 5 , wherein:
the touch heatmap is indicative of frequency of touch at each touch region in the plurality of touch regions; and
selecting the subset of touch regions comprises selecting the subset of touch regions based on frequency of touch as indicated in the touch heatmap.
9 . The method of claim 5 , wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector; and
selecting the subset of touch regions comprises selecting the subset of touch regions based on the subset of touch regions being graspable in accordance with at least one grasp primitive in the library of grasp primitives.
10 . The method of claim 5 , wherein:
the at least one non-transitory processor-readable storage medium further stores a library of grasp primitives usable by the at least one end effector;
the method further comprises selecting, by the robot controller, a first grasp primitive of the library of grasp primitives capable of grasping the object in accordance with the subset of touch regions; and
controlling the at least one end effector to grasp the object based on the subset of touch regions comprises controlling the at least one end effector to grasp the object the object in accordance with the first grasp primitive.
11 . The method of claim 1 , wherein:
the at least one end effector includes a first end effector and a second end effector;
the touch heatmap is indicative of a plurality of touch regions of the object model;
the method further comprises selecting, by the robot controller, a first subset of touch regions and a second subset of touch regions from the plurality of touch regions; and
controlling the at least one end effector to grasp the object comprises controlling the first end effector to grasp the object in accordance with the first subset of touch regions and to control the second end effector to grasp the object in accordance with the second subset of touch regions.
12 . The method of claim 1 , wherein accessing the touch heatmap comprises accessing metadata associated with the object model which represents the touch heatmap.
13 . The method of claim 1 , wherein:
the robot system further includes a remote device remote from the robot body, and a communication interface which communicatively couples the remote device and the robot body;
the robot body carries the at least one sensor;
the remote device includes the robot controller;
capturing the sensor data is performed at the robot body;
the method further comprises transmitting, by the communication interface, the sensor data from the robot body to the remote device;
accessing the object model, accessing the touch heatmap, and controlling the at least one end effector are performed at the remote device; and
controlling the at least one end effector comprises the robot controller preparing and sending control instructions to the robot body via the communication interface.
14 . The method of claim 1 , wherein:
the robot system further comprises a remote device remote from the robot body, and a communication interface which communicatively couples the remote device and the robot body;
the robot body carries the at least one sensor, a first processor of the at least one processor, and a first non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
the remote device includes a second processor of the at least one processor, and a second non-transitory processor-readable storage medium of the at least one non-transitory processor-readable storage medium;
capturing the sensor data and controlling the at least one end effector are performed at the robot body;
accessing the object model and accessing the touch heatmap are performed at the remote device;
the method further comprises transmitting, by the communication interface, the sensor data from the robot body to the remote device; and
the method further comprises transmitting, by the communication interface, data indicating the object model and the at least one touch region from the remote device to the robot body.
15 . A method for generating a touch heatmap for an object, the method comprising:
capturing, by at least one image sensor, image data representing the object as touched by at least one end effector;
accessing, by at least one processor, an object model representative of the object based on the image data;
determining, by the at least one processor, a pose of the object based on the image data;
determining, by the at least one processor, a pose of the at least one end effector based on the image data; and
determining, by the at least one processor, at least one touch region where the object is touched by the at least one end effector based on the pose of the object and the pose of the at least one end effector; and
generate, by the at least one processor, the touch heatmap as data associated with the object model indicative of the at least one touch region.
16 . The method of claim 15 , further comprising associating at least one grasp primitive with the touch heatmap, each grasp primitive of the at least one grasp primitive associated with a respective subset of touch regions of the at least one touch region and based on a grasp configuration of the at least one end effector.
17 . The method of claim 15 , wherein the image data representing the object as touched by at least one end effector comprises image data representing the object as touched by at least one end effector of a robot body.
18 . The method of claim 15 , wherein the image data representing the object as touched by at least one end effector comprises image data representing the object as touched by at least one human hand.
19 . The method of claim 15 , wherein:
the image data includes a plurality of images;
the plurality of images represent the object as touched by the at least one end effector at a plurality of touch regions;
determining a pose of the object based on the image data comprises determining a pose of the object for each image in the image data;
determining a pose of the at least one end effector based on the image data comprises determining a pose of the at least one end effector for each image in the image data;
determining at least one touch region where the object is touched by the at least one end effector comprises determining the plurality of touch regions based on the pose of the object and the pose of the at least one end effector for each image in the image data; and
generating the touch heatmap comprises generating the touch heatmap as data associated with the object model indicative of the plurality of grasp locations.
20 . The method of claim 19 , further comprising determining a frequency of touch by the at least one end effector for each touch region, based on quantity of times each touch region is touched in the plurality of images.