A controller arrangement for controlling an industrial robot that includes a robot controller and a robot manipulator, the controller arrangement comprising: the robot controller; an external controller for the industrial robot; a wireless data link between the external controller and the industrial robot; and a quality of service (QOS) monitor configured to assign responsibility to the external controller while the QoS of the wireless data link is above a QoS threshold, and to the robot controller while the QoS is below the QoS threshold.
Legal claims defining the scope of protection, as filed with the USPTO.
. A controller arrangement for controlling an industrial robot that includes a robot controller and a robot manipulator, the controller arrangement comprising:
. The controller arrangement of, wherein the QoS monitor further includes a further component that is carried in the mobile robot.
. The controller arrangement of, wherein the QoS monitor is implemented at least in part in a networked processing resource.
. The controller arrangement of, wherein the QoS monitor is implemented at least in part in an edge processing resource.
. The controller arrangement of, wherein the QoS monitor is configured to estimate a current QoS of the wireless data link at runtime.
. The controller arrangement of,, wherein the external controller is configured to perform work planning using a greater planning horizon than the robot controller.
. The controller arrangement of, wherein the industrial robot is a mobile robot, and wherein the robot controller is an onboard motion planner.
. The controller arrangement of, wherein the external controller is an external motion planner.
. The controller arrangement of, wherein the external motion planner is configured to perform coordinated motion planning for the mobile robot and at least one further mobile robot.
. The controller arrangement of, wherein the external motion planner is configured for motion planning by a model-predictive control (MPC) algorithm.
. The controller arrangement of, wherein the onboard motion planner is configured for motion planning by a potential-field algorithm.
. The controller arrangement of, wherein the industrial robot is a mobile robot having an arm and a base, and wherein the robot controller and/or the external controller is/are configured to control movements of the arm and horizontal motion of the base.
. The controller arrangement of, wherein the robot controller is battery powered.
. The controller arrangement of, wherein the QoS monitor is configured to estimate the QoS in terms of data throughput, bandwidth, packet loss rate, packet loss burstiness, transmission reliability, latency and/or latency variation.
. A method for controlling an industrial robot that includes a robot controller and a robot manipulator, the method comprising:
. The method of, wherein the industrial robot is a mobile robot; and wherein controlling the mobile robot includes performing motion planning.
. The method of, wherein the method is a computer-executable method embodied as computer-executable instructions stored in tangible computer media that, when executed by a computer, cause the computer to carry out the method.
Complete technical specification and implementation details from the patent document.
The instant application claims priority to International Patent Application No. PCT/EP2023/050078, filed Jan. 3, 2023, which is incorporated herein in its entirety by reference.
The present disclosure generally relates to automation and, more particularly, to robotic control.
In automation applications, including factory automation, it is expected that an increasing share of the deployed field devices will be controlled and monitored over wireless links rather than wired connections. The use of wireless communication makes it easier to replace and/or reconfigure devices in an existing factory environment, it avoids the need to install and maintain cabling, and it could also be a decisive enabler for connecting densely clustered or otherwise inaccessible devices in a factory. Wireless control of mobile automation devices, such as mobile robots or automated guided vehicles (AGVs), is also advantageous in that the necessary computational capacity can be supplied by an external processor (e.g., cloud processing resource, edge processing resource) rather than an onboard processor. Such onboard processors are known to drain significant energy from the battery of the mobile automation device when solving computationally heavy tasks, so that frequent recharging is needed, which detracts from productivity.
Compared with a wired connection, however, a wireless link is inherently more exposed to disturbances, including atmospheric and meteorologic conditions, radio interference, as well as the presence of absorbing or reflective objects in the vicinity of the communication path. Such factors limit the transmission capacity of the wireless link and could at worst cause it to break down. The disturbances are difficult to predict and counter when the wireless link is maintained in a changing environment like a factory, and more so if it extends between moving communicating parties. The delivered transmission capacity of a wireless link may also vary significantly with the current network load, the distance to access point and depending on scheduling decision taken in the network.
US2015197010A1 discloses a method for evaluating signal quality metrics at one or more locations on an available path for a robotic device to a target location, and wherein a path to a target location and an access point switching plan for the robotic device are determined based on evaluated metrics. The evaluation of signal quality metrics may include comparing signal quality metrics associated with one or more locations to multiple signal quality thresholds, where one or more of these signal quality thresholds may include a minimum bandwidth threshold. The access point switching plan may comprise one or more switching events between multiple radio access technologies (RATs) at the corresponding boundaries. The path or access point switching plan can be determined based on comparing the costs associated with usage of multiple RATs. In particular, the path planning according to US2015197010A1 can be configured such that regions where signal quality is below a given threshold are avoided. To the extent that signal quality planning data is accurate, the wireless communication with the robotic device can be maintained without interruptions.
The present disclosure generally describes methods and devices for controlling an industrial robot, at least in part, over a wireless connection. According to some embodiments, these methods and devices are specifically adapted for motion planning of an industrial robot.
In one embodiment, the present disclosure describes systems and methods that externalize the controlling of an industrial robot such that the industrial robot remains under meaningful control through periods of fluctuations in the performance of a wireless link over which the externalized control acts. In particular, the industrial robot remains productive despite a temporary drop in wireless link performance. The disclosure further describes improved ways of monitoring the performance of the wireless link at runtime, a controller arrangement for controlling an industrial robot, a robot navigation arrangement for controlling a mobile robot, and ways to externalize the navigation of the mobile robot as well as the control of a robot arm mounted thereon.
In a first aspect of the present disclosure, there is provided a controller arrangement for controlling an industrial robot, which may be a non-propelled robot (e.g., stationary robot, portable robot) or a mobile robot (e.g., AMR, AGV, mobile manipulator). The industrial robot comprises a robot controller and a robot manipulator. The controller arrangement comprises the robot controller; an external controller for the industrial robot; a wireless data link between the external controller and the industrial robot; and a quality of service (QOS) monitor. The QoS monitor is configured to assign responsibility to the external controller while the QoS of the wireless data link is above a QoS threshold, and to the robot controller while the QoS is below the QoS threshold.
It is understood that the robot controller and the external controller are, in principle, configured for the same control task (e.g., work planning, motion planning), and they can, therefore, replace one another. One advantage of using the external controller rather than the robot controller is that the robot's energy resources are conserved. Another advantage is that the external controller may have more extensive processing resources at its disposal and can solve the control task more thoroughly than the robot controller, e.g., with a greater planning horizon or a larger search space. A still further advantage is that the external controller can use a processing resource that is shared with other applications, so that the shared processing resource is more evenly loaded over time. The controller arrangement according to the first aspect combines these advantages with an adequate robustness to fluctuations of the wireless data link, namely, by assigning the responsibility to the robot controller when the monitored QoS of the wireless data link drops below a threshold.
In some embodiments, the QoS monitor includes at least one component which is external to the industrial robot. For example, the QoS monitor may be implemented in a networked processing resource or an edge-cloud processing resource. Under either of these architectural options, it becomes possible to monitor the QoS by higher-level network indicators, such as data throughput, packet loss rate, packet loss burstiness, transmission reliability, latency and/or latency variation, which are in some respects superior to radio measurements.
In specific further developments of these embodiments, the QoS monitor may consist of one external component and one onboard component, wherein the external component is responsible for QoS monitoring in normal conditions (e.g., when the external controller is responsible) and the onboard component steps in while the QoS is poor (e.g., while the onboard controller is responsible) to detect when the wireless data link recovers. As used herein, an onboard component may refer to a component that is co-located with the industrial robot or one that is carried in the robot manipulator or travels with it.
In some embodiments, where the industrial robot is a mobile robot (or autonomous robot, or self-propelled robot), the robot controller is an onboard motion planner, and the external controller is an external motion planner. Specifically, the controller arrangement according to these embodiments may be configured to control movements of an arm (or tool) of the mobile robot and to control the horizontal motion of the mobile robot's base.
In a second aspect of the present disclosure, there is provided a method for controlling an industrial robot, which comprises a robot controller and a robot manipulator, the method comprising: maintaining a wireless data link between a controller which is external to the industrial robot on the one hand and the industrial robot on the other hand; controlling the industrial robot using the external controller; and monitoring a quality of service (QOS) of the wireless data link. If it is found that the monitored QoS drops below a QoS threshold, the industrial robot is temporarily controlled using the robot controller of the industrial robot rather than the external controller.
The method according to the second aspect generally shares the advantages of the controller arrangement according to the first aspect, and it can be implemented with a corresponding degree of technical variation.
This disclosure further relates to a computer program containing instructions for causing a computer, or the controller arrangement, to carry out the above method. The computer program may be stored or distributed on a data carrier. As used herein, a “data carrier” may be a transitory data carrier, such as modulated electromagnetic or optical waves, or a non-transitory data carrier. Non-transitory data carriers include volatile and non-volatile memories, such as permanent and non-permanent storage media of magnetic, optical or solid-state type. Still within the scope of “data carrier”, such memories may be fixedly mounted or portable.
In the present disclosure, the term “industrial robot” shall include robots of a similar basic design even if they are also suitable for—or in fact adapted for—a different purpose, such as cleaning, table waiting, entertainment, healthcare etc., and even if they are marketed as service robots.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to “a/an/the element, apparatus, component, means, step, etc.” are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
Certain aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, on which certain embodiments of the invention are shown. These aspects may, however, be embodied in many different forms and should not be construed as limiting; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and to fully convey the scope of all aspects of the invention to those skilled in the art. Like numbers refer to like elements throughout the description.
shows a worksite where a plurality of industrial robotscirculate. Here, the industrial robotsare mobile robots, such as autonomous mobile robots (AMRs), autonomous guided vehicles (AGVs) or mobile manipulators. A mobile manipulator is understood to be a mobile base with one or more robot arms mounted on the mobile base. The worksite may for example be a factory, logistics facility, energy generation plant or a recycling plant. For the reasons presented above, the worksite may also be a dwelling, restaurant, school, hospital or another non-industrial environment. The mobile robotsare self-propelled and steerable, and they are adapted to move horizontally on a substrate by means of wheels, continuous tracks or the like. The mobile robotsfurther carry robot arms(or robot manipulators) adapted for an industrial task, such as processing, cutting, painting, welding, thermal treatment, material handling, sorting, packaging, inspection and measuring. A mobile robotmay further include a portable energy source, such as a battery. The batterymay be associated with an onboard charging device or adapted for offboard charging, or the batterymay be replaceable at runtime.
Each robotis equipped with a wireless interface, which is operable to set up and maintain a wireless data linkto an access point. The access point may, together with optional further access points, belong to a radio access network installed on the worksite. The wireless interfaceof the robotcan act as a (mobile) station of Wi-Fi™ (IEEE 802.11 series), a field device of WIA-FA, or a user equipment (UE) of a cellular network such as 3GPP New Radio (‘5G’). Correspondingly, the access pointcan be the access point of Wi-Fi™, the access device of WIA-FA, or a base station (NB, ENB, gNB) of the cellular network. The robotsare able to connect to different access pointsas they move between different areas of the worksite, which may be facilitated by per se known handoff techniques. The radio access network may be associated with a core networkwhich connects to each of the access points, optionally via connection lines, and performs core network functionalities, such as connection aggregation, authentication, switching, connection control, service invocation, and it may operate gateways towards other networks. Additional devices may be connected to the core network, including generic networked (‘cloud’) processing resourcesand edge processing resources. In broad terms, cloud processing resources are used for location-agnostic resource allocation, whereas edge processing resources are used for proximity-aware resource allocation. This is to say, the edge processing resourcesare located, with respect to the topology of the core networkand/or radio access network, such that the intended user is expected to enjoy a reasonable QoS in normal conditions, e.g., the connection between the intended user and the edge processing resourcesnormally fulfils a minimum throughput, a maximum latency, or similar requirements. The fulfilment of such QoS requirements in normal conditions can be achieved by placing the edge processing resourcessuitably and/or by configuring network parameters related to routing, scheduling, resource allocation and traffic prioritization.
The access pointsmay be implemented in dedicated radio hardware, sensibly devoid of duties that are unrelated to the running of the radio access network, or in commodity hardware. The dedicated radio hardware may be owned or controlled by a network service provider, whereas the commodity hardware may be owned or controlled by the same entity as the worksite, e.g., a factory owner. The commodity hardware may be generic and/or multifunctional hardware, which offers computational capacity in addition to the duties related to the radio access network. The computational capacity may be offered in the form of edge processing resources. A time-sharing scheme may be in place, wherein a greater percentage of the computational capacity of the hardware is made available as edge processing resources at such times when the load on the radio access network is lower. Accordingly, as an alternative to the localization according to, the edge processing resourcesmay alternatively be co-located with a component of one of the access pointsand they may be an integral part thereof. The edge processing resourcesmay be located on the same premises as the worksite.
shows a further one of the intended use cases, namely, a factory environment in which two stationary industrial robotsoperate. Each of the industrial robotsis stationary in the sense that it is not equipped with a propulsion system for horizontal movement or for moving the industrial robotin its entirety. This is to say, while the industrial robotcan perform relative movements between a tool or armrelative to its base or frame, it is not configured for displacing itself. For purposes of the present disclosure, an industrial robotis qualified as stationary even though it is not necessarily attached to a building part or a fixed support structure in the factory, and even though it is not immobilized by other means.
Asshows, the factory environment includes one suspended material-handling robot-configured to lift workpiecestraveling on a conveyor, and one floor-located robot-equipped with an armadapted for grasping and manipulating said workpieces. Each of the industrial robots-,-, similarly to those in, is equipped with a wireless interface, which is operable to set up and maintain a wireless data linkto an access pointusing cellular, non-cellular or other wireless technology. The access pointis in communication with processing circuitry. The processing circuitrymay be provided in an edge server or a cloud server.
For each of the robotsin, the movement of the armor the horizontal motion of the base, or the movement of both the armand the base, is controlled by a control algorithm. In implementations, it is customary to use a somewhat higher frequency for sending motion references relating to the arm(e.g., 250 Hz) than for sending motion references relating to the base (e.g., 20 Hz).
Each of the industrial robotsmay be modeled as a combination of a robot controllerand a robot manipulator. The robot manipulator may be identified as the entirety of the robotexcept for the robot controller. Alternatively, the robot manipulator may be identified as the robotexcept for the robot controllerand the wireless interface. Further alternatively, the robot controller is considered to include also drive circuitry, such as power electronics configured to provide information-carrying and/or energy-carrying electric signals to be supplied to actuators in the robot manipulator. In the examples of, the robot controllersare integral parts of the robot manipulators. In general, industrial robots, the robot controlleris at least co-located with the robot manipulator, in the sense that a reliable wired or wireless connection can be maintained therebetween. The wired or wireless connection may be reliable in the sense of having deterministic characteristics, such as acceptable delay, latency, throughput, error rate etc. A robot manipulator and a robot controllermay be in a one-to-one relationship; alternatively, to enable load-sharing, redundancy and similar benefits, multiple robot manipulators share a common robot controller and/or one robot controller can be alternatingly controller by multiple robot controllers.
The control algorithm executes a robot program with the overreaching purpose of carrying out an industrial task or service task of the type exemplified and discussed above, and subject to additional requirements. The scope of the control algorithm may include work planning or navigation, or both. The additional requirements may include speed constraints, safety constraints, loading constraints, motion constraints, as well as caps or minimality constraints on consumption of energy, paint, glue and other consumables. While some of the additional requirements could be enforced statically (e.g., a motion constraint forbidding entry into a specific area of the worksite), others may need to be enforced dynamically in dependence of the condition prevailing. Such conditions could include the presence of people and objects on the worksite, measurable physical or chemical conditions, states of technical machinery, the supply of necessary raw materials, the progress of earlier or parallel logistics or work processes, etc.
Just like the control algorithm may have to respect static and dynamic additional requirements, the control algorithm itself can be characterized, with respect to the robot, as either an open-loop or closed-loop algorithm. More precisely, if each robotis abstractly modelled as an aggregate of sensors and actuators, a closed-loop algorithm may be one that determines the control signals to be fed to the actuators on the basis of measurement signals from the sensors, according to configured control laws and in such manner as to progress the execution of the robot program. An open-loop control algorithm instead begins the execution of the robot program at a suitable point in time (e.g., when earlier or parallel logistics or work processes have progressed sufficiently) by feeding control signals to the actuators, and continues the execution unless an instruction in the robot program is found that would violate a motion constraint, a safety requirement or the like, or unless a safety warning, technical alert or similar exceptional information is received. The open-loop control algorithm does not necessarily read any measurement signals. In particular, the control algorithm may delegate some aspects of the control of the industrial robotto subsystems therein. For example, an integrated motor drive which executes a movement request will normally operate in response to feedback from position sensors in the drive, e.g., for verifying that an applied drive current achieves the requested movement as expected, wherein the feedback from the position sensors need not be shared with the control algorithm unless a serious error occurs.
A systematic approach to the robot control problem is to formulate and solve an optimal control problem (OCP). For this purpose, the industrial robotis modeled as a linear dynamical system
where x is a state vector (the angles of the joints of a multi-joint robotcould be some states), u is a control signal (a motion request to an integrated motor drive could be one of these), y is an output variable (or observable), and A, B, C, D are matrices. If the robotis modeled as a time-invariant system, the matrices A, B, C, D are constant with respect to time. In more sophisticated system models, one or more of the matrices A, B, C, D can assume alternative values depending on current settings of the system, such as depending on whether or not an armof the robotis lifting a load (e.g., A=Aor A=A), to reflect the changing dynamics. Alternatively, the robotcan be modeled as a nonlinear dynamical system
The time dependence of functions f, g may be absent if the modeled nonlinear dynamical system is time-invariant. An overreaching responsibility of the control algorithm is to provide a scalar- or vector-valued control signal u which causes the controlled robotto execute the robot program in the time interval [0, T]. This can be formulated, for a linear dynamical model, as an OCP where a utility functional/is to be maximized subject to the system dynamics and various further constraints C, C. . . .
The maximization is performed over the set of admissible control signals of the form
where Δt denotes a time step, and each component u(nΔt), n∈N, has the same dimension as the control signal. Similarly,
In a continuous-time representation, the control signal may be written
The further constraints may be equality or inequality constraints, such as
where K, L, M, N are constant matrices. Two inequality constraints may be used to limit the control signal u to an acceptable range defined by actuator limits: u≤u(t)≤ū. The exact definition of the utility functional J is not essential to the present invention. By way of example, the utility functional J may include a term representing the degree of fulfilling the programmed movements in the time interval minus the cost of applying a particular control signal to the system and minus the cost of maintaining the robotin a particular state (e.g., efficiency variations, thermal dissipation, mechanical wear).
In some embodiments, a programmed sequence of robot movements
determined and inserted into an OCP to be solved, wherein the OCP is to find a control signal u that causes the robotto mimic the desired movement sequence. For example, the OCP (1) can be specialized into a minimization of an objective function that includes a term proportional to a norm of a difference between the programmed robot-movement sequence xand the actual movement sequence x, such as:
where ∥·∥is a Lornorm with p≥1 on the time interval [0, T]. The length Tmay be described as the planning horizon of the control algorithm. Alternatively, the programmed sequence of robot movements can be expressed in terms of the output variable y, wherein the objective function contains a term ∥y−y∥to be minimized.
The OCPs according to either formulation (1) or (3) may be solved by a direct solution formula or by executing an iterative or non-iterative numerical solver configured to produce an approximate solution. The solver may for example be an active-set (AS) method, an interior-point method (IP), alternating direction method of multipliers (ADMM), successive linear programming (SLP), sequential quadratic programming (SQP), sequential linear-quadratic programming (SLQP) and/or a reduced-gradient (RG) method. Some of these solvers are adapted for the case where the objective function is a quadratic function. The solution to the OCP may be applied in a receding horizon control scheme, as described in methods for model predictive control (MPC). For the robot navigation specifically, a grid-based algorithm or potential-field algorithm can be used.
Common to most of these options, the computational effort has a strong dependence on the planning horizon T, which is normally a configurable variable. The use of a relatively longer planning horizon Tin the control algorithm, however, is likely to deliver a solution that is more foresightful or closer to the global optimum. The use of a relatively longer planning horizon Tmay correspond to finding the solution in a correspondingly larger search space. This is immediate from the example in equation (2) above, where Tdetermines the number of components of the vector u and thus (exponentially) the cardinality of the search space. It is appreciated that the solution does not necessarily have to be found by an unrestricted search in the full search space, namely, since efficient heuristics for excluding irrelevant parts of the search space from consideration are known.
Control algorithms can be stateful or stateless. Such control algorithms that simulate the industrial robotusing a dynamical system model, including OCP algorithms, are inherently stateful. The state variables of an OCP algorithm may correspond to states of the dynamical system. Closed-loop control algorithms of the proportional-integral, proportional-derivative and proportional-integral-derivative (PI, PD, PID) types are stateful as well, as they effectuate a control law that depends on a history of a sensed variable; the history of the sensed variable may form part of a state of the control algorithm. Even open-loop control algorithms are stateful in the sense that they will behave differently depending on how far they have progressed in the robot program; the execution point in the robot program may be regarded as a state variable of the control algorithm.
Unknown
October 23, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.