T 1965/20 (Cluster controller/BROOKS) 27-07-2022
Download and more information:
Scalable Motion Control System
Inventive step - main request (no)
Added subject-matter - 1st auxiliary request (yes): unallowable intermediate generalisation
Admittance of request filed after summons - 2nd auxiliary request (no): no clear allowability
I. The examining division refused the present patent application on the grounds that the subject-matter of claim 1 of the applicant's main and first auxiliary requests did not involve an inventive step (Article 56 EPC) in view of the following prior-art document:
D1: US 2003/0108415 A1.
In addition, claim 1 of the first auxiliary request was found to introduce subject-matter which extended beyond the content of the application as filed (Article 123(2) EPC).
II. The applicant (appellant) appealed against this decision and requested that the decision under appeal be set aside and that a patent be granted based on the claims of the main request or the first auxiliary request, both filed with the statement of grounds of appeal.
III. In reply to the board's negative preliminary opinion under Article 15(1) RPBA 2020, the appellant submitted claims of a second auxiliary request alongside
counter-arguments with letter dated 26 July 2022, i.e. one day ahead of the arranged hearing before the board.
IV. Oral proceedings before the board were held by videoconference on 27 July 2022. The appellant requested that the decision under appeal be set aside and that a patent be granted on the basis of the main request or the first auxiliary request, both filed with the grounds of appeal, or the second auxiliary request, filed with letter dated 26 July 2022.
At the end of the oral proceedings, the board's decision was announced.
V. Claim 1 of the main request reads as follows (with the numbering of features as indicated in the decision under appeal):
"A control system (100) for a multi-axis nonlinear machine having nonlinear dynamics between dynamically coupled axes, the multi-axis nonlinear machine including a clustered architecture characterized in that it comprises
(a) a master controller (105),
(b) one or more cluster controllers (110) each defi ning a cluster,
(c) one or more remote controllers (115, 150), and
(d) end effectors,
(e) a central control section including one or more first remote controllers, said one or more first remote controllers being autonomous remote controllers (150) under direct control of the master controller, and
(f) a distributed control section including said one or more cluster controllers (110) controlled by the master controller (105), wherein each of said one or more cluster controllers (110) controls the activities of more than one second remote controllers (115) having dynamically coupled axes driven by the more than one second remote controllers in a respective cluster,
(g) each of the more than one first and second remote controllers being utilized to drive one or more axes of the end effectors of the multi-axis nonlinear machine,
(h) wherein the master controller includes a processor configured to generate trajectories, run control algorithms and provide torque commands for implementation by the autonomous remote controllers (150);
(i) wherein each of said one or more cluster controllers (110) comprise circuitry configured to run real time control algorithms including local dynamic modeling of dynamically coupled axes driven by said more than one second remote controllers (115) under its control and provide torque commands to said more than one second remote controllers (115) and
(j) wherein said autonomous remote controllers (150) and said more than one second remote controllers comprise circuitry for applying power to axis actuators (140) in response to torque commands, and comprise circuitry for conveying feedback signals including axis information and actual positions, respectively to the master controller and to the cluster controller (110) of the respective cluster, and
(k) wherein said master controller and at least said one or more cluster controllers are connected together to a communication network (120) of said control system and defines nodes of said network."
VI. Claim 1 of the first auxiliary request is identical to claim 1 of the main request except that feature (i) has been reformulated as follows (additions underlined):
(i') "wherein each of said one or more cluster controllers (110) comprise circuitry configured to run real time control algorithms including local dynamic modeling of dynamically coupled axes driven by said more than one second remote controllers (115) under its control, the local dynamic modelling representing elements and functions of inertial cross coupling between the dynamically coupled axes and position and velocity dependent effects, and provide torque commands to said more than one second remote controllers (115) and ...".
VII. Claim 1 of the second auxiliary request is based on claim 1 of the main request and has been amended in its introductory passage to read (amendments underlined):
"A control system (100) for a multi-axis nonlinear machine having nonlinear dynamics between dynamically coupled axes, the control system, for the multi-axis nonlinear machine, including a clustered architecture characterized in that it comprises ...".
In addition, in feature (f), the word "having" has been replaced with "driving".
1. The application
The present application concerns a control system for a multi-axis nonlinear machine, such as a robot. Usually, such control systems employ several controllers, referred to as "remote controllers", which are located close to the components subject to control, such as motors and other actuators. The remote controllers are coordinated by a "master controller" through a communication network. Such a centralised architecture has the advantage of allowing for advanced control algorithms being executed on the master controller, but requires an intensive time-critical exchange between the remote controllers and the master controller. In contrast, control systems with distributed control algorithms executing on trajectory information received from the master controller are associated with comparatively low network traffic. The disadvantage of this distributed approach is that the remote controllers require more computational power and
real-time access to sensor data from other axes (see paragraphs [0001] to [0008] of the application as filed). The present application proposes a clustered architecture of the control system including a master controller, and a "central control section" having one or more first remote controllers under the direct control of the master controller. In addition, the control system comprises a "distributed control section" including a cluster controller controlled by the master controller, wherein the cluster controller controls the activities of one or more second remote controllers. The cluster controller may utilise dynamic models of the multi-axis machine for advanced control, calculate torque commands, and periodically send those torque commands to the remote controllers in its cluster. In that way, the time-critical data traffic is contained within a cluster without burdening the rest of the network, particularly the connection with the master controller, which would otherwise be subject to heavy real-time traffic associated with centralised control algorithms (see paragraphs [0014], [0115], [0117] and figure 1 as filed).
2. Main request - inventive step, Article 56 EPC
2.1 It is common ground that document D1 represents the closest prior art with respect to the subject-matter of present claim 1. Moreover, the board essentially concurs with the feature mapping adopted in the impugned decision between claim 1 and the disclosure of D1 (cf. Reasons 7.1).
2.2 In particular, D1 discloses (with the numbering of features as indicated in the decision under appeal) a control system for a multi-axis machine, the multi-axis machine including a clustered architecture (see paragraphs [0006] and [0013])
(a) a master controller ("main controller"; see figure 24: 2440),
(b) one or more cluster controllers each defining a cluster (termed "remote controller" in D1: 2436);
(c) one or more remote controllers (termed "robot actuators" 2428, 2430, 2432 in D1),
(d) end effectors (blocks 2516 and 2517 and paragraphs [0116] and [0120]),
(e) a central control section including one or more first remote controllers ("robot actuators 2428, 2430"), said one or more first remote controllers being autonomous remote controllers under direct control of the master controller (paragraphs [0051] and [0052]),
(f) a distributed control section including said one or more cluster controllers controlled by the master controller, wherein each of said one or more cluster controllers controls the activities of more than one second remote controllers having dynamically coupled axes driven by the more than one second remote controllers in a respective cluster (see figure 25: blocks 2516, 2517; figure 24: actuator 2432 and paragraph [0120]),
(g) each of the more than one first and second remote controllers being utilised to drive one or more axes of the end effectors of the multi-axis nonlinear machine, (see paragraphs [0051], [0052] and [0116]),
(h) wherein the master controller includes a processor configured to generate trajectories, run control algorithms and provide torque commands for implementation by the autonomous remote controllers (paragraphs [0050] to [0052] and figure 24);
(i) wherein each of said one or more cluster controllers comprise circuitry configured to run real-time control algorithms including local dynamic modelling of dynamically coupled axes driven by said more than one second remote controllers under its control and provide torque commands to said more than one second remote controllers (paragraphs [0051] to [0053] and figure 24),
(j) wherein said autonomous remote controllers and said more than one second remote controllers comprise circuitry for applying power to axis actuators in response to torque commands and comprise circuitry for conveying feedback signals including axis information and actual positions, respectively to the master controller and to the cluster controller of the respective cluster (see figure 24: input and output designation of blocks 2428, 2430 and 2432 and paragraphs [0053] and [0064]),
(k) wherein said master controller and at least said one or more cluster controllers are connected together to a communication network of said control system and defines nodes of said network (see paragraph [0049]).
2.3 The appellant argued that D1 did not disclose features (e), (f) and (i). Contrary to what was specified in feature (e), it was clear from figure 24 of D1 and the related text that the robot actuators 2428 and 2430 were not autonomous and not capable of operating autonomously. All data for operating the robot actuators 2428 and 2430 were rather processed by the motion control 2446 such that the robot actuators 2428 and 2430 used direct torque commands from the main controller 2440. "Autonomous mode" was to be understood as operating from trajectory information. In D1, there was also no "autonomous remote controller" under the direct control of the main controller. Paragraphs [0082] and [0083] of the application as filed made it clear that in the "direct control example", the autonomous remote controller used the torque commands and in the "distributed control example", the autonomous remote controller used the trajectory data. Feature (i) did not pertain to the autonomous remote controllers. Feature (j) did not specify where the torque commands came from. In accordance with paragraphs [0083], [0107] and [0108] as filed, the autonomous remote controller employed the trajectories (e.g. position, velocity, time stamp (PVT) frames) to determine a set of associated torque commands for the respective axis and applying power to the respective axis. Hence, the notion of the autonomous remote controller operating from trajectory information was indeed supported by the present application.
With respect to features (f) and (i), the appellant argued that D1 did not disclose a "cluster controller" controlling more than one dynamically coupled axis. Dynamic coupling of the "end effectors" was ignored in D1 as evidenced by setting the matrices MAB, MBA, hAB, hBA to zero in paragraph [0121] of D1. Further, claim 1 did not define "a control system suitable for a multi-axis nonlinear machine" as argued in the decision under appeal, but a "control system for a multi-axis nonlinear machine having nonlinear dynamics between dynamically coupled axes ... wherein each of said one or more cluster controllers comprise circuitry configured to run real time control algorithms including local dynamic modeling of dynamically coupled axes driven by said more than one second remote controllers under its control". The motion controller 2448 of D1 was described as controlling only one actuator 2432 (see paragraph [0052]) and was consequently no cluster controller. In the event of two end effectors, D1 expressly taught elimination of any dynamic coupling effects with respect to controller 236 by setting the values for MBA and MAB to zero.
2.4 The board cannot agree with the appellant's interpretation of the expression "autonomous remote controllers" of feature (e), which according to the appellant implies that autonomous controllers operate from trajectory information. This interpretation is not based on the wording of claim 1. On the contrary, features (h) and (j) of claim 1 at least allow for the interpretation that the master controller supplies torque commands to the autonomous remote controllers. Such interpretation is also supported by paragraph [0082] as filed. Neither is it derivable from the wording of present claim 1 that the "autonomous remote controllers" are supposed to operate from "trajectory information" in the distributed control scenario and from "torque commands" in the central control scenario.
Regarding features (f) and (i), the board concurs with the decision under appeal that D1 discloses a cluster controller (controller 2436 corresponding to the remote controller 236 of D1) which controls two remote controllers (corresponding to the end effectors 2516, 2517 of D1; see paragraphs [0120], [0121] and figures 24 and 25). According to paragraph [0052] of D1, the motion control block 2448 of the cluster controller 2436 operates "to account for dynamic coupling between the members". It is correct that D1 employs a simplified dynamic modelling, whereby dynamic coupling effects with respect to the two end effectors are neglected by setting the values for MBA and MAB to zero. However, further details of the dynamic modelling are not specified in claim 1.
2.5 The board therefore agrees with the decision under appeal that the subject-matter of claim 1 is only distinguished from D1 in that the control system is adapted for the control of a nonlinear machine having nonlinear dynamics between dynamically coupled axes.
2.6 According to the decision under appeal, the objective technical problem should consequently be considered as how to modify the control system of Dl in order to control coupled end effectors. The appellant argued that - since D1 already controlled coupled end effectors by setting the values for MBA and MAB to zero - the technical problem was rather "how to effect control via resolution of dynamic effects from dynamically coupled axes".
The board, however, holds that D1 already discloses the resolution of dynamic effects from dynamically coupled axes (see paragraphs [0052] to [0055] and [0120] to [0122]). Yet, in D1, the coupling of end effectors is neglected as is evidenced by setting MBA and MAB to zero. Hence, the board agrees with the formulation of the objective technical problem as adopted in the decision under appeal. It was not disputed that the skilled person to whom this problem is directed may be considered an engineer in the field of control of multi-axis machines, such as robots.
2.7 The appellant argued that any dynamic coupling of the end effectors in the dynamic model of the robotic manipulator 2511 was ignored by setting the matrices MAB, MBA, hAB, hBA to zero. Thus, the examining division generated disclosure which was not present in D1, when arguing that the coupling between end effectors was a mere matter of design. Instead, D1 disclosed elimination of modelling the dynamic coupling. Moreover, while a person skilled in the art might have considered adjusting dynamic parameters in the event of dynamically coupled axes, it did not follow that this adjustment would be effected locally at the cluster controller in D1. In the configuration of D1 described in paragraph [0052], the controller 2448 was not a "cluster controller". In addition, D1 did not provide any teaching as to how such dynamic coupling was taken into account at the cluster controller.
2.8 The board agrees with the decision under appeal that D1 discloses the use of a dynamic model of a robot manipulator with dynamically coupled axes. For the general case, D1 in fact discloses dynamically coupled axes in the form of non-zero inertia matrix elements indicating cross-coupling between axes (see e.g. equations (0) and (15) to (22) of D1). It is only disclosed in the specific example of the two end effectors of figure 25 that the inertial cross couplings between the two end effectors are set to zero (see paragraph [0121]). Therefore, an additional disclosure of "coupled end effectors" is not generated. Moreover, according to D1, paragraph [0052], the feedback motion controller 2448 in fact takes account of dynamic coupling between axes. This feedback motion controller 2448 is in turn a component of the remote controller 2436 of D1, which corresponds to the "cluster controller" of claim 1. It follows that D1 also discloses that the dynamic coupling is taken into account at the level of the cluster controller. Hence, starting from D1, the skilled person would have readily taken dynamic coupling between axes into account if these couplings were not negligible or if higher accuracy was required.
2.9 As a result, the board agrees with the appealed decision that the subject-matter of claim 1 of the main request lacks an inventive step in view of D1 and the skilled person's common general knowledge (Article 56 EPC).
3. First auxiliary request - added subject-matter, Article 123(2) EPC
3.1 Claim 1 of the first auxiliary request specifies further details of the "local dynamic modelling", i.e. that it represents elements and functions of inertial cross coupling between the dynamically coupled axes and position- and velocity-dependent effects. This amendment is based on paragraph [0131] of the application as filed.
3.2 Paragraph [0131] as filed discloses the new feature of claim 1 for the specific case of the use of an "inverse dynamic model" (see also paragraph [0128] as filed). The position- and velocity-dependent effects referred to in the amended feature (i') of claim 1 are only disclosed in that context, more specifically they emanate from the equation specifying the inverse dynamic model.
3.3 The appellant argued with reference to paragraphs [0084], [0090], [0093], [0098], [0115] and [0123] as filed that it was clear from the application considered in its entirety that local modelling was disclosed. In addition, an "inverse dynamic model" classified as a dynamic model and existed locally at the cluster controller.
3.4 The board is not convinced by these arguments. Whilst it is correct that the application refers to dynamic modelling in general and local dynamic modelling in particular, it is only disclosed in the context of the "inverse dynamic model" of paragraph [0128] as filed that position- and velocity-dependent effects are taken into account. The detailed solution of paragraph [0128] is thus an approximation for small position and velocity tracking errors, in which position- and velocity-dependent terms are inextricably linked with the use of the inverse dynamic model. Hence, the amendment to claim 1 must be considered an unallowable intermediate generalisation.
3.5 Hence, the board finds that claim 1 according to the first auxiliary request infringes Article 123(2) EPC.
4. Second auxiliary request - admittance, Article 13(2) RPBA 2020
4.1 The claims of the second auxiliary request were filed only one day before the arranged oral proceedings before the board and thus after notification of the summons to the hearing. Thus, their admittance is generally governed by Article 13(2) RPBA 2020.
4.2 According to Article 13(2) RPBA 2020, any amendment to a party's case after notification of a summons to oral proceedings shall in principle not be taken into account unless there are exceptional circumstances, which have been justified with cogent reasons by the party concerned. Furthermore, in the application of Article 13(2) RPBA, the criteria mentioned in Article 13(1) RPBA 2020 may be used. Pursuant to Article 13(1) RPBA 2020, any amendment to a party's appeal case after it has filed its grounds of appeal is subject to the party's justification for its amendment and may be admitted only at the discretion of the board. The board shall exercise its discretion in view of, inter alia, the suitability of the amendment to resolve the issues which were raised by the board.
4.3 As indicated by the appellant, claim 1 of the second auxiliary request has been re-formulated to merely address observations on clarity raised in the board's preliminary opinion issued under Article 15(1) RPBA 2020. As a consequence, the amendments do not change the subject-matter of claim 1 with respect to corresponding claim 1 of the main request.
4.4 Hence, the claims of the second auxiliary request are not suitable to overcome the objection of lack of inventive step (Article 56 EPC) which was raised against claim 1 of the main request.
4.5 For this reason alone, the board decided not to admit the claims of the second auxiliary request into the appeal proceedings (Article 13(2) RPBA 2020).
5. It follows from the above that none of the appellant's requests is allowable and that therefore the appeal is to be dismissed.
For these reasons it is decided that:
The appeal is dismissed.