Controlling robotic devices via wireless network
By trajectory modification entities analyze loads in the wireless network and reduce the degree of freedom in the control command, the problem of low remote control efficiency of robot devices under the limitation of wireless network resources is solved, and efficient radio resource utilization and flexible production capacity are achieved.
Patent Information
- Application Number
- CN201980101319.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-10-16
- Publication Date
- 2025-05-20
- Estimated Expiration
- 2039-10-16
AI Technical Summary
When remotely controlling robot devices in wireless networks, resource limitations lead to inefficiency in transmitting control commands, making it difficult to meet the demands of industrial applications for high flexibility and customized production.
Through trajectory modification entities, analyze wireless network load, reduce the number of degrees of freedom in control commands, and generate modified control commands to effectively control the robot device under the limitation of wireless network resource.
It realizes efficient saving of radio resources when wireless network resources are limited, ensures reliable remote control of robot devices, and supports high flexibility and customized production.
Smart Images

Figure CN114514092B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to a method for controlling a robotic device by a trajectory modification entity via a wireless network and to a corresponding trajectory modification entity. Furthermore, a computer program and a carrier comprising the computer program are provided. Background Art
[0002] 5G networks are designed to handle the requirements of industrial applications, and the currently used use cases and industrial protocols will still pose challenges for wireless device designers and operators.
[0003] In wireless transmission, there are always resource limitations. For example, the wireless spectrum and reasonable resource allocation are always effective issues to be addressed. One question raised in this context is whether it is the only way to successfully operate the remote control of a robotic unit via wireless by providing the required network characteristics 24 / 7, or is it possible to relax the requirements in some operating phases of the system so as to introduce a certain degree of QoE-awareness in industrial applications as in customer mobile broadband?
[0004] In the past few years, there has been an increasing demand from customers for the manufacturing industry to provide more and more customized products. Personalized production is one of the key motivations for manufacturers to start leveraging new technologies that enable increased flexibility, for example, in production lines. High flexibility is generally required to achieve cost-effective and customized production by supporting the rapid reconfiguration of production lines and easy application development.
[0005] Technical requirements need to be met in multiple aspects:
[0006] - Low-power actuators;
[0007] - Battery-powered operation of the actuators;
[0008] - Some embedded intelligence in the local controller;
[0009] - Fast wireless connection for closed-loop control;
[0010] - Capable of any kind of IoT and real-time communication.
[0011] If a fully self-contained robotic module is required, it should also be self-propelled by an internal battery and remotely controlled via wireless access.
[0012] Advances in battery technology can provide the first, while the upcoming 5G supports the latter. The application of such wireless technologies in manufacturing enables, for example, a reduction in cabling in factories. Cableless communication is a true enabler for many applications that are difficult to achieve with production systems relying on wired connections, such as in the manufacturing of jet engines during the milling of blades.
[0013] One might argue that it is difficult for modular robots provided by industrial-grade arms to meet the same requirements. Industrial robots have many metrics and measurable characteristics, which will have a direct impact on the robustness of the robot during the execution of its tasks. The main measurable characteristics are repeatability and accuracy. In short, the repeatability of a robot can be defined as its ability to repeat the same task. Accuracy is the difference (i.e., error) between the requested task and the achieved task (i.e., the task actually completed by the robot). In fact, repeatability is doing the same task over and over again, while accuracy is hitting the target every time.
[0014] One goal is to have a robot that can repeat its actions while hitting the target every time. When designing current high-volume production assembly lines, robots are deployed to repeat a limited set of tasks as precisely and quickly as possible to maximize productivity and minimize the number of defective parts. Reprogramming of the robot rarely occurs, e.g., on a weekly or monthly basis, and it takes a long time, e.g., several days. In addition, it is a difficult task that requires a lot of expertise.
[0015] There are many methods in the industry aimed at optimizing the operation of robot cells. The purpose of such optimization is to minimize or maximize at least one of the following objective functions: 1) Minimize the execution time, respectively maximize the robot productivity, considering that the relative speed of the elements of the actuator is constructively limited; 2) Minimize the energy consumption or mechanical work required for execution, resulting in a reduction of mechanical stress in the actuator and on the robot structure and obtaining a smooth trajectory that is easy to follow; 3) Minimize the maximum power required to operate the robot; 4) Minimize the maximum actuation force and torque. The most common optimization criteria used are: minimum-time trajectory planning; minimum-energy trajectory planning or minimum-actuation force and minimum-impact trajectory planning. Remote control of robotic cells via wireless is a new type of challenge not yet encountered by the above optimization strategies. Regarding trajectory planning, there are various optimization strategies. For example, energy-saving trajectory planning.
[0016] There are important networking aspects of robot modules. While an industrial robot arm can be treated as an entity, i.e., the controller issues a velocity command containing a vector of six components for all joints, modular robots have to be processed one by one. This problem also occurs with status messages. While an industrial arm sends a status packet containing the position, force, current, etc. of all joints every 8 ms, the modules send the same information one by one.
[0017] Therefore, there is a need to be able to effectively control modular robot devices via a wireless network. Summary of the Invention
[0018] This need is met by the features of the independent claims. Further aspects are described in the dependent claims.
[0019] According to a first aspect, there is provided a method for controlling a robotic device using modified control commands transmitted over a wireless network, wherein the robotic device includes a plurality of joints and each joint represents one degree of freedom of a first number of degrees of freedom of the robotic device. A trajectory modification entity determines the load of the wireless network and receives from a robotic control entity a plurality of control commands for planning a trajectory of the robotic device. Each of the control commands is configured to control one of the first number of degrees of freedom. Additionally, a reduced number of degrees of freedom is determined for the modified control commands, wherein the reduced number is less than the first number and is determined based on the load of the wireless network. Further, the modified control commands are determined based on the reduced number of degrees of freedom, and the modified control commands address a limited number of degrees of freedom, the limited number of degrees of freedom being no higher than the reduced number of degrees of freedom. The modified control commands, rather than the plurality of control commands, are then transmitted to the robotic device.
[0020] Additionally, a corresponding trajectory modification entity is provided, the corresponding trajectory modification entity including a memory and at least one processing unit, wherein the memory includes instructions executable by the at least one processing unit. The trajectory modification entity is operative to operate as discussed above or as discussed in further detail below.
[0021] As an alternative, there is provided a trajectory modification entity configured to control a robotic device using modified control commands transmitted over a wireless network. The trajectory modification entity includes a first module configured to determine the load of the wireless network. A second module of the trajectory modification entity is configured to receive a plurality of control commands for planning a trajectory of the robotic device. Among these control commands, each of the control commands is configured to control one of the degrees of freedom of the robotic device. A third module is configured to determine, based on the determined network load, a reduced number of degrees of freedom for the modified control commands that is less than a first number. The trajectory modification entity includes a fourth module configured to determine the modified control commands based on the reduced number of degrees of freedom. Here, the modified control commands address a limited number of degrees of freedom, the limited number of degrees of freedom being no higher than the reduced number of degrees of freedom. A fifth module of the trajectory modification entity is configured to transmit the modified control commands to the robotic device.
[0022] Using the proposed method and entity, a plurality of control commands are modified such that radio resources are saved and such that, taking into account the available resources provided by the wireless network, control commands can be transmitted over the wireless network.
[0023] In addition, a computer program including program code is provided, where the execution of the program code causes at least one processing unit to execute the method as discussed above or as discussed in further detail below.
[0024] Furthermore, a carrier including a computer program is provided, where the carrier is one of an electrical signal, an optical signal, a radio signal, or a computer-readable storage medium.
[0025] It should be understood that, without departing from the scope of the present invention, the features mentioned above and the features to be explained below can be used not only in the indicated corresponding combinations, but also in other combinations or used in isolation. Unless otherwise explicitly mentioned, the features of the aspects mentioned above and the embodiments described below can be combined with each other in other embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Other features and advantages will become apparent to those skilled in the art when reviewing the following detailed description and the drawings.
[0027] Figure 1 A schematic architectural view of a system including a trajectory modification entity configured to modify the trajectory of control commands transmitted to a robotic device via a wireless network is shown.
[0028] Figure 2 An example flowchart of a method for modifying control commands based on network load executed at the trajectory modification entity is shown.
[0029] Figure 3 Shown is executed by the Figure 1 Another example flowchart of a method for controlling a robotic device executed by the trajectory modification entity shown in
[0030] Figure 4 Shown is in Figure 1 An example schematic representation of the trajectory modification entity shown in
[0031] Figure 5 Shown is in Figure 1 Another example schematic representation of the trajectory modification entity shown in DETAILED DESCRIPTION OF THE EMBODIMENTS
[0032] Hereinafter, embodiments of the invention will be described in detail with reference to the drawings. It should be understood that the following description of the embodiments is not to be construed in a limiting sense. The scope of the invention is not intended to be limited by the embodiments described below or by the drawings, which are merely illustrative.
[0033] The figures are to be regarded as being schematic representations and the elements illustrated in the figures need not be shown to scale. On the contrary, the various elements are represented such that their function and general purpose become apparent to a person skilled in the art. Any connection or coupling between the components of the functional blocks, devices, physical or functional units illustrated in the figures and described hereinafter can also be achieved by indirect connection or coupling. The coupling between the components can be established by wired or wireless connection. The functional blocks illustrated in the figures can be implemented in hardware, software, firmware or a combination thereof.
[0034] As will be explained below, there is provided a node or entity provided in the path between the robotic device and the robotic control entity that can modify the transmitted control commands to save radio resources. This node analyzes the messages or commands sent to the joint groups of the robotic device and modifies the control commands into modified control commands to control only certain joints while keeping the error between the planned trajectory and the actual execution trajectory of the robotic device low.
[0035] Figure 1 An architectural view of the system is shown, in which a robotic device 50 including a first number of joints 53, each joint having one degree of freedom, is controlled via a wireless network 30. The robotic device 50 includes a plurality of actuators / servo systems to control each of the joints 53. In addition, a plurality of sensors 52 are provided that are configured to determine the speed and / or position of different links of the robotic device linked by different joints 53. In the illustrated embodiment, commands for controlling the movement of the robotic device 50 are generated by an entity 85, and based on these commands, a solving entity 80 schedules the commands and transforms the commands into actions to be executed by different elements such as the arm or gripper of the robotic device. This entity 80 uses methods known in the art to generate the actions to be executed by the robotic device 50. The entity 80 computes the trajectories of the different components of the robotic device independently of any radio resources. A robotic control entity 70 then finally computes control commands for the planned trajectory of the robotic device, which are transmitted to the robotic device via a cellular network 30 that is implemented as a 5G network in the illustrated embodiment. However, any other wireless or cellular network, such as a 4G network, can be used. In addition, an entity 40 is provided that is configured to determine the load of the radio resources in the radio network part of the radio network. The load can be determined, for example, by checking the packet queue on the radio scheduler or by simply checking the number of parallel flows or radio bearers and comparing it with a known maximum value. Each actuator can be connected to a mobile entity or user equipment UE, and communication with it via the wireless network 30 is possible. The UE can be equipped with a subscriber identity such as a SIM.
[0036] In radio network section 30, a trajectory modification entity 100 is provided that receives control commands generated by a robot control entity 70 and modifies the control commands based on radio load to meet radio resource constraints.
[0037] The trajectory modification entity is configured to determine the available radio resources that can be consumed by the control of a robotic device over a wireless network. Additionally, entity 100 is configured to set an accumulated target tolerance. Since the trajectories of the components of the robot device linked by joints will not correspond to the planned trajectory as planned by control entity 70, entity 100 can consider a certain maximum error or tolerance that is acceptable during certain phases of the control of robot device 50.
[0038] Entity 100 receives multiple control commands from control entity 70 and modifies these control commands to generate modified control commands that meet the maximum or target radio resource consumption. The target accumulated target tolerance is to keep the difference between the sent and received velocity commands to a minimum while minimizing the radio resources utilized. It is possible for a command scheduler to set the target tolerance for trajectory execution. Each control command sent to the robot device requires certain resources in the wireless network. Based on the network load, it can be determined how many control commands can be transmitted. The transmitted control commands handle a first number of degrees of freedom (DOF). Based on the network load, it is determined how many DOF can be handled at most. This number is referred to as the reduced number of DOF. Entity 100 generates modified control commands that handle at most the reduced number of DOF. The modified control commands handle a finite number of DOF, and the finite number of DOF is less than or equal to the reduced number.
[0039] As will be discussed below, entity 100 checks the available radio resources and uses a servo system suitable for the available radio resources to control only the joints.
[0040] Below, different options for modifying the received control commands received from robot control entity 70 are discussed.
[0041] The original motion or planned trajectory can be analyzed to determine whether it can be divided into low and high control quality of control (QoC) phases. For example, a pick-up motion includes an approach phase and a pick-up part phase. Approaching the part is a low QoC motion, meaning it does not require very precise control, while the pick-up motion is a high QoC motion that requires precise control to grasp or pick up the desired part by the robotic device. A conventional robotic arm can have six degrees of freedom, with three degrees of freedom for movement in Cartesian space and three degrees of freedom for the gripper to ensure that every approach direction is possible. In the low QoC phase, the first translational degrees of freedom, such as the base, shoulder, and elbow, may be sufficient for control. However, in the pick-up phase, all degrees of freedom, including the three wrist joints, are also controlled. Therefore, in the low QoC phase, radio resource consumption is halved. Compared to the original path, the output by the system will be a worse path. For cases where an exact trajectory is not absolutely necessary, it can be considered as an option. Information about high / low QoC can come from an external party, such a user of the robotic device, who defines the following as input: considering the required exact trajectory needed to perform the desired task, in which part of the trajectory command modification is possible and in which part of the trajectory modification is not possible. If sufficient radio resources are provided, the original command is not modified, and the command is only modified when insufficient radio resources are provided. Further as indicated above, the trajectory or movement can include periods (segments of the trajectory) in which modification is not allowed and can include periods (segments) in which modification is allowed.
[0042] Below, the functional control of multiple control commands is discussed in more detail. As represented by the arrow in Figure 1 and symbolically, from the sensor 52 to the control unit 70, status messages are transmitted back to the control entity, notifying the control entity 70 about the current status of the position and / or movement of the robotic device and its components. These status messages are analyzed by the trajectory modification entity 100, where the status messages can have the form of a joint velocity vector . In addition, the joint velocity command messages sent to the robotic device, represented as , are analyzed. Below, it is assumed that a modular robot with different joints has a one-dimensional velocity vector.
[0043] Kinematics is the transformation from joint space to Cartesian space represented by a vector-vector function T:
[0044]
[0045] The position of the arm in Cartesian space can be calculated based on the joint positions read from the status messages as follows:
[0046]
[0047] The position of the planned trajectory points in the Cartesian space can then be calculated as follows:
[0048]
[0049] Δt is a predefined time period, such as 10 ms, 50 ms, or 100 ms.
[0050] Now, the planned trajectory is approximated by different approximate trajectories, where each of the approximate trajectories is based on a sub - combination of the number of degrees of freedom that the robotic device has. This sub - combination has a reduced number of degrees of freedom determined based on the available radio resources. For example, the result of the assessment of the radio resources may indicate that at most three degrees of freedom can be controlled. Then, this number is the reduced number of the upper - threshold of the degrees of freedom on which the approximate trajectory is planned. Different approximate trajectories can be determined based on the Jacobian matrix.
[0051] Therefore, the planned trajectory can be approximated by the customized Jacobian matrix of a robotic device having a finite number of degrees of freedom corresponding to finite joint settings. The Jacobian determinant of the robotic device can be computed for all combinations of the degrees of freedom among the available degrees of freedom of the robotic device. In the example of six degrees of freedom, it can be computed for all combinations of one, two, three, four, five, and six degrees of freedom.
[0052] In fact, C(6, 1)+C(6, 2)+C(6, 3)+C(6, 4)+C(6, 5)+C(6, 6)=62 shows how many different possible subsets can be made from a larger set. For this calculation, the order of the terms chosen in the subset does not matter. C(n,k) represents the binomial coefficient.
[0053] If the Jacobian determinant is stored in symbolic form, it can be considered that the removed joints are filled with 0s in the columns of the Jacobian determinant.
[0054]
[0055] Below, consider two Jacobian determinants: one having degrees of freedom of the base, shoulder, and elbow and one having degrees of freedom of the base and shoulder. Consider all those Jacobian determinants representing the degrees of freedom to be controlled using the available radio resources. Forward the velocity of the Jacobian determinant with the minimum error compared to the current rate command.
[0056]
[0057] The proposed solution should select the actuation of those joints that minimizes the following formula:
[0058]
[0059] The Jacobian determinant calculates the error in Cartesian space, thereby inherently minimizing the error with respect to the original planned trajectory. The result of this minimization is a set of commands, commands that address the modification of a finite number of DOFs.
[0060] Furthermore, it is possible for the trajectory modification entity to perform some temporal planning using a finite number of degrees of freedom. The entity 100 can plan ahead and furthermore can check whether the approximate trajectory obtained through the Jacobian determinant will lead to singularities. Additionally, it is possible to consider future estimates of the available radio resources. In particular, as is known from the following literature, the Dijkstra shortest path algorithm with respect to the velocity error can be calculated: “Cartesian path planning for arc welding robots: Evaluation of the descartes algorithm,” by J. De Maeyer, B. Moyaers, and E. Demeester (2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Limassol, 2017, pp. 1 - 8. doi:10.1109 / ETFA.2017.8247616).
[0061] Furthermore, geometric information regarding the capabilities of the components involved in the robotic device can be utilized to extend the planning, for example, a certain robotic arm structure. If it is known that certain tasks are to be performed at a certain time, the available Cartesian coordinates can be considered. It is also possible to predict the actual degrees of freedom required.
[0062] For example, picking a defective part from a conveyor belt may require one degree of freedom. Also, a pick - up or placement task may not require a correct orientation, or the gripper may be more versatile and robust in terms of pick - up capabilities. Accordingly, the reduced number of degrees of freedom that will be required during a certain time period can be predicted. (For example, based on an informed speculation) When the trajectory and tasks are to be performed by the robotic device is known. In the above example, it may mean that three degrees of freedom of the robotic arm may be sufficient. This is based on the assumption that the more DOFs are used, the smaller the error in the modification will be.
[0063] Certain constraints can be considered for different approximate trajectories. One possible constraint is to set joint constraints for the wrist at ±1°, for example, during the low QoC phase. These constraints can be released during the high QoC phase.
[0064] Figure 2Shows a possible flow chart for implementing the invention.
[0065] Figure 2 Shows a flow chart including some of the steps performed by the system shown in Figure 2 In step S91, deep packet inspection can be performed on the transmitted data packets, the status messages sent from the robotic device, and the control commands sent by device 70. Additionally, the radio load or conditions are continuously measured in step S92 and the model that models the availability of radio resources is updated in step S93, such that an updated model of the radio network can be generated in step S94. Here, the measured radio load is transformed into a number of joints that can be served. A predefined model stored in the system that indicates how many commands or DOFs / joints can be handled based on the radio load can be used. Based on the information provided by the deep packet inspection and the available radio resources, in step S95, the number of joints of the robot that can be controlled, i.e., the reduced number of DOFs, can be determined. For example, if three joints should be controlled and thus three servo systems, corresponding control commands for the three servo systems must be generated. Based on the deep packet inspection, entity 100 knows how many components or servo systems the transmitted commands are processed by. The radio requirements indicate that at most the reduced number of degrees of freedom can be handled by different commands (e.g., 3 commands). Thus, in step S95, the number of degrees of freedom that satisfy the radio requirements and allow the transmission of commands in the available radio resources is determined. As shown by equation (4) above, different approximate trajectories are determined, where the different available combinations include at most the reduced set of degrees of freedom (S96). As shown by equation (7) above, in step S97, the Jacobian that minimizes the difference between the planned trajectory and the different approximate trajectories is selected. In step S98, the control commands, i.e., the control packets that must be modified, are identified and filtered out, and in step S99, these control packets are modified as discussed above, such that modified control commands are generated, which can then be transmitted to the robotic device. The modified control commands handle a limited number of DOFs.
[0066] In the steps mentioned above, some kind of buffering may be required to at least look at all the packets or commands for the different joints of the robotic device. Some of the control commands are filtered out because only a limited number of degrees of freedom will be handled by the modified control commands and the remaining degrees of freedom are modified as discussed above.
[0067] Figure 3Summarizes some of the steps performed by the trajectory modification entity 100 in the methods discussed above. In step S110, the load of the wireless network is determined. Given the size of the control command, it is determined how many control commands in the control command can be transmitted via the wireless network in a certain time frame. Further, in step S111, a control command is received from the robot control entity 70, where all degrees of freedom required for planning the trajectory are processed without considering any possible load in the wireless network, such as a first number of DOFs. Based on the determined load, a reduced number of degrees of freedom is determined, where this number is less than the first number (S112). In the next step S113, a modified control command is determined based on the reduced number of degrees of freedom. The modified control command processes a limited number of degrees of freedom, and the limited number of degrees of freedom is not higher than (i.e., less than or equal to) the reduced number of degrees of freedom. As discussed above, the modified control command is determined by calculating an approximate trajectory and by comparing different approximate trajectories calculated based on different combinations of possible degrees of freedom with the planned trajectory. In step S114, the modified control command instead of the plurality of control commands received from the robot control entity is then transmitted to the robot device.
[0068] Figure 4 Shows a schematic architectural view of the trajectory modification entity 100, which is configured to modify control commands for a robot device taking into account the load of the wireless network over which these commands will have to be transmitted. The entity 100 includes an interface or input / output 110 provided for transmitting user data or control messages to other entities. The interface 110 is specifically configured to receive control commands generated by the robot control entity 70. The interface is then further configured to transmit the modified control command towards the robot device 50. The entity 100 further includes a processing unit 120 responsible for the operation of the entity 100. The processing 120 includes one or more processors and can execute instructions stored on the memory 130. The memory 130 can include read-only memory, random access memory, mass storage devices, hard disks, etc. The memory can include suitable program code to be executed by the processing unit 120 to implement the above functionality.
[0069] Figure 5Shows another schematic architectural view of entity 300 configured to control a robotic device using modified control commands. Entity 300 includes a first module configured to determine the load of a wireless network. A second module 320 is provided that is configured to receive a plurality of control commands for planning a trajectory for controlling the robotic device. Module 330 is configured to determine a reduced number of degrees of freedom that is less than a first number based on the determined load, and module 340 is configured to determine modified control commands based on the reduced number of degrees of freedom. The modified control commands generated by module 340 handle a limited number of degrees of freedom, and the limited number of degrees of freedom is not higher than the reduced number of degrees of freedom determined based on available radio resources. Module 350 is then configured to transmit the modified control commands to the robotic device, and the modified control commands replace the received control commands.
[0070] Some general conclusions can be drawn from the above.
[0071] The modified control commands can be determined as follows:
[0072] It is possible to determine a plurality of different approximate trajectories, where each of the approximate trajectories is based on a first number of sub-combinations of degrees of freedom corresponding to the number of degrees of freedom available for the robotic device. Each of these sub-combinations has at most a reduced number of degrees of freedom determined based on available radio resources. Based on the received control commands, the planned trajectory of the robotic device is determined considering this first number of degrees of freedom. The modified control commands are then determined based on a comparison of the planned trajectory with the plurality of approximate trajectories.
[0073] In addition, as discussed above in connection with equations (4) to (7), the difference between each of the approximate trajectories and the planned trajectory can be determined, and the approximate trajectory having the smallest difference from the planned trajectory is selected. Then, the degrees of freedom used in the approximate trajectory having the smallest difference are selected as the limited number of degrees of freedom, and then the control commands that result in the approximate trajectory having the smallest difference are selected as the modified control commands.
[0074] Different approximate trajectories can be determined by determining approximate trajectories for all possible combinations of the first number of degrees of freedom, where each combination has at most a reduced number of degrees of freedom. Since it has been determined that at most a reduced number of degrees of freedom can be controlled, approximate trajectories are determined for different degrees of freedom that satisfy this upper limit of degrees of freedom that can be transmitted over the network.
[0075] In addition, status messages can be received from the robotic device, where these status messages describe the current positions of the joints of the robotic device. The planned trajectory of the robotic device can then be determined based on the received control commands and the received status messages.
[0076] To determine an approximate trajectory, it is possible to determine the Jacobian matrix for each sub - combination of a first number of degrees of freedom. Each of these Jacobians includes at most a reduced number of degrees of freedom.
[0077] Preferably, different trajectories and the planned trajectory are determined in a common space such as the Cartesian space. However, it should be understood that any other reference space can be used.
[0078] In a modified control command, it is possible for each control command to include a control command for one joint out of a finite number of joints from multiple joints, where the finite number of joints have a finite number of degrees of freedom that can be processed by the control command.
[0079] Based on the network load, determine the number of degrees of freedom that can be transmitted over the wireless network and the number of degrees of freedom that can be transmitted over the wireless network corresponds to a reduced number of degrees of freedom.
[0080] Furthermore, it is possible to classify the planned trajectory into different quality levels, each quality level reflecting the accuracy with which the robotic device must follow the planned trajectory, where when the quality level into which the planned trajectory has been classified has a lower accuracy than a defined threshold, only the modified control commands are transmitted, rather than the received multiple control commands, or even only the modified control commands are generated.
[0081] Deep packet inspection can be used to determine the first number of degrees of freedom.
[0082] The application described above describes the functionality of saving radio resources by restricting the level of parallelism of controlled joints during the control of a modular robotic arm. The proposed solution has the following advantages: it provides a cost - effective and efficient solution during the transition from wired technology to wireless technology in an industrial environment. In addition, existing traditional protocols and industrial devices can remain unchanged. Moreover, it can provide a lower utilization of wireless resources for the same level of robotic unit performance.
Claims
1. A method for controlling a robotic device (50) using modified control commands transmitted via a wireless network, wherein: The robotic device (50) comprises a plurality of joints (53), wherein each joint represents a degree of freedom of the robotic device, the method comprising at a trajectory modification entity (100) comprising a memory (130) and at least one processing unit (120): - determining the load of the wireless network (30), - receiving from a robotic control entity (70) a plurality of control commands for controlling a planned trajectory of the robotic device (50), each of the control commands being configured to control one of a first number of degrees of freedom handled by the plurality of control commands, - determining, based on the determined load, for said modified control command a reduced number of degrees of freedom which is smaller than said first number, - determining said modified control command based on said reduced number of degrees of freedom, wherein said modified control command handles a limited number of degrees of freedom, said limited number of degrees of freedom being not higher than said reduced number of degrees of freedom, - transmitting the modified control command to the robotic device (50) instead of the received plurality of control commands, Wherein, determining the modified control command includes: - determining a plurality of different approximate trajectories for said robotic device (50), each approximate trajectory being based on a subcombination of said first number of degrees of freedom, each subcombination having at most said reduced number of degrees of freedom, - determining, based on the received control commands, the planned trajectory of the robotic device taking into account the first number of degrees of freedom, - determining the modified control command based on a comparison of the planned trajectory with the plurality of approximate trajectories, - determining the difference between each of the different approximate trajectories and the planned trajectory, - selecting the approximate trajectory having the smallest difference from the planned trajectory from among the plurality of approximate trajectories, - selecting the degree of freedom of the approximate trajectory having the smallest difference as the finite number of degrees of freedom, - selecting as said modified control command the control command which leads to said approximated trajectory having said smallest difference.
2. The method according to claim 1, wherein: Determining the plurality of different approximate trajectories includes determining the approximate trajectories for all possible combinations of the first number of degrees of freedom, each combination having at most the reduced number of degrees of freedom.
3. The method according to claim 1 or 2, wherein: A status message is received from the robotic device, the status message describing a current position of the joint of the robotic device, wherein the planned trajectory of the robotic device is determined based on the received control command and the received status message.
4. The method according to claim 1 or 2, wherein: Determining the approximate trajectory includes determining a Jacobian matrix for each subset of the first number of degrees of freedom, each Jacobian matrix including at most the reduced number of degrees of freedom.
5. The method according to claim 1 or 2, wherein: The different approximation trajectories and the planned trajectory are determined in Cartesian space.
6. The method according to claim 1 or 2, wherein: In the modified control commands, each control command comprises the control command for one joint from a finite number of joints of the plurality of joints, the finite number of joints having the finite number of degrees of freedom.
7. The method according to claim 1 or 2, wherein: Based on the load of the network, the number of degrees of freedom that can be transmitted through the wireless network (30) is determined and corresponds to the reduced number of degrees of freedom.
8. The method of claim 1 or 2, further comprising classifying the planned trajectory into different quality levels, each quality level reflecting the accuracy with which the robotic device must follow the planned trajectory, wherein: When the quality class into which the planned trajectory has been classified has an accuracy lower than a defined threshold, only the modified control command is transmitted instead of the received plurality of control commands.
9. The method according to claim 1 or 2, wherein: The first number of degrees of freedom handled by the plurality of control commands is determined based on deep packet inspection performed on the plurality of control commands.
10. A trajectory modification entity (100) configured to control a robotic device using modified control commands transmitted via a wireless network, wherein: The robotic device (50) comprises a plurality of joints (53), wherein each joint represents one degree of freedom of a first number of degrees of freedom of the robotic device, the trajectory modification entity comprises a memory (130) and at least one processing unit (120), the memory comprising instructions executable by the at least one processing unit, wherein the trajectory modification entity is operative to: - determining the load of the wireless network (30), - receiving from a robotic control entity (70) a plurality of control commands for controlling the planned trajectory of said robotic device (50), each of said control commands being configured to control one of said first number of degrees of freedom, - determining, based on the determined load, for said modified control command a reduced number of degrees of freedom which is smaller than said first number, - determining said modified control command based on said reduced number of degrees of freedom, wherein said modified control command handles a limited number of degrees of freedom, said limited number of degrees of freedom being not higher than said reduced number of degrees of freedom, - transmitting the modified control command to the robotic device (50) instead of the received plurality of control commands, Wherein, determining the modified control command includes: - determining a plurality of different approximate trajectories for said robotic device (50), each approximate trajectory being based on a subcombination of said first number of degrees of freedom, each subcombination having at most said reduced number of degrees of freedom, - determining, based on the received control commands, the planned trajectory of the robotic device taking into account the first number of degrees of freedom, - determining the modified control command based on a comparison of the planned trajectory with the plurality of approximate trajectories, - determining the difference between each of the different approximate trajectories and the planned trajectory, - selecting the approximate trajectory having the smallest difference from the planned trajectory from among the plurality of approximate trajectories, - selecting the degree of freedom of the approximate trajectory having the smallest difference as the finite number of degrees of freedom, - selecting as said modified control command the control command which leads to said approximated trajectory having said smallest difference.
11. The trajectory modification entity according to claim 10, wherein: Determining the plurality of different approximate trajectories includes determining the approximate trajectories for all possible combinations of the first number of degrees of freedom, each combination having at most the reduced number of degrees of freedom.
12. The trajectory modification entity according to claim 10 or 11 is further operated to receive a status message from the robotic device, the status message describing the current position of the joint of the robotic device, and further operated to determine the planned trajectory of the robotic device based on the received control command and the received status message.
13. The trajectory modification entity according to claim 10 or 11, wherein: Determining the approximate trajectory includes determining a Jacobian matrix for each subset of the first number of degrees of freedom, each Jacobian matrix including at most the reduced number of degrees of freedom.
14. The trajectory modification entity of claim 10 or 11, further operative to determine the different approximated trajectories and the planned trajectory in Cartesian space.
15. The trajectory modification entity according to claim 10 or 11, further operative to determine the number of degrees of freedom that can be transmitted over the wireless network (30) based on the load of the network such that it corresponds to the reduced number of degrees of freedom.
16. The trajectory modification entity according to claim 10 or 11, further operated to classify the planned trajectory into different quality levels, each quality level reflecting the accuracy that the robotic device must follow the planned trajectory, and further operated to: when the quality level into which the planned trajectory has been classified has an accuracy lower than a defined threshold, only transmit the modified control command instead of the received multiple control commands.
17. The trajectory modification entity of claim 10 or 11, further operative to determine the first number of degrees of freedom handled by the plurality of control commands based on deep packet inspection performed on the plurality of control commands.
18. A computer program product, comprising a computer program, the computer program comprising program code to be executed by at least one processing unit of a trajectory modification entity, wherein: Execution of the program code causes the at least one processing unit to perform the method according to any one of claims 1 to 9.
19. A computer-readable storage medium having stored thereon a computer program which, when executed by at least one processing unit of a trajectory modification entity, causes the at least one processing unit to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
A method and apparatus for controlling a haptic device
CN101449229A
Learning apparatus and methods for control of robotic devices via spoofing
US20150283702A1