DETAILED ACTION
This is a non-final Office Action on the merits in response to communications filed by Applicant on July 7th, 2025. Claims 1-20 are currently pending and examined below.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The Information Disclosure Statement(s) filed on 07/07/2025 and 08/03/2025 is/are being considered by the examiner.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1-8, 10-14, and 16-20 is/are rejected under 35 U.S.C. 102(a)(1) and/or (a)(2) as being anticipated by US 2024/0017412 A1 ("Tonogai").
Regarding claim 1, Tonogai teaches a robot system comprising (Tonogai: Abstract, “A control device for a robot including a three-dimensional sensor includes a definer that defines a scan area being an area measurable by the three-dimensional sensor and an object-free area being an area in which the robot is permitted to move to measure the scan area, and an operation controller that moves the three-dimensional sensor to measure the scan area by controlling an operation of the robot to cause the robot to move within the object-free area.”):
a sensor configured to acquire three-dimensional data of an object disposed in a real space (Tonogai: Figure 1 three-dimensional sensor 20, ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0042, “The 3D sensor 20 measures (scans) the scan area 50 to obtain 3D information (point cloud data) about the scan area 50. The 3D sensor 20 is located at the end of the arm in the robot 10. In other words, the 3D sensor 20 is included in the robot 10. The 3D sensor 20 is, for example, a depth sensor that obtains depth information or a range image sensor that obtains range images. The 3D sensor 20 repeatedly measures (scans) the scan area 50 at multiple different measurement positions to determine a contact area in the scan area 50. The 3D sensor 20 may include a camera (imaging unit) to capture or obtain a two-dimensional (2D) image, in addition to 3D information. The 3D sensor 20 may include an illuminator that illuminates the scan area 50 with light or a projector that projects an image.”);
a robot configured to change a position of the sensor (Tonogai: Figure 1 robot 10, ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”);
circuitry configured to: recognize, based on three-dimensional first data acquired by the sensor, an empty region in the real space where the object does not exist (Tonogai: Figure 3, ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is clearly configured to determine and update an object-free area based on the measurements taken by a 3D measurement sensor.);
control the robot so as to dispose the sensor in the empty region (Tonogai: ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”. The cited passages clearly shows that the robot is configured to move the sensor into the object-free area (i.e. the empty region)); and
model the real space based on recognized empty regions including the empty region and a new empty region (Tonogai: ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to create and generate a 3D map of the environment based on the scanning results of the 3D sensor and the determination and update of the object-free area.),
the new empty region recognized based on three-dimensional second data newly acquired by the sensor from the empty region (Tonogai: Figure 3 and 8, ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to update the object-free area based on the measurements taken by the 3D sensor in the current object-free zone. One of ordinary skill in the art would recognize that the newly expanded region of the object-free zone would be a “new” empty region and that this object-free zone is defined based on the measurements taken in the “current” empty region.).
Regarding claim 2, Tonogai teaches wherein the circuitry is configured to: change a posture of the sensor within the empty region by the robot (Tonogai: ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to move the 3D sensor into a plurality of posture when scanning a scan area of the environment until such a time that a threshold is reached.), and
recognize the new empty region based on the second data acquired at a plurality of postures of the sensor within the empty region (Tonogai: ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the object-free area based on the measurements taken by the 3D sensor at a plurality of positions.).
Regarding claim 3, Tonogai teaches wherein the robot comprises: an end part to which the sensor is fixed (Tonogai: Figure 1, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0042, “The 3D sensor 20 measures (scans) the scan area 50 to obtain 3D information (point cloud data) about the scan area 50. The 3D sensor 20 is located at the end of the arm in the robot 10. In other words, the 3D sensor 20 is included in the robot 10. The 3D sensor 20 is, for example, a depth sensor that obtains depth information or a range image sensor that obtains range images. The 3D sensor 20 repeatedly measures (scans) the scan area 50 at multiple different measurement positions to determine a contact area in the scan area 50. The 3D sensor 20 may include a camera (imaging unit) to capture or obtain a two-dimensional (2D) image, in addition to 3D information. The 3D sensor 20 may include an illuminator that illuminates the scan area 50 with light or a projector that projects an image.”. The cited passages and figures clearly shows that the sensor is fixed to an end part of the robot.);
an arm connected to the end part and configured to change a position of the end part (Tonogai: Figure 1, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”); and
one or more wrist axes configured to change the posture of the end part with respect to the arm, (Tonogai: Figure 1, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”. One of ordinary skill in the art would recognize that such a robot describe in the Figure and cited passage would include a joint at the wrist (i.e. between the end effector and last link of the arm)) and
wherein the circuitry is configured to operate the one or more wrist axes so as to change the posture of the sensor within the empty region while keeping the arm at an identical posture (Tonogai: ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. The cited passages clearly shows that the system is configured to determine a position and posture with which to place the sensor in order to scan the scan area with the sensor. One of ordinary skill in the art would recognize that the system is clearly able to determine a pose for the sensor such that only the angle of the wrist joint changes while the angle of the other joints remain the same.).
Regarding claim 4, Tonogai teaches wherein the circuitry is configured to: operate the one or more wrist axes so as to change the posture of the sensor disposed at an initial position before the empty region is recognized (Tonogai: ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”. The cited passages clearly shows that the system is configured to cause the robot to move to the sensor into position prior to the sensor capturing data and determining the presence of an empty region.); and
recognize the empty region based on the first data acquired at a plurality of postures of the sensor at the initial position (Tonogai: ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to capture a plurality of poses of the sensor. The system is the configured to determine/update the object-free region based on the measurements captured by the sensor.).
Regarding claim 5, Tonogai teaches wherein the circuitry is configured to: specify, within the empty region, a position of the sensor where the sensor does not move out of the empty region even when the one or more wrist axes are operated in accordance with a predetermined motion pattern (Tonogai: ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”. The cited passages clearly shows that the positions the robot determines to move the sensor to in order to scan a region of the environment are determined such that the robot and the sensor do not leave the currently determined object-free area (i.e. the empty region));
operate the arm so as to dispose the sensor at the specified position (Tonogai: ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”); and
operate the one or more wrist axes in accordance with the motion pattern so as to change the posture of the sensor within the empty region (Tonogai: ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”. The cited passages teach that the robot arm is configured to move in order to change the pose of the sensor. One of ordinary skill in the art would clearly recognize that this includes changing a posture of the sensor.).
Regarding claim 6, Tonogai teaches wherein the circuitry is configured to calculate a sensor occupation region with respect the position of the sensor, the sensor occupation region being occupied by the sensor during operation of the one or more wrist axes in accordance with the motion pattern (Tonogai: ¶ 0084, “The definer 300 may define the object-free area 70 and the scan area 50 based on the defined movable range of the robot 10. More specifically, as shown in FIG. 6A, the definer 300 may define, using the settings about the arm of the robot 10, the movable range of the robot 10 (the range in which the robot 10 is either physically or functionally movable) as the object-free area 70. The movable range of the robot 10 may be specified based on, for example, the length of the arm of the robot 10 or the movement angle of each joint (axis). The definer 300 may define, as the scan area an area excluding the object-free area 70.”, ¶ 0086, “The definer 300 may define the object-free area 70 and the scan area 50 based on the defined movable range of the robot 10 and the measurement specifications of the 3D sensor 20. The measurement specifications of the 3D sensor 20 include information about the range in which measurement can be performed by the 3D sensor (e.g., the measurable distance range and the viewing angle). As shown in FIG. 6B, the 3D sensor 20 can measure an area 601 alone between a position (closest position) at a first distance Dl (the shortest distance in the measurable distance range) from the 3D sensor 20 and a position (distant position) at a second distance D2 (the longest distance in the measurable distance range) from the 3D sensor 20. For example, the first distance Dl may be 30 cm, and the second distance D2 may be 100 cm.”, ¶ 0087, “As shown in FIG. 6B, the definer 300 may define, as the object-free area an area resulting from expanding the movable range of the robot 10 (refer to FIG. 6A) by the first distance Dl. More specifically, for the robot 10 having a spherical movable range, a sphere with a radius greater by the first distance Dl than the radius of the movable range is defined as the object-free area 70. As shown in FIG. 6B, the definer 300 may define, as the scan area 50, an area resulting from expanding the movable range area of the robot 10 (refer to FIG. 6A) by the second distance D2 (or the range in which measurement can be performed by the 3D sensor 20) and excluding the object-free area 70.”. The cited passages teaches that the object-free area can be set base on the both the movable range of the robot and the minimum and maximum scanning range of the 3D sensor. One of ordinary skill in the art would recognize that, because the 3D senor is mounted to the end effector of the robot and moves with the robot, an area defined by the movement range of the robot and the minimum and maximum scanning range of the 3D sensor would define an occupancy area for the sensor.); and
specify the position of the sensor so that the sensor occupation region is contained within the empty region (¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”. The cited passages clearly shows that the positions the robot determines to move the sensor to in order to scan a region of the environment are determined such that the robot and the sensor do not leave the currently determined object-free area (i.e. the empty region)).
Regarding claim 7, Tonogai teaches wherein the circuitry is configured to: generate a motion pattern of the one or more wrist axes so as to change the posture of the sensor disposed in the empty region, without causing the sensor to move out of the empty region (Tonogai: ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”. The cited passages clearly shows that the positions the robot determines to move the sensor to in order to scan a region of the environment are determined such that the robot and the sensor do not leave the currently determined object-free area (i.e. the empty region)); and
operate the one or more wrist axes in accordance with the generated motion pattern so as to change the posture of the sensor within the empty region (¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”. The cited passages clearly shows that the robot moves the sensor such that the robot and the sensor do not leave the currently determined object-free area (i.e. the empty region)).
Regarding claim 8, Tonogai teaches wherein the circuitry is further configured to: determine, after the new empty region has been recognized, whether a remaining region of the real space is reduced until a predetermined condition is satisfied, the remaining region being a region where it is not specified whether the region is occupied by an object (Tonogai: Figure 3, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 (multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. The cited passages clearly shows that the system is configured to determine if a number of undetermined-subareas of the scan area (i.e. the area of real space to be scanned) is less than a threshold. Additionally, the undetermined-subareas of the scan area is clearly a region in which it has not be determined if an object occupies said region.);
control, in response to determining that the remaining region is not reduced until the predetermined condition is satisfied, the robot so as to dispose the sensor in the new empty region (Tonogai: Figure 3, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area, expand the object-free are based on the updated map and the captured measurements, and control the robot to move into the newly expanded object-free region to capture more measurements of the environment. This process is clearly configured to repeat until a sufficient number of the undetermined-subareas of the scan area have been determined to be object-free or contain an object.);
recognize additional new empty region based on additional second data newly acquired by the sensor from the new empty region (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area, expand the object-free are based on the updated map and the captured measurements, and control the robot to move into the newly expanded object-free region to capture more measurements of the environment. This process is clearly configured to repeat until a sufficient number of the undetermined-subareas of the scan area have been determined to be object-free or contain an object. One of ordinary skill in the art would recognize from the cited passages that, if a new subarea has been determined to be empty, the map would be updated to reflect such a determination and the object-free area would be expanded accordingly.);
redetermine, after the additional new empty region has been recognized, whether the remaining region of the real space is reduced until the predetermined condition is satisfied (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area, expand the object-free are based on the updated map and the captured measurements, and control the robot to move into the newly expanded object-free region to capture more measurements of the environment. This process is clearly configured to repeat until a sufficient number of the undetermined-subareas of the scan area have been determined to be object-free or contain an object.); and
model, in response to determining that the remaining region is reduced until the predetermined condition is satisfied, the real space based on the recognized empty regions further including the additional new empty region (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area and expand the object-free are based on the updated map and the captured measurements in accordance with the measurements of the undetermined-subareas.).
Regarding claim 10, Tonogai teaches wherein the circuitry is further configured to: control, after the remaining region has been reduced until the predetermined condition is satisfied, the robot so as to direct the sensor toward the remaining region (Tonogai: ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. The cited passages clearly teaches that the robot id configured to move the senor to the remaining undetermined-subareas of the scan area.);
recognize a remaining empty region in the remaining region based on three-dimensional third data acquired by the sensor directed toward the remaining region (Tonogai: ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. One of ordinary skill in the art would have recognized from the cited passages that the system is configured to determine if the undetermined-subareas are object-free (i.e. empty) or contain an object.); and
model the real space based on the recognized empty regions further including the remaining empty region (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area and expand the object-free are based on the updated map and the captured measurements in accordance with the measurements of the undetermined-subareas.).
Regarding claim 11, Tonogai teaches wherein the circuitry is configured to: control the robot so as to direct the sensor toward the remaining region from a plurality of locations; and recognize the remaining empty region in the remaining region based on the third data acquired by the sensor directed toward the remaining region from the plurality of locations (¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update map indicating the object-free area based on the measurements taken by the 3D sensor at a plurality of positions. Additionally, the system is clearly configured to perform this process for each undetermined-subareas).
Regarding claim 12, Tonogai teaches wherein the circuitry is configured to recognize, based on the three-dimensional data, that a region between the sensor and the object is the empty region (Tonogai: ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”. The cited passages clearly shows that the object-free area is determined based on the measurements taken by the 3D sensor. One of ordinary skill in the art would recognize that the object-free area is an area of real space that is empty and exists between the robot and any objects in the environment.).
Regrading claim 13, Tonogai teaches wherein the circuitry is configured to recognize, as the empty region, a region from the sensor to a predetermined detectable depth, in response to determining that the three-dimensional data of the object cannot be acquired by the sensor (Tonogai: ¶ 0086, “The definer 300 may define the object-free area 70 and the scan area 50 based on the defined movable range of the robot 10 and the measurement specifications of the 3D sensor 20. The measurement specifications of the 3D sensor 20 include information about the range in which measurement can be performed by the 3D sensor (e.g., the measurable distance range and the viewing angle). As shown in FIG. 6B, the 3D sensor 20 can measure an area 601 alone between a position (closest position) at a first distance Dl (the shortest distance in the measurable distance range) from the 3D sensor 20 and a position (distant position) at a second distance D2 (the longest distance in the measurable distance range) from the 3D sensor 20. For example, the first distance Dl may be 30 cm, and the second distance D2 may be 100 cm.”, ¶ 0087, “As shown in FIG. 6B, the definer 300 may define, as the object-free area an area resulting from expanding the movable range of the robot 10 (refer to FIG. 6A) by the first distance Dl. More specifically, for the robot 10 having a spherical movable range, a sphere with a radius greater by the first distance Dl than the radius of the movable range is defined as the object-free area 70. As shown in FIG. 6B, the definer 300 may define, as the scan area 50, an area resulting from expanding the movable range area of the robot 10 (refer to FIG. 6A) by the second distance D2 (or the range in which measurement can be performed by the 3D sensor 20) and excluding the object-free area 70.”. The cited passages clearly shows that the system can define the object free area based on the minimum and maximum measuring distances of the 3D sensor.).
Regarding claim 14, Tonogai teaches wherein the circuitry is configured to model the real space so that a region surrounded by the recognized empty regions is a region occupied by the object (: ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0073, “In step S1010, the area determiner 304 determines the contact area including an object based on the map information. More specifically, the area determiner 304 determines, based on the map information, the area including all the object subareas as the contact area.”. The cited passages clearly teaches that the system is configured to define each subarea of real space as an object-free subarea or as an object subarea. One of ordinary skill in the art would recognize that the region containing the object would be at least partially surrounded by object free areas.).
Regarding claim 16, Tonogai teaches a modeling method comprising (Tonogai: Abstract, “A control device for a robot including a three-dimensional sensor includes a definer that defines a scan area being an area measurable by the three-dimensional sensor and an object-free area being an area in which the robot is permitted to move to measure the scan area, and an operation controller that moves the three-dimensional sensor to measure the scan area by controlling an operation of the robot to cause the robot to move within the object-free area.”):
recognizing, based on three-dimensional first data of an object disposed in a real space acquired by a sensor, an empty region in the real space where the object does not exist (Tonogai: Figure 3, ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is clearly configured to determine and update an object-free area based on the measurements taken by a 3D measurement sensor.);
controlling a robot so as to dispose the sensor in the empty region (Tonogai: ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”. The cited passages clearly shows that the robot is configured to move the sensor into the object-free area (i.e. the empty region));
recognizing a new empty region based on three-dimensional second data newly acquired by the sensor disposed in the empty region (Tonogai: Figure 3 and 8, ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to update the object-free area based on the measurements taken by the 3D sensor in the current object-free zone. One of ordinary skill in the art would recognize that the newly expanded region of the object-free zone would be a “new” empty region and that this object-free zone is defined based on the measurements taken in the “current” empty region.); and
modeling the real space based on recognized empty regions including the empty region and the new empty region (Tonogai: ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to create and generate a 3D map of the environment based on the scanning results of the 3D sensor and the determination and update of the object-free area.).
Regarding claim 17, Tonogai teaches further comprising changing a posture of the sensor within the empty region by the robot (Tonogai: ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to move the 3D sensor into a plurality of posture when scanning a scan area of the environment until such a time that a threshold is reached.), and
wherein the new empty region is recognized based on the second data acquired at a plurality of postures of the sensor within the empty region (Tonogai: ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the object-free area based on the measurements taken by the 3D sensor at a plurality of positions.).
Regarding claim 18, Tonogai teaches wherein said modeling comprises: determining, after the new empty region has been recognized, whether a remaining region of the real space is reduced until a predetermined condition is satisfied, the remaining region being a region where it is not specified whether the region is occupied by an object (Tonogai: Figure 3, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 (multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. The cited passages clearly shows that the system is configured to determine if a number of undetermined-subareas of the scan area (i.e. the area of real space to be scanned) is less than a threshold. Additionally, the undetermined-subareas of the scan area is clearly a region in which it has not be determined if an object occupies said region.);
controlling, in response to determining that the remaining region is not reduced until the predetermined condition is satisfied, the robot so as to dispose the sensor in the new empty region (Tonogai: Figure 3, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area, expand the object-free are based on the updated map and the captured measurements, and control the robot to move into the newly expanded object-free region to capture more measurements of the environment. This process is clearly configured to repeat until a sufficient number of the undetermined-subareas of the scan area have been determined to be object-free or contain an object.);
recognizing additional new empty region based on additional second data newly acquired by the sensor from the new empty region (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area, expand the object-free are based on the updated map and the captured measurements, and control the robot to move into the newly expanded object-free region to capture more measurements of the environment. This process is clearly configured to repeat until a sufficient number of the undetermined-subareas of the scan area have been determined to be object-free or contain an object. One of ordinary skill in the art would recognize from the cited passages that, if a new subarea has been determined to be empty, the map would be updated to reflect such a determination and the object-free area would be expanded accordingly.);
redetermining, after the additional new empty region has been recognized, whether the remaining region of the real space is reduced until the predetermined condition is satisfied (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area, expand the object-free are based on the updated map and the captured measurements, and control the robot to move into the newly expanded object-free region to capture more measurements of the environment. This process is clearly configured to repeat until a sufficient number of the undetermined-subareas of the scan area have been determined to be object-free or contain an object.); and
modelling, in response to determining that the remaining region is reduced until the predetermined condition is satisfied, the real space based on the recognized empty regions further including the additional new empty region (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area and expand the object-free are based on the updated map and the captured measurements in accordance with the measurements of the undetermined-subareas.).
Regarding claim 19, Tonogai teaches wherein said modeling comprises: controlling, after the remaining region has been reduced until the predetermined condition is satisfied, the robot so as to direct the sensor toward the remaining region (Tonogai: ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. The cited passages clearly teaches that the robot id configured to move the senor to the remaining undetermined-subareas of the scan area.);
recognizing a remaining empty region in the remaining region based on three-dimensional third data acquired by the sensor directed toward the remaining region (Tonogai: ¶ 0067, “In step S1005, the position determiner 305 determines the measurement position (the 3D coordinates and the orientation) of the 3D sensor 20 within the object-free area 70. The position determiner 305 may determine, as a current measurement position, a position adjacent to an immediately preceding measurement position or a measurement position that allows measurement of many undetermined-subareas. In other words, the position determiner 305 may determine any measurement position within the object-free area 70.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0071, “In step S1009, the controller 301 determines whether measurement has been performed sufficiently across the scan area 50. More specifically, the controller 301 determines whether the number of undetermined-subareas indicated by the map information is less than or equal to a threshold Th. When the number of undetermined-subareas is less than or equal to the threshold Th, the scan area 50 is determined to have undergone sufficient measurement. The processing then advances to step S1010 for determining the contact area. When the number of undetermined-subareas is greater than the threshold Th, the scan area 50 is determined to have undergone insufficient measurement. The processing then returns to step S1005.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”. One of ordinary skill in the art would have recognized from the cited passages that the system is configured to determine if the undetermined-subareas are object-free (i.e. empty) or contain an object.); and
modelling the real space based on the recognized empty regions further including the remaining empty region (Tonogai: ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0072, “In step S1009, the controller 301 may determine whether the scan area 50 has undergone sufficient measurement based on whether the measurement is performed at least a predetermined number of times. In this case, the processing advances to step SlOl0 when the 3D sensor 20 has measured the scan area 50 at least a predetermined number of times. Otherwise, the processing advances to step S1005.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly teaches that the system is configured to update the map of the environment after a plurality of measurements have been taken in the object-free area and expand the object-free are based on the updated map and the captured measurements in accordance with the measurements of the undetermined-subareas.).
Regarding claim 20, Tonogai teaches a non-transitory memory device having instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations comprising (Tonogai: Abstract, “A control device for a robot including a three-dimensional sensor includes a definer that defines a scan area being an area measurable by the three-dimensional sensor and an object-free area being an area in which the robot is permitted to move to measure the scan area, and an operation controller that moves the three-dimensional sensor to measure the scan area by controlling an operation of the robot to cause the robot to move within the object-free area.”, ¶ 0044, “The control device 30 controls the robot 10 and the 3D sensor 20. The control device 30 controls the posture (the movement or the arm joint angles) of the robot 10 to control the measurement position (the orientation or viewpoint) of the 3D sensor 20. The control device 30 also controls the time for measurement performed by the 3D sensor 20. Further, the control device 30 determines the contact area based on the results of measurement performed by the 3D sensor 20.”, ¶ 0051, “The storage 302 stores information for the components to operate. The storage 302 stores, for example, information for specifying the scan area 50 or the object-free area 70 (information indicating the position, size, or shape of the area). Multiple scan areas 50 and multiple object-free areas 70 may be defined. The storage 302 may store information specifying such multiple scan areas 50 and multiple object-free areas 70. The storage 302 also stores the measurement specifications of the 3D sensor 20 ( e.g., the measurable distance range and the viewing angle) and the specifications of the robot 10 ( e.g., the movable ranges of the arm joints and the rotational speeds of the joints). These items of information can be preset by the user for the control device 30.”):
recognizing, based on three-dimensional first data of an object disposed in a real space acquired by a sensor, an empty region in the real space where the object does not exist (Tonogai: Figure 3, ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is clearly configured to determine and update an object-free area based on the measurements taken by a 3D measurement sensor.);
controlling a robot so as to dispose the sensor in the empty region (Tonogai: ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”, ¶ 0039, “The scan system 1 according to the first embodiment will now be described with reference the system diagram of FIG. 1. The scan system 1 includes the robot 10, the 3D sensor 20, the control device 30, and a control server 40.”, ¶ 0040, “The robot 10 changes the posture to move the 3D sensor 20. The robot may be any robot such as a vertically articulated robot, a mover robot, a parallel link robot, or a linear robot. In the present embodiment, the robot 10 is an articulated robot that includes an arm with multiple joints and controls the angle of each joint to control the position (orientation) of the 3D sensor 20. Each joint includes a drive shaft drivable by a motor to rotate the arm.”, ¶ 0041, “The robot 10 can move in the object-free area 70 alone, which is defined by the control device 30. More specifically, the object-free area 70 is an area in which the robot 10 (3D sensor 20) is permitted to move ( or may move) to measure the scan area 50. Thus, the robot 10 cannot move out of (outside) the object-free area 70.”, ¶ 0058, “The operation controller 307 controls the operation of the robot 10 to move the 3D sensor 20 to the multiple measurement positions. The operation controller 307 thus shifts the range to undergo measurement performed by the 3D sensor 20 (measurement range) to the range corresponding to each measurement position. The operation controller 307 controls the posture of the robot 10 along the movement path determined by the path generator 306 to control the position (the coordinates and the orientation) of the 3D sensor 20.”, ¶ 0068, “In step S1006, the operation controller 307 moves the 3D sensor 20 (robot to the measurement position determined by the position determiner 305. The operation controller 307 controls the operation of the robot 10 to avoid moving out of the object-free area 70 (or controls the operation of the robot 10 to move within the object-free area 70).”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”. The cited passages clearly shows that the robot is configured to move the sensor into the object-free area (i.e. the empty region));
recognizing a new empty region based on three-dimensional second data newly acquired by the sensor disposed in the empty region (Tonogai: Figure 3 and 8, ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to update the object-free area based on the measurements taken by the 3D sensor in the current object-free zone. One of ordinary skill in the art would recognize that the newly expanded region of the object-free zone would be a “new” empty region and that this object-free zone is defined based on the measurements taken in the “current” empty region.); and
modeling the real space based on recognized empty regions including the empty region and the new empty region (Tonogai: ¶ 0021, “In the above control device, the definer may update the object-free area based on a result of measurement of the scan area performed by the three-dimensional sensor. The operation controller may move the three-dimensional sensor to measure the scan area by controlling the operation of the robot to cause the robot to move within the object-free area updated by the definer. This structure can expand the object free area in response to every determination of a safe area after measuring the scan area safely in an initial stage in which a safe area is unknown. The object-free area can be gradually expanded to allow measurement of a gradually larger range, thus allowing measurement of a larger scan area.”, ¶ 0048, “The definer 300 defines the scan area 50 and the object-free area 70. The definer 300 defines, as the scan area 50, an area determined to be a measurement target area. The definer 300 defines, as the object-free area 70, an area determined not to include an object and determined to be an area in which the robot 10 may be moved. A process (method) performed by the definer 300 for defining the object-free area 70 or the scan area 50 will be described in detail later.”, ¶ 0053, “The map obtainer 303 generates or updates the above map information based on the results of measurement or scanning performed by the 3D sensor 20. More specifically, the map obtainer 303 generates (updates) map information based on the results of measurement of the scan area 50 multiple measurement ranges) performed by the 3D sensor 20 at multiple measurement positions.”, ¶ 0054, “For example, the map obtainer 303 performs coordinate transformation based on the measurement positions to transform 3D information (depth data) at each point on the surface of the object defined in the sensor coordinate system (the coordinate system for the 3D sensor 20) into 3D position information defined in the robot coordinate system (the coordinate system for the robot 10). The map obtainer 303 can thus determine the position of the object indicated by the depth data in the robot coordinate system. When the 3D sensor 20 measures the scan area 50 at different measurement positions, the map obtainer 303 can obtain different sets of depth data. This increases the reliability of determination as to whether an object is at each point (in each subarea) in the scan area 50. Based on the reliability, the map obtainer 303 determines (defines) the subarea corresponding to each point to be the undetermined-subarea, the object subarea, or the empty subarea.”, ¶ 0069, “In step S1007, the sensor controller 308 controls the 3D sensor 20 to measure the scan area 50 at the measurement position after the movement. This allows the 3D sensor 20 to obtain 3D information (point cloud data) for the scan area 50. The 3D sensor 20 outputs the 3D information to the control device 30.”, ¶ 0070, “In step S1008, the map obtainer 303 updates (generates) map information based on the information about the measurement position and on the 3D information (point cloud data) resulting from the 3D sensor 20 measuring the scan area 50.”, ¶ 0092, “The definer 300 may also define (update) the object-free area 70 based on the map information. The definer 300 may update the object-free area 70 and may update the scan area 50 to exclude the updated object-free area 70. For example, after initially defining the object-free area 70 with any of the above methods, the definer 300 may update the object-free area 70 either every time the map is updated in step S1008 or every time a predetermined number of measurement processes are performed. More specifically, as shown in FIG. 8, the definer 300 may newly define, as an object-free area 71, an area including the current object-free area 70 and empty subareas (areas determined to include no object) adjoining the current object-free area 70 indicated by the map information. This can expand the object-free area 70 gradually, thus increasing the area (or range) in which measurement can be physically performed by the 3D sensor 20.”, ¶ 0093, “The object-free area 70 or the scan area 50 or both the areas may be updated by an updater or an operation recorder (not shown), instead of being updated by the definer 300. More specifically, the definer 300 may define the object-free area and the scan area 50 without using the results of measurement performed by the 3D sensor 20, and then the updater may update the object-free area 70 and the scan area 50 using the results of measurement performed by the 3D sensor 20.”. The cited passages clearly shows that the system is configured to create and generate a 3D map of the environment based on the scanning results of the 3D sensor and the determination and update of the object-free area.).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2024/0017412 A1 ("Tonogai") in view of US 2021/0165413 A1 ("Guo").
Regarding claim 9, Tonogai does not teach wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold.
Guo, in the same field of endeavor, teaches wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold (Guo: Abstract, “Techniques described in this application are directed to determining safe path navigation of an unmanned vehicle, including a sidewalk robot, using LIDAR sensors and/or other data.”, ¶ 0009, “Upon identification of the dynamic object in the environment, the STA may include the space occupied by the dynamic object within a threshold distance. For example, when the distance between dynamic object and sidewalk robot 102 exceeds the threshold distance (e.g., more than 20 feet, etc.), the STA may include the space occupied by the dynamic object. When the distance between dynamic object and sidewalk robot is less than threshold distance, the STA may restrict the space occupied by the dynamic object and sidewalk robot may travel in an area not occupied by the dynamic object. In some examples, the distance between the dynamic object and sidewalk robot 102 may trigger a request for additional information from LIDAR sensor 104 to receive updated raw LIDAR data to generate an updated mask.”. The cited passages teaches that the system is configured to determine if the distance between the robot and the object is less than or equal to a threshold.).
Tonogai teaches a robot system configured to move a 3D sensor in an environment of the robot in order to scan said environment and model the environment based on the measurements taken by the 3D sensor. The system is configured to define multiple subareas of the environment, wherein the subareas include object-free subareas (i.e. areas that are empty) and object subarea (i.e. areas that contain an object or part of an object). The system is further configured to continue scanning the real space until the number of undefined subareas of the real space fall below a threshold. Tonogai does not teach wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold. Guo teaches wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold. A person of ordinary skill in the art would have had the technological capabilities required to have modified the system taught in Tonogai with wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold as taught in Guo. Furthermore, the system taught in Tonogai is already configured to continue mapping until the a value of the unmapped region falls below a threshold. This threshold is based on the amount of undefined subareas, that is, the subareas that have yet to be scanned by the system. One of ordinary skill in the art would recognize that, because the system is configured to gather 3D positional and depth information for each subarea and update a map with the 3D information, the system would be capable of determining the distance from the robot to the object that defines each subarea of the map. As such, one of ordinary skill in the art would have been able to modify the threshold used to determine if the system taught in Tonogai is to continue mapping the real space with the volume threshold taught in Guo. Such a modification would not have changed or introduced new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a robot system comprising: wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the system taught in Tonogai with wherein the predetermined condition includes that a volume of the remaining region is equal to or less than a predetermined threshold taught in Guo with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Claim(s) 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2024/0017412 A1 ("Tonogai") in view of US 2010/0185327 A1 ("Nakajima").
Regarding claim 15, Tonogai does not teach wherein the circuitry is configured to control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space.
Nakajima, in the same field of endeavor, teaches wherein the circuitry is configured to control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space (Nakajima: Figure15, Abstract, “A technique to wholly recognize the surrounding environment may be provided by excluding unknown environment which arises due to parts of a body of a robot hindering the sight of the robot during operations. The robot of the present invention is provided with a body trunk including head and torso, at least one connected member that is connected to the body trunk by a joint in which a driving mechanism is provided, a body trunk side camera that is arranged on the body trunk, and a connected member side camera that is arranged on the connected member. Further, the robot is provided with a composite image creation unit that creates composite image of a body trunk side image taken by the body trunk side camera and a connected member side image taken by the connected member side camera, such that a part of the body trunk side image is replaced with a part of the connected member side image so as to exclude the connected member from the body trunk side image.”, ¶ 0086, “In step S504, the relative positional information calculated by the image information processing device 116 is constructed as data that express the relative positioning of the surrounding objects and stored in the environment map storage device 112. An environment map refers to data of which the robot 100 uses to recognize the relative positioning of the surrounding objects. For example, in a case of computing a disparity image with the image information processing device 116, the environment map may be expressed by a spatial disparity space (SDS). In the SDS, the surrounding objects 30, 40, 50 and 60 including the points A, B, C and D appear as curved surfaces having lateral or depthwise spatial expansion.”, ¶ 0087, “In step S506, a moving route of the robot 100 is created based on the environment map information. Since the robot 100 of the present embodiment aims to visually recognize the surrounding objects 30, 40, 50 and 60, create a moving route that will not collide with those obstacles, and place the holding object 20 in an empty space, it is preferable that the robot 100 extracts plane(s) in which the surrounding object does not exist based on such environmental information, and create route for the arm to place the holding object 20 within the extracted plane. In step S508, the actuators 115 operate the actual motion.”. The cited passages clearly shows that the system is configured to create a map of the environment based on sensor data and use this map to control the robot to perform a task in cooperation with the objects in the environment (i.e. avoiding objects, placing, moving, and manipulating objects)).
Tonogai teaches a robot system configured to move a 3D sensor in an environment of the robot in order to scan said environment and model the environment based on the measurements taken by the 3D sensor. The system is configured to define multiple sub areas of the environment, wherein the subareas include object-free subareas (i.e. areas that are empty) and object subarea (i.e. areas that contain an object or part of an object). The system is further configured to only operate in the already determined object-free subareas. Tonogai does not teach wherein the circuitry is configured to control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space. Nakajima teaches wherein the circuitry is configured to control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space. A person of ordinary skill in the art would have had the technological capabilities required to have modified the system taught in Tonogai with wherein the circuitry is configured to control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space taught in Nakajima. Furthermore, while the system taught in Tonogai does not explicitly state that the system is controlled to perform an task in cooperation with the object using the map generated by the scanning process, Tonogai does teach that the map generated from the scanning process sis used for obstacle avoidance (Tonogai: ¶ 0036, “A scan system 1 including a control device 30 will now be described. The scan system 1 measures (scans) a scan area 50 at multiple measurement positions with a three-dimensional (3D) sensor 20 to determine an area including an object (contact area) in the scan area 50. For this determination, the robot 10 including the 3D sensor moves within a predetermined object-free area 70 without moving out of the object-free area 70 and measures (scans) the scan area 50. After the contact area is determined, for example, the robot 10 can avoid entering the contact area. The robot can thus move inside the scan area 50, in addition to moving inside the object-free area 70, without colliding with an object in the scan area 50. A machine other than the robot 10 can also move inside the scan area 50 without colliding with an object. Each measurement position herein refers to the 3D coordinates and the orientation (optical axis direction) of the 3D sensor 20.”). As such, one of ordinary skill in the art would have been able to modify the system taught in Tonogai such that control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space as taught in Nakajima according to methods known in the art. Such a modification would not have changed or introduced new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a robot system comprising: control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the system taught in Tonogai with control the robot to execute a task in cooperation with the object disposed in the real space, based on a modeling result of the real space taught in Nakajima with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because the combination would have yielded predictable results.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Noah W Stiebritz whose telephone number is (571)272-3414. The examiner can normally be reached Monday thru Friday 7-5 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ramon Mercado can be reached at (571) 270-5744. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/N.W.S./Examiner, Art Unit 3658
/MOHAMAD O EL SAYAH/Examiner, Art Unit 3658