DETAILED ACTION
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 .
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 2-6 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 2 contains the trademarks/trade names: Chromium; Chrome; Whale; Ubuntu; Debian. Where a trademark or trade name is used in a claim as a limitation to identify or describe a particular material or product, the claim does not comply with the requirements of 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph. See Ex parte Simpson, 218 USPQ 1020 (Bd. App. 1982). The claim scope is uncertain since the trademark or trade name cannot be used properly to identify any particular material or product. A trademark or trade name is used to identify a source of goods, and not the goods themselves. Thus, a trademark or trade name does not identify or describe the goods associated with the trademark or trade name. In the present case, the trademark/trade name is used to identify/describe operating systems and, accordingly, the identification/description is indefinite. Claims 3-6 are also rejected because they do not resolve the deficiencies of claim 2.
Claim Rejections - 35 USC § 102
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 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-5, 8-9, and 11 is/are rejected under 35 U.S.C. 102(a)(1) and (a)(2) as being anticipated by Go (US 20200276707 A1).
Regarding Claim 1,
Go teaches
A robot control method based on a web browser, comprising: (“a method may include deploying a cloud-based application programming interface (API) that comprises programming commands and routines for controlling a telepresence robot and exists on a cloud-based API server.” See at least [0032])
installing a robot web application for controlling a robot in a web browser of the robot; (“The cloud-based API may be accessed through the Internet using an Internet browser installed on a computer workstation. A programming web page may be developed, wherein the programming web page is constructed by the program developer as a standard web-based programming language file, includes a command to include the cloud-based API within the web-based programming language file, and contains the programming commands and the routines included in the cloud-based API. The programming web page may be saved on the Internet, and may be accessible to the telepresence robot via a uniform resource locator (URL). The URL may be sent to the telepresence robot using a cloud-based developer interface, wherein the cloud-based developer interface exists on the cloud-based API server,” See at least [0032])
and controlling the robot by having the robot web application communicate with hardware of the robot through the web browser. (“the telepresence robot is connected to the cloud-based developer interface through the Internet, and the telepresence robot includes an API web execution engine, wherein the API web execution engine includes logic for generating instructions for the telepresence robot from the programming web page. The URL for the programming web page may be received at the API web execution engine, which may then retrieve the programming web page from the Internet and generate instructions for the telepresence robot. The instructions may be processed through a system core processor, wherein the system core processor exists in the telepresence robot and controls the telepresence robot's motion, sensing, and user input/output (I/O) functions. As a result, the robot may execute the instructions controlling motion, sensing, and user I/O functions.” See at least [0032])
Regarding Claim 2,
Go further teaches
wherein the web browser is produced based on one of a Chromium Operating System, a Chrome Operating System, a Whale Operating System, a Ubuntu Operating System, and a Debian Operating System. (“The cloud-based API may be accessed through the Internet using an Internet browser (block 204). Internet browsers frequently come on typical computer workstations and are applications in general use. Example Internet browsers may include Microsoft Edge, Google Chrome, Apple's Safari, etc.” See at least [0049])
Regarding Claim 3,
Go further teaches
wherein the web browser is configured to define a robot control Application Programming Interface (API) for controlling the hardware of the robot, and perform communication with the hardware of the robot using the robot control API. (“The URL may be sent to the telepresence robot using a cloud-based developer interface, wherein the cloud-based developer interface exists on the cloud-based API server, the telepresence robot is connected to the cloud-based developer interface through the Internet, and the telepresence robot includes an API web execution engine, wherein the API web execution engine includes logic for generating instructions for the telepresence robot from the programming web page. The URL for the programming web page may be received at the API web execution engine, which may then retrieve the programming web page from the Internet and generate instructions for the telepresence robot. The instructions may be processed through a system core processor, wherein the system core processor exists in the telepresence robot and controls the telepresence robot's motion, sensing, and user input/output (I/O) functions. As a result, the robot may execute the instructions controlling motion, sensing, and user I/O functions.” See at least [0032])
Regarding Claim 4,
Go further teaches
wherein the robot control API controls at least one of motor control of the robot, setting of a movement path plan, setting of a goal point, acquisition of sensor values, and voice commands. (“The URL for the programming web page may be received at the API web execution engine, which may then retrieve the programming web page from the Internet and generate instructions for the telepresence robot. The instructions may be processed through a system core processor, wherein the system core processor exists in the telepresence robot and controls the telepresence robot's motion, sensing, and user input/output (I/O) functions. As a result, the robot may execute the instructions controlling motion, sensing, and user I/O functions.” See at least [0032]; “The system core processor may process the instructions sent from the API web execution engine and send low-level commands to actuators, sensors, AV components, and other robotic hardware (block 218).” See at least [0056]; “Low-level actuator interfaces 516 may use low-level logic to control motors and joints in the robot. Controls coming from the API or user-created code may be translated into low-level motion commands by a control engine within the system core processor 514. The low-level actuator interfaces 516 may encapsulate a command such as “spin at 0.3 radians/sec angular velocity for 2 seconds with angular acceleration of 0.1 radians/sec{circumflex over ( )}2” as a binary message packet, or another type of message packet, depending on the attached motor.” See at least [0074])
Regarding Claim 5,
Go further teaches
wherein, in the controlling of the robot, the web browser performs direct communication with the hardware of the robot using the robot control API. (“The programming web page URL may be received by the API web execution engine onboard the robot (block 212).” See at least [0053]; “The user may log into a web portal hosted on the cloud-based API server and view a list of the robots registered under the user's account. The user may select a desired robot to open a robot programming interface 306 that will communicate with the selected robot.” See at least [0061])
Regarding Claim 8,
Go further teaches
wherein the installing of the robot web application comprises: receiving the robot web application from an external server and installing the robot web application. (“The program developer may save the programming web page at a location accessible via the Internet (block 208). This may be the developer's own web server, a corporate server, or a web server hosted by a third party, such as WordPress, as long as the programming web page can be accessed at a unique URL. … The programming web page URL may be received by the API web execution engine onboard the robot (block 212). Multiple URLs may be saved into a queue in memory, to be processed based either on order of arrival (first in first out, first in last out, etc.), or on some additional layer of prioritization logic. The API web execution engine may retrieve the programming web page from the internet (block 214). The programming web page content may be stored in the robot's memory while code on the page is being executed.” See at least [0051-0054])
Regarding Claim 9,
Go further teaches
wherein, in the controlling of the robot, the robot web application controls the robot according to a control command received from the external server. (“The program developer may save the programming web page at a location accessible via the Internet (block 208). This may be the developer's own web server, a corporate server, or a web server hosted by a third party, such as WordPress, as long as the programming web page can be accessed at a unique URL. … The programming web page URL may be received by the API web execution engine onboard the robot (block 212). … The API web execution engine may retrieve the programming web page from the internet (block 214). … The API web execution engine may generate instructions readable by the system core processor from code on the programming web page (block 216). The system core processor may process the instructions sent from the API web execution engine and send low-level commands to actuators, sensors, AV components, and other robotic hardware (block 218).” See at least [0051-0056])
Regarding Claim 11,
Go teaches
A robot, comprising: processor, wherein the processor is configured to: (“a robot system 500 comprises a network controller 502, a telepresence AV control engine 506, memory 510, an API web execution engine 512, a system core processor 514, low-level actuator interfaces 516, and low-level sensory trigger modules 518.” See at least [0069])
install a robot web application for controlling the robot in a web browser of the robot; (“The cloud-based API may be accessed through the Internet using an Internet browser installed on a computer workstation. A programming web page may be developed, wherein the programming web page is constructed by the program developer as a standard web-based programming language file, includes a command to include the cloud-based API within the web-based programming language file, and contains the programming commands and the routines included in the cloud-based API. The programming web page may be saved on the Internet, and may be accessible to the telepresence robot via a uniform resource locator (URL). The URL may be sent to the telepresence robot using a cloud-based developer interface, wherein the cloud-based developer interface exists on the cloud-based API server,” See at least [0032])
and control the robot by having the robot web application communicate with hardware of the robot through the web browser. (“the telepresence robot is connected to the cloud-based developer interface through the Internet, and the telepresence robot includes an API web execution engine, wherein the API web execution engine includes logic for generating instructions for the telepresence robot from the programming web page. The URL for the programming web page may be received at the API web execution engine, which may then retrieve the programming web page from the Internet and generate instructions for the telepresence robot. The instructions may be processed through a system core processor, wherein the system core processor exists in the telepresence robot and controls the telepresence robot's motion, sensing, and user input/output (I/O) functions. As a result, the robot may execute the instructions controlling motion, sensing, and user I/O functions.” See at least [0032])
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) 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Go (US 20200276707 A1) in view of Osentoski (NPL: “Robots as web services: Reproducible experimentation and application development using rosjs”).
Regarding Claim 6,
Go does not explicitly teach, but Osentoski teaches
wherein, in the controlling of the robot, the web browser performs communication with middleware provided between the hardware of the robot and the web browser using the robot control API, and performs communication with the hardware of the robot through the middleware. (See at least pgs. 6080-6081, section III. ROSJS, wherein rosjs is the middleware between the web browser and robot hardware.)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Go to further include the teachings of Osentoski with a reasonable expectation of success to allow less experienced developers to control the robot, to improve security, and to facilitate data logging. (See at least pgs. 6080-6081, section III. ROSJS)
Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Go (US 20200276707 A1) in view of Cardozo (NPL: “A Platform for Networked Robotics”).
Regarding Claim 7,
Go does not explicitly teach, but Cardozo teaches
wherein the web browser further comprises: a proxy application, and the proxy application performs communication with the hardware of the robot using the robot control API. (See at least fig. 2 (provided below) and pgs. 1000-1001, sections I. INTRODUCTION & II. PLATFORM ARCHITECTURE, describing the HTTP proxy agent for the communication with the mobile robot.)
PNG
media_image1.png
374
312
media_image1.png
Greyscale
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Go to further include the teachings of Cardozo with a reasonable expectation of success “to secure the communication in order to avoid security threats on the robotic resources.” (See at least pg. 1000, section I. INTRODUCTION)
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Go (US 20200276707 A1) in view of Grigore (US 20220391227 A1).
Regarding Claim 10,
Go teaches
the robot control method according to claim 1. (See the prior art rejection above of claim 1.)
Go does not explicitly teach, but Grigore teaches
A non-transitory computer-readable recording media storing a computer program which, when executed by a processor, controls the processor to perform the robot control method (“The process steps performed in FIGS. 5-7 and 9-11 may be performed by a computer program, encoding instructions for the processor(s) to perform at least part of the process(es) described in FIGS. 5-7 and 9-11, in accordance with embodiments of the present invention. The computer program may be embodied on a non-transitory computer-readable medium.” See at least [0109])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Go to further include the teachings of Grigore with a reasonable expectation of success to facilitate saving and automating the robot control method with a computer. (See at least [0109])
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Aroca (NPL: “Web-based robot programming environment and control architecture”) is pertinent because it discusses a web interface for controlling a robot allowing the flexibility to use a web browser to control various types of robots with various programming languages.
Lee (NPL: “Development of Middleware based Control System for a Service Robot”) is pertinent because it discusses middleware technology for a target robot that is teleoperable via standard point-and-click mouse commands over the World Wide Web.
Richtr (NPL: “Remote Control the Robot using Web Service”) is pertinent because it discusses remote control of a robot via internet using a web server.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Karston G Evans whose telephone number is (571)272-8480. The examiner can normally be reached Mon-Fri 9:00-5:00.
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, Abby Lin can be reached at (571)270-3976. 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.
/KARSTON G. EVANS/Examiner, Art Unit 3657