The stability of the motion manipulator can be controlled by selecting one or more stability adjustment methods.

By calculating the ZMP trajectory and adjusting the manipulator configuration, the stability problem of the mobile manipulator in confined spaces was solved, ensuring that it does not overturn in complex environments and improving operational efficiency and safety.

CN122138891APending Publication Date: 2026-06-02ABB (SCHWEIZ) AG

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ABB (SCHWEIZ) AG
Filing Date
2023-11-08
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

When mobile manipulators operate in confined spaces, they face stability problems due to high dynamic forces, and existing technologies are unable to effectively prevent their instability and overturning.

Method used

By determining the current configuration and desired trajectory of the mobile manipulator, the zero-movement point (ZMP) trajectory is calculated, and an appropriate stabilization method is selected to adjust the manipulator configuration to ensure that the ZMP trajectory corresponds. This includes adjusting the position, velocity, acceleration, and variable mass elements of the manipulator arm and base, and dynamically controlling the movement of the manipulator arm and base.

Benefits of technology

It achieves stability of the manipulator in complex environments, avoids tipping, adapts to different tasks and environmental constraints, and improves the efficiency and safety of the manipulator in confined spaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122138891A_ABST
    Figure CN122138891A_ABST
Patent Text Reader

Abstract

A method for controlling a mobile manipulator (1), the mobile manipulator (1) including a manipulator base (3) and at least one manipulator arm (5), the method comprising the steps of: determining a current configuration of the mobile manipulator (1), the current configuration including a manipulator arm configuration and a manipulator base configuration; determining a desired movement trajectory of the mobile manipulator (1); based on the current configuration of the mobile manipulator (1) and the desired movement trajectory, determining a current zero-movement point (ZMP) trajectory including the positioning of one or more current ZMPs of the mobile manipulator; determining a desired ZMP trajectory of the mobile manipulator (1), wherein each ZMP is located at the manipulator base. Within the supporting polygon of the base (3); the motion manipulator (1) is adjusted so that the current ZMP trajectory corresponds to the desired ZMP trajectory, wherein the step of adjusting the motion manipulator (1) includes the following steps: selecting a stabilization method from a set of stabilization methods and adjusting the motion manipulator (1) based on the selected stabilization method; determining whether the actual ZMP trajectory of the motion manipulator (1) corresponds to the desired ZMP trajectory; and when the actual ZMP trajectory of the motion manipulator (1) corresponds to the desired ZMP trajectory, the method further includes the following step: executing the motion trajectory of the motion manipulator (1).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for controlling a mobile manipulator, a mobile manipulator, a computer program product, and a computer-readable medium. Background Technology

[0002] In recent years, the automation industry has increasingly focused on automation applications in industries with confined spaces. These applications typically consist of a combination of transport tasks in laboratory environments and pick-and-place tasks in different workplaces. One type of robot proposed to meet these needs is the mobile manipulator. It combines a mobile base with an attached manipulator. Due to the limited space in laboratory environments, the size requirements for these robots are becoming increasingly stringent. The robot's footprint is a particular optimization focus. Common manipulators often consist of a bulky, large base, which can be a disadvantage when the robot needs to operate in confined spaces. In addition to the robot's size, the total time required for the robot to perform a task must also be continuously reduced. This requirement necessitates higher acceleration for the mobile base when navigating and performing pick-and-place tasks. The resulting challenge is ensuring the robot remains stable and, for example, does not tip over. Stability issues can arise with higher dynamic forces, further increasing the challenge of ensuring robot stability.

[0003] Therefore, sophisticated methods are needed to prevent instability of the motion controller. Summary of the Invention

[0004] This invention achieves its objectives according to the independent claims. Preferred embodiments of the invention are provided in the dependent claims, the specification, and the accompanying drawings.

[0005] The present invention relates to a method for controlling a mobile manipulator, the mobile manipulator comprising a manipulator base and at least one manipulator arm.

[0006] The method includes determining the current configuration of the mobile manipulator, which includes manipulator arm configuration and manipulator base configuration.

[0007] The method includes the step of determining the desired movement trajectory of the motion manipulator.

[0008] The method includes the step of determining the current zero-movement point (ZMP) trajectory based on the current configuration of the mobile manipulator and the desired movement trajectory, the ZMP trajectory including the location of one or more current ZMPs of the mobile manipulator.

[0009] The method includes the step of determining the desired ZMP trajectory of the mobile manipulator, wherein each ZMP is located within a support polygon of the manipulator base.

[0010] The method includes the step of adjusting the motion manipulator so that the current ZMP trajectory corresponds to the desired ZMP trajectory.

[0011] In the method according to the invention, the step of adjusting the movement manipulator includes the following steps: selecting a stabilization method from a set of stabilization methods, and adjusting the movement manipulator based on the selected stabilization method.

[0012] In addition, the steps for adjusting the motion manipulator include determining whether the actual ZMP trajectory of the motion manipulator corresponds to the expected ZMP trajectory.

[0013] Furthermore, when the actual ZMP trajectory of the motion manipulator corresponds to the desired ZMP trajectory, the method also includes the step of executing the motion trajectory of the motion manipulator.

[0014] Therefore, a flexible method is provided for stabilizing a moving manipulator using one of a set of stabilization methods, which can ensure that the moving manipulator remains stable and does not overturn.

[0015] Control of external standardized equipment can be performed by a corresponding control device of the mobile manipulator. The control device may be located on the mobile manipulator, or at least partially located outside and remote from it. The control device may include suitable computing and control mechanisms for controlling any element of the mobile manipulator, such as the orientation or extension of the manipulator arm, and / or the propulsion speed, acceleration, or steering (e.g., wheels) of the mobile manipulator. The control device may include appropriate sensors or detectors to determine the position, movement, or acceleration of corresponding elements of the mobile manipulator (such as those of the manipulator arm, the manipulator base, and further elements provided on the mobile manipulator). The determination of any configuration of the mobile manipulator and / or the determination or prediction of any parameters (such as the current configuration of the mobile manipulator, the desired trajectory, the determination of ZMP, the current or desired ZMP trajectory, etc.) may be performed by a corresponding computing device, which may or may not be part of the mobile manipulator control system. The mobile manipulator may include one or more tools located at the distal end of the manipulator arm to perform corresponding manipulatory actions, such as picking up and lifting items and transporting said items and placing them in different locations.

[0016] A mobile manipulator can be any type of mobile robot. In this context, a "mobile" or "possibly mobile" manipulator can be understood as one that allows the manipulator to be positioned or located in different places on the ground. The position of the mobile manipulator can be changed accordingly. For example, the mobile manipulator can move on its own, or be moved from a starting point to a destination by corresponding components via predetermined disparate travel paths.

[0017] The manipulator arm can be any type of robotic arm. It may include multiple interconnected elements and a movable base to form a kinematic chain. The links of such a manipulator arm can be connected via appropriate joints, which, for example, allow rotational motion or linear translation. However, it should be understood that a manipulator arm may also consist of only a single rigid element linked to the manipulator base. The manipulator arm can be programmable to allow for corresponding movements to perform different tasks. Furthermore, more than one manipulator arm may be provided.

[0018] The manipulator base essentially defines the core of the mobile manipulator, to which the manipulator arm is attached. The manipulator base may house the corresponding propulsion or control devices (such as a power supply, one or more motors, and / or computing devices), and this component may be enclosed in a housing to protect the internally arranged mobile manipulator components from negative influences such as dust and moisture. The manipulator base may define a support polygon. The support polygon can be a surface area on the ground that supports or carries the mobile manipulator. The support polygon may include three, four, or more sides, or may have a circular, elliptical, or any other two-dimensional shape.

[0019] The current configuration of the motion manipulator may include information about the extent of extension and / or weight of the corresponding parts of the motion manipulator. For example, the current configuration may include information about the center of gravity of each component and / or the entire motion manipulator. The center of gravity of the motion manipulator may include the mass and dimensions of the entire motion manipulator, or it may include only the mass and dimensions of the individual parts. For example, it may be the largest part, or the part that has the greatest impact on the position of the center of gravity of the motion manipulator.

[0020] The manipulator arm configuration may include the extent of extension or orientation of the manipulator arm relative to the manipulator base, such as the rotation angle or extension of the manipulator arm, and information about the weight or object carried by the manipulator arm. The manipulator base configuration may include information about the weight or dimensions of the manipulator base, such as the dimensions of the lower surface of the manipulator base that may form a supporting polygon. Any suitable parameters related to the center of gravity of the moving manipulator may be included.

[0021] The positioning of the manipulator arm attached to the manipulator base can be fixed or variable. The manipulator arm can be provided on any desired side of the base, such as the top, front, or rear side, or on one of the lateral sides of the manipulator. The manipulator arm configuration can include different positions and / or orientations of the manipulator arm in space, such as arm posture. The manipulator arm configuration can include the rotational position of the manipulator arm or the extent of extension of the manipulator arm, for example, beyond the extent of extension of the manipulator base. Accordingly, the manipulator base configuration can include the spatial extent of extension and weight or weight distribution of the manipulator base.

[0022] The desired movement trajectory can be the path or trajectory of a mobile manipulator moving on the ground. Therefore, the desired movement trajectory can be provided on a generally horizontal two-dimensional plane. The mobile manipulator can move along the desired movement trajectory on the ground from a starting position to an intermediate or ending position. The desired movement trajectory can be based on one or more tasks that the mobile manipulator should perform, such as picking up an item at a first position and placing the item at a second position. Alternatively, the desired movement trajectory can be based on the movement of a manipulator arm performing a specific task, which is picking up an item at a first position and placing the item at the same position. The movement trajectory can include one or more linear or curved movements, or any other arbitrary geometric movement, such as movement on the ground between a starting position and an ending position. The desired movement trajectory can include intermediate positions where the mobile manipulator can change its direction of movement. For example, the mobile manipulator can pick up an item at the starting position, move along the desired movement trajectory to the ending position, and place the item at the ending position. Accordingly, the mobile manipulator can continue to a third point (where it may or may not pick up the same or different item), and / or can return to its starting position.

[0023] ZMP can be understood as the point where the reaction force between the manipulator and the ground produces no torque in the horizontal direction (i.e., in the direction of the plane in which the manipulator is moving). This can be in a direction approximately perpendicular to the direction of gravity. In general notation, the plane in which the manipulator is moving can extend in the xy direction, and the direction of gravity is in the z direction. ZMP can be considered as a horizontal torque. M x and M y The point where the sum of the points is zero. In other words, the ZMP can be defined as a reference point in the contact plane between the robot and the ground, where the horizontal component of the contact torque disappears. The ZMP of a mobile manipulator can depend on the manipulator arm configuration, the manipulator base configuration (e.g., the extent of extension of the support polygon), and the desired movement trajectory. One or more ZMPs can be determined or predicted for a mobile manipulator. In this disclosure, "determine" can also be understood as "predict". Any ZMP can depend on the configuration of the mobile base and the manipulator arm, for example, the weight and spatial extent of the components and their corresponding arrangement relative to each other.

[0024] Based on the current configuration of the mobile manipulator, the current ZMP trajectory can be determined or predicted. The current ZMP trajectory may correspond to one or more predicted ZMP positions of the mobile manipulator as it moves along the desired trajectory. When the predicted current ZMP of the mobile manipulator lies within the supporting polygon, it can be considered stable. If one or more predicted current ZMPs of the mobile manipulator are arranged within the supporting polygon, the mobile manipulator can be stable, preventing overturning during movement along the desired trajectory. Therefore, in the method of the present invention, the mobile manipulator is preferably configured such that its ZMP lies within the supporting polygon, thereby allowing for stable movement or stationary states.

[0025] Accordingly, given the desired movement trajectory of the mobile manipulator and considering its configuration (e.g., based on arm configuration), the desired ZMP trajectory can be determined or predicted. This allows the mobile manipulator to move stably along the desired trajectory or to steadily extend the manipulator arm and pick up and place heavy objects. Stable movement of the mobile manipulator can be achieved if the mobile manipulator moves along the desired trajectory and its ZMP corresponds to or is sufficiently close to the desired ZMP trajectory.

[0026] Therefore, the motion manipulator can be adjusted accordingly so that the current ZMP trajectory corresponds to or is close to the desired ZMP trajectory to achieve stable movement of the motion manipulator. This adjustment can be performed before or during the movement of the motion manipulator. Different adjustments to the motion manipulator can be provided for different parts of the movement trajectory to obtain a stable configuration. This adjustment can be performed similarly when the motion manipulator is stationary and only the manipulator arm is moving. For example, if the ZMP is outside or too far from the desired ZMP trajectory, the motion manipulator may become unstable during movement of the manipulator base and / or manipulator arm.

[0027] The selection of an appropriate stabilization method can be performed manually or automatically, taking into account the constraints or limitations of the method and / or the motion manipulator. For example, the motion manipulator may have different configurations, and the selected stabilization method may be best suited to such a configuration. For instance, the motion manipulator may allow omnidirectional movement, including translational and rotational movement of the manipulator base. Therefore, if one stabilization method takes into account this specific configuration of the motion manipulator, that stabilization method can be selected from this set of stabilization methods. As another example, the motion manipulator needs to move in an aisle, and the corresponding stabilization method can accordingly take this constraint into account. In other words, for example, considering the configuration of the motion manipulator, the task to be performed by the motion manipulator, and / or the environment of the motion manipulator, a stabilization method best suited to stabilizing the motion manipulator can be selected. This set of stabilization methods may each include corresponding predefined manipulator control instructions, which may be stored, for example, in the corresponding digital storage component of the motion manipulator. This set of stabilization methods may include two or more stabilization methods.

[0028] In a preferred embodiment, when the actual ZMP trajectory of the mobile manipulator does not correspond to the desired ZMP trajectory, the method further includes the following steps: selecting different stabilization methods from a set of stabilization methods and adjusting the mobile manipulator based on the selected stabilization method; determining whether the actual ZMP trajectory of the mobile manipulator corresponds to the desired ZMP trajectory; when the actual ZMP trajectory of the mobile manipulator corresponds to the desired ZMP trajectory, the method further includes the following steps: executing the movement trajectory of the mobile manipulator, wherein the method preferably includes the following steps: repeating the step of adjusting the mobile manipulator based on one or more different stabilization methods from a set of stabilization methods until the actual ZMP trajectory of the mobile manipulator corresponds to the desired ZMP trajectory.

[0029] Therefore, a specific and flexible method for stabilizing a motion manipulator can be obtained. Accordingly, different methods can be considered to stabilize the motion manipulator, and corresponding stabilization methods can be combined by sequentially selecting the appropriate stabilization methods. This method is particularly useful, for example, if a stabilization method has reached its limit, making further stabilization impossible. Then, another stabilization method can be selected and executed to further stabilize the motion manipulator.

[0030] In a preferred embodiment, the stabilization methods are ordered hierarchically, and the selection of stabilization methods is performed according to the hierarchical order.

[0031] This hierarchical order can be based on one or more priority criteria, where the stabilization method with the highest preference can be selected accordingly. For example, the preference criteria can depend on the configuration of the mobile manipulator, the task the mobile manipulator is to perform, and / or the environment of the mobile manipulator. For instance, if the mobile manipulator has limited energy supply, an energy-efficient stabilization method can be selected instead of an energy-intensive one. Alternatively, in another example, the stabilization method with the highest hierarchical order can be considered because it provides optimal stability for a mobile manipulator with a specific weight or size. Therefore, the mobile manipulator can include components used to determine the appropriate hierarchical order. This hierarchical order can be fixed or dynamically changing.

[0032] In another embodiment, a stable method can be selected from a set of stable methods based on a mixed integer optimization problem, whereby an option in a finite set of options can be solved using a total cost function.

[0033] In a preferred embodiment, the step of adjusting the mobile manipulator is based on a first stabilization method, which includes adjusting the center of mass of the mobile manipulator and adjusting the manipulator arm configuration.

[0034] Therefore, an improved method is provided for stabilizing a mobile manipulator during movement along discontinuous paths, ensuring that the mobile manipulator remains stable and does not tip over during movement. During movement along certain portions of the desired movement trajectory, the manipulator arm configuration may be substantially fixed or predetermined. Appropriate adjustments to the mobile manipulator (e.g., adjustments regarding the manipulator arm) can be determined and performed. For example, the orientation or position of the manipulator arm can be adjusted from a first position to a second position such that the center of mass of the mobile manipulator (and correspondingly its ZMP) can be shifted towards a more central position of the mobile manipulator, thereby providing enhanced stability. The mobile manipulator is accordingly adjusted so that it may no longer be unstable as it moves along the desired movement trajectory. In some examples, adjusting the mobile manipulator may include adjusting the manipulator arm (e.g., a specific rotation of the arm) to shift the center of mass. Alternatively, adjusting the mobile manipulator may include adjusting the extension or reach of the manipulator arm relative to the manipulator base to prevent the mobile manipulator from tipping over. Further adjustments may consider adding, removing, or changing the position of counterweights associated with the mobile manipulator.

[0035] In one example of the first stabilization method, the method may include the following steps: determining a critical point at which the motion manipulator becomes unstable along a desired trajectory, and adjusting the center of mass of the motion manipulator to counteract the determined instability so that the motion manipulator no longer becomes unstable at the critical point.

[0036] Therefore, an efficient and reliable method can be implemented to provide stable movement of a mobile manipulator, adaptable to any desired movement of the manipulator. Critical points can include points or locations along the movement trajectory where the center of mass may change due to, for example, picking up additional weight or changing the orientation of the manipulator arm; or points where the manipulator accelerates, decelerates, or changes direction. Accordingly, the adjustment of the center of mass is sufficient to achieve stability of the manipulator along at least a portion (preferably the entire) of the movement trajectory (especially at critical points). The determination or prediction of critical points can include not only a single point but also portions of the manipulator's path or movement trajectory for which the center of mass is appropriately adjusted to allow stable movement.

[0037] In one example of the first stabilization method, the manipulator base may include one or more contact elements configured to make contact with the ground, and the manipulator is movable on the ground, wherein the contact elements may preferably include one or more wheels.

[0038] Therefore, the manipulator base can be made to stand stably on the ground during movement or rest. The manipulator base may include at least three contact elements. However, a different number of contact elements may be provided. The support polygon may be defined accordingly by the area between the contact elements in contact with the ground. The ZMP (Zero-Mean Plane) can be adjusted accordingly so that it is substantially located within this contact area, thereby allowing the mobile manipulator to move or stand stably. Providing wheels allows the mobile manipulator to be easily steered along the ground in one or more desired directions. One or more wheels may be actively steered by a corresponding control and propulsion device of the mobile manipulator, or may be passively rotated. The invention is not limited to wheels, but may also include any type of steerable or non-steerable element that allows the mobile manipulator to move on the ground.

[0039] In one example of the first stabilization method, the step of determining the desired trajectory of the mobile manipulator may include determining the movement path of the mobile manipulator and / or determining the acceleration of the mobile manipulator.

[0040] Therefore, one or more movement paths or accelerations of the manipulator can be considered to adjust the manipulator. Acceleration along the entire path can be defined and known in advance, which helps in adjusting the manipulator to achieve stability. However, other parameters, such as the manipulator's speed (e.g., maximum speed), can also be considered in advance and can be treated as known beforehand. For example, each parameter can be considered fixed to a certain value, such as a minimum or maximum value.

[0041] In one example of the first stabilization method, the step of adjusting the center of mass of the moving manipulator includes adjusting the configuration of the manipulator arm to one or more manipulator arm configurations, wherein the manipulator arm may preferably be moved from one manipulator arm configuration to another manipulator arm configuration to adjust the center of mass of the moving manipulator.

[0042] Therefore, the center of mass of the mobile manipulator can be easily adjusted for stability, for example, without the need for additional counterweights. This adjustment can include iteratively moving the manipulator arm to one or more different positions. This adjustment can include moving the manipulator arm into one or more fixed arm configurations. For adjustment, the trajectory or path of the mobile manipulator and the acceleration along said path can be known. Appropriate fixed arm configurations (which may be predefined for the entire path or one or more portions of the path) can be considered for determining or calculating the ZMP of the mobile manipulator. Adjustment of the center of mass can be performed during the movement of the mobile manipulator, or it can be performed when the mobile manipulator is stationary, for example, before the mobile manipulator begins to move or between two critical points. The movement of the arm is preferably slow to avoid the influence of dynamic forces. Adjustment of the manipulator arm can be performed when the mobile manipulator is in a stable stationary position, for example, before it begins to move along the trajectory.

[0043] In a preferred embodiment, the step of adjusting the moving manipulator is a second stabilization method based on the step of adjusting the center of mass of the moving manipulator, wherein the moving manipulator includes one or more variable mass elements, and wherein the step of adjusting the center of mass of the moving manipulator includes adjusting the variable mass elements.

[0044] Therefore, in addition to adjusting the arm configuration of the mobile manipulator, or as an alternative, the mobile manipulator can be adjusted, which can improve flexibility and extend the limits of stable adjustment. Variable mass elements can be positioned at different locations on the mobile manipulator to influence and adjust its center of mass. Variable mass elements can include fixed counterweights or can include variable counterweights (which can be adapted). Variable mass elements can be a single mass element or can include multiple mass elements (which can be adapted individually). Furthermore, multiple different counterweights can be provided depending on the adjustment needs of the mobile manipulator. Mass elements can be provided at any suitable location on the mobile manipulator, for example, on the outside of the housing, such as on the top side of the housing or inside it. Mass elements can be manually adjusted by the user or can be automatically adjusted to one or more positions. For example, mass elements can be appropriately adapted according to the weight or size of the mobile manipulator in a way that achieves appropriate stability of the mobile manipulator while avoiding unnecessary counterweight.

[0045] In one example of the second stabilization method, the variable mass element may include one or more external mass elements detachably arranged at the moving manipulator, and the step of adjusting the center of mass of the moving manipulator may include adding to or removing the external variable mass element from the moving manipulator. Alternatively or additionally, the variable mass element may include one or more internal mass elements non-detachably arranged at different locations on the moving manipulator, and the step of adjusting the center of mass of the moving manipulator may include changing the position of the internal variable mass elements. Therefore, specific, precise, and efficient adjustment of the center of mass can be achieved.

[0046] An external mass element can be understood as a mass element that is not directly connected to the moving manipulator but can be added or removed as needed. For example, a tool or gripper positioned at the distal end of the manipulator arm (e.g., the tool center point) can grip a heavy object to adjust the center of gravity of the moving manipulator. If the manipulator picks up a certain weight during its task, the additional counterweight can be taken into account accordingly for adjusting the center of gravity. The external mass element can include any type of additional counterweight or mass block that can be easily added to or removed from the moving manipulator manually or automatically.

[0047] In contrast, an internal mass element can be understood as a mass element that can be more or less directly connected to the moving manipulator. This can include mass elements that are fixedly or detachably arranged or mounted inside or outside the housing of the moving manipulator. For example, an internal mass element can be arranged at a corresponding guide rail on the moving manipulator to allow for simple and well-defined positioning of the counterweight.

[0048] The movement of internal and external mass elements can be sensed and controlled accordingly by a motion manipulator sensing and control device. Positioning of the internal and external mass elements can be performed along any desired direction. Movement of variable mass elements can be achieved by moving the mass elements relative to the motion manipulator along one or more predefined movement trajectories. Furthermore, combinations of external and internal mass elements can be provided, and adjustments to the center of mass of the motion manipulator can be performed accordingly based on individual or combined adjustments of the external and internal mass elements.

[0049] In a preferred embodiment, the step of adjusting the moving manipulator is based on a third stabilization method, which includes dynamic manipulator arm movement controlled based on the following first control function:

[0050] ,

[0051] And / or controlled based on the following second control function:

[0052] ,

[0053] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , , "It refers to the combined state of the manipulator arm's acceleration, velocity, and position;" e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0054] Therefore, this paper proposes a flexible method for stabilizing a mobile manipulator using dynamic arm movement during movement along disjoint paths, ensuring the manipulator remains stable and does not tip over during movement. Thus, a control strategy based on the ZMP criterion can be formulated. The desired ZMP trajectory can be based on the current motion of the mobile base and / or the mobile arm. The desired ZMP trajectory may need to satisfy the ZMP criterion and may need to be located within the supporting polygon. Its exact location within the polygon may be unrestricted and can be used to optimize another criterion, such as energy optimality. Using the desired ZMP trajectory as a reference trajectory, a control problem can be established. Here, the joint acceleration of the manipulator, such as that of the manipulator, can be used. Input variables such as . Therefore, a control function can be used to minimize the deviation between the actual or current ZMP trajectory and the desired ZMP trajectory. This approach allows for dynamic arm movements to achieve a correspondence between the current ZMP trajectory and the desired ZMP trajectory.

[0055] Appropriate adjustments to the motion manipulator can be determined and performed, such as adjustments to the manipulator arm. For example, the orientation or position of the manipulator arm can be adjusted from a first position to a second position, causing the center of mass of the motion manipulator (and correspondingly the ZMP of the motion manipulator) to shift to a more central position, thereby improving stability. Accordingly, the motion manipulator is adjusted so that it is no longer unstable when moving along the desired trajectory.

[0056] The control device and control unit may include a corresponding computing device adapted to control the dynamic movement of the manipulator arm based on corresponding input parameters. Adjustments to the manipulator arm can be dynamically performed during the movement of the manipulator. The manipulator arm configuration may include the dynamic movement of the manipulator arm.

[0057] In one example of the third stabilization method, the method may also include the following steps: using " , "As the input variable of the first control function, where " , "This refers to the initial state of the position, velocity, and acceleration of the moving manipulator."

[0058] This initial state can be determined by a suitable detection or sensing device, for example, which can be associated with the control device of the manipulator. The detection device may be the same as or different from the detection device used to determine the acceleration, velocity, and position of the manipulator arm.

[0059] In one example of the third stabilization method, the method may further include the following steps: adjusting one or more of the position, velocity, and / or acceleration of the manipulator arm using a first control function to adjust the moving manipulator such that the actual ZMP trajectory of the moving manipulator corresponds to the desired ZMP trajectory.

[0060] Therefore, any one or a combination of the position, speed, and / or acceleration of the manipulator arm can be adjusted, thereby enabling flexible stability adjustments to the moving manipulator.

[0061] In one example of the third stabilization method, the method may further include the following steps: obtaining the joint acceleration of the manipulator arm from the first control function. "As output, and based on that output, execute the movement trajectory of the movement manipulator."

[0062] However, different outputs can also be obtained, such as the speed status of the manipulator arm. "or the position status of the manipulator arm" Furthermore, the execution of the manipulator's movement trajectory can be based on this different output.

[0063] In one example of the third stabilization method, after executing the movement trajectory of the motion manipulator based on this output, the method may further include the following steps: "combining the position and velocity states..." , "As input for the first control function."

[0064] In addition, different inputs can be used as inputs to the first control function, such as the acceleration state of the manipulator arm. In other words, in the combined state of the manipulator arm's acceleration, velocity, and position (i.e., " , , One of the choices ("") can be used as the output of the first control function, while the remaining (i.e., "") can be used as the output of the first control function. , , This can then be used as the input to the first control function. Therefore, for example, dynamic adjustments to the executed trajectory can be achieved during the movement of the manipulator.

[0065] A second control function (also known as a planning function) can be used to further improve the control of the mobile manipulator. Based on the motion of the mobile base, a reference trajectory of ZMP along the entire path can be defined. Using joint acceleration as input variables, an optimization problem can be formulated and solved in advance. Therefore, the movement of the mobile manipulator can be pre-set or planned before it moves along this trajectory.

[0066] In one example of the third stabilization method, the method may further include the following steps: obtaining the desired state of the manipulator arm from the second control function. , , ) des (t) "As output."

[0067] In one example of the third stabilization method, the output of the second control function can be used as input to adjust the motion manipulator so that the actual ZMP trajectory of the motion manipulator corresponds to the desired ZMP trajectory; or, the output of the second control function can be used as input to the first control function.

[0068] In other words, the result or output of the second control function can be used as an independent input, or it can be used as a feedforward term of the first control function to improve the motion manipulator control strategy disclosed herein.

[0069] In a preferred embodiment, when the step of adjusting the motion manipulator is based on a third stabilization method, the motion manipulator includes one or more variable mass elements, wherein the step of adjusting the center of mass of the motion manipulator includes adjusting the variable mass elements, and the method further includes using a discrete mass parameter "m". extra "Steps that serve as input variables for the first control function and / or the second control function."

[0070] Therefore, additional mass can be considered in the planning and / or control of the manipulator, which may increase its influence on the manipulator's motion. Thus, in addition to dynamically adjusting the arm configuration via additional mass, or as an alternative, the movement manipulator can be adjusted, which can improve its flexibility and extend the limits of stable adjustment.

[0071] In a preferred embodiment, the step of adjusting the movement manipulator is based on a fourth stabilization method, which includes dynamic movement controlled based on the following first control function:

[0072] ,

[0073] And / or controlled based on the following second control function:

[0074] ,

[0075] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , "It is the combined state of the position, velocity, and acceleration of the movement manipulator, and " e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory; and..."

[0076] The movement manipulator includes a tool center point TCP, which is controlled to execute a TCP trajectory according to the following functions:

[0077] ,

[0078] Where χ TCP (t) is the TCP trace, and

[0079] The TCP trajectory is used to determine the expected ZMP trajectory. ZMP des (t) ".

[0080] Therefore, by considering the movement of the TCP, an additional option can be provided to properly control and stabilize the movement of the manipulator. Since the manipulator can pick up or place objects, a path for the TCP can be given. Therefore, corresponding first and / or second control functions can be employed, and another constraint (i.e., the path of the TCP) can be used to replace or supplement, for example, the trajectory of the moving base.

[0081] In a preferred embodiment, the step of adjusting the moving manipulator is based on a fifth stabilization method, which includes dynamic manipulator arm movement controlled based on the following first control function:

[0082] ,

[0083] And / or controlled based on the following second control function:

[0084] ,

[0085] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , , "It refers to the combined state of the manipulator arm's acceleration, velocity, and position;" , "This refers to the rotational position, rotational speed, and rotational acceleration of the control base, and..." e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0086] The fifth stabilization method is essentially the same as the third stabilization method, except that it considers the combined state of the manipulator arm's acceleration, velocity, and position. , , In addition, the rotational position, rotational speed, and rotational acceleration of the control base were also considered. , "Used to control the movement of the manipulator. Therefore, the above-mentioned states regarding the acceleration, velocity, and position of the manipulator arm" , , Any aspect of "" also applies to " , ".

[0087] For example, similar to the third stable method mentioned above. "The example explained, in one instance of the fifth stabilization method, may include the following steps: obtaining the combined rotational acceleration of the manipulator base from a first control function." "As output, and based on that output, execute the movement trajectory of the motion manipulator. Or, similar to the above for the third stabilization method..." , The example explained, in one instance of the fifth stabilization method, after executing the movement trajectory of the manipulator based on this output, may further include the step of: combining the joint state of the rotational position and velocity of the manipulator base. "As input to the first control function. This correspondence also applies to any of the examples and details explained regarding the third stability method."

[0088] Therefore, in addition to adjusting the arm configuration of the mobile manipulator and / or rotating the manipulator base, the mobile manipulator can also be adjusted, which can improve its flexibility and extend the limits of stable adjustment.

[0089] Accordingly, the control device and control unit may also include a corresponding computing unit adapted to control the rotation of the manipulator base based on corresponding input parameters. Adjustment of the manipulator arm and rotation of the manipulator base can be dynamically performed during the movement of the manipulator. Since the manipulator is omnidirectionally movable, omnidirectional movement of the manipulator base can be achieved. Therefore, the manipulator can be allowed to perform lateral and rotational movements simultaneously.

[0090] In a preferred embodiment, the step of adjusting the moving manipulator is based on a sixth stabilization method, which includes dynamic manipulator arm movement controlled based on the following first control function:

[0091] ,

[0092] And / or controlled based on the following second control function:

[0093] ,

[0094] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , "It is the combined state of the position, velocity, and acceleration of the movement manipulator; and " e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0095] When the movement of the motion manipulator is defined by a "corridor", the first control function and / or the second control function include additional constraints:

[0096] ,

[0097] in" , "" refers to the degrees of freedom of the position, velocity, and acceleration of the manipulator base, while "corridor" is a constraint value defined by the dimensions of the passageway in which the manipulator is moving.

[0098] Therefore, if the corresponding passageway for the movement of the mobile manipulator is taken into account, the movement of the mobile manipulator is appropriately controllable. A passageway can be understood as an area on the ground defined by a specific boundary, which the mobile manipulator should not cross. Thus, the desired movement trajectory must lie within the passageway, and the mobile base can be controlled accordingly to follow the desired movement trajectory within the passageway. In other words, the movement of the mobile manipulator may be restricted, for example, allowing the manipulator base to move only at specific positions, speeds, and / or accelerations. The passageway can define the movement of the manipulator on one or more sides, for example, on two opposite sides with a longitudinal path in the middle. These restrictions can be implemented through corresponding physical obstructions (such as walls). However, the passageway can also be defined virtually, such that no physical obstructions are provided, but the mobile manipulator must not cross the corresponding boundary line or boundary of the passageway. This approach is particularly useful, for example, if the mobile manipulator operates in logistics or industrial fields, where it is only permitted to move along specific paths or streets. The passageway can have any desired shape (e.g., in the form of a longitudinal path), which can be a straight line, a curve, or any other arbitrary shape.

[0099] In a preferred embodiment, the step of adjusting the motion manipulator is based on a seventh stabilization method, wherein the motion manipulator further includes at least one external stabilization device, and wherein the step of adjusting the motion manipulator includes the step of supporting the motion manipulator by means of the external stabilization device.

[0100] Therefore, a flexible method can be provided for stabilizing a mobile manipulator using an external stabilizing device, ensuring that the manipulator remains stable without tipping over. Control of the external stabilizing device can be performed by a corresponding control device of the mobile manipulator. The control device may include a corresponding computing device adapted to control the movement of the external stabilizing device based on corresponding input parameters, such that the current ZMP trajectory corresponds to the desired ZMP trajectory. For example, the manipulator arm can be extended as far as possible to have the maximum working range. Depending on the weight of the manipulator arm and / or the weight and movement of the object positioned at the tool center point (TCP) at the distal end of the manipulator arm, the mobile manipulator may become unstable and tip over accordingly. In this case, the current ZMP trajectory of the mobile manipulator lies outside the support polygon. The control method of the present invention is particularly useful for stabilizing mobile manipulators performing fixed pick-and-place tasks.

[0101] An external stabilizing device can be a component that increases the size of a supporting polygon by contacting the environment of a moving manipulator. An external stabilizing device can include multiple interconnected components and a moving base to form a kinematic chain. The external stabilizing device can take the form of a telescopic arm attached to the moving manipulator. The various links of the external stabilizing device can be connected by corresponding joints, for example, allowing rotational motion or linear translation. However, it should be understood that an external stabilizing device can also include only a single rigid component linked to the manipulator base. The external stabilizing device can be programmable to allow for corresponding movements. Furthermore, more than one external stabilizing device can be provided.

[0102] The manipulator base can essentially define the core portion of the mobile manipulator, to which external stabilizing devices can also be attached. Furthermore, the positioning of the manipulator arm and / or external stabilizing device attached to the manipulator base can be fixed or variable. The manipulator arm and / or external stabilizing device can be provided on any desired side of the manipulator base, for example, on the top, front, rear, or lateral side of the mobile manipulator.

[0103] When the motion manipulator is stabilized by an external stabilizing device, the support polygon can also be defined by one or more contact points of the external stabilizing device, wherein the ZMP is adjusted to be located within the support polygon of the motion manipulator.

[0104] Accordingly, the support polygon can be defined by the area spanned between contact elements in contact with the ground, and when the mobile manipulator is stabilized by an external stabilizing device, the support polygon can also be defined by the contact points of the external stabilizing device. A contact point can be the point where the external stabilizing device contacts one or more supporting surfaces (e.g., a table, wall, or any other supporting element) in the environment of the mobile manipulator. This contact stabilizes the mobile manipulator. Accordingly, to achieve stability of the mobile manipulator, the support polygon can be enlarged compared to the case without an external stabilizing device. The ZMP can be adjusted accordingly to lie within the support polygon to allow the mobile manipulator to maintain a stable moving or stationary state during operation.

[0105] In one example of the seventh stabilization method, the external stabilization device may include at least one telescopic support arm, which may be activated or deactivated based on the following steps: determining the ZMP of the moving manipulator during manipulator arm movement; deactivating the telescopic support arm when the ZMP of the moving manipulator is determined to be within the support polygon; and activating the telescopic support arm when the ZMP of the moving manipulator is determined to be outside the support polygon.

[0106] Therefore, a flexible support method for a mobile manipulator can be provided, which allows for on-demand stabilization of the mobile manipulator. Activation or deactivation can include the extension or retraction of a telescopic support arm. The telescopic support arm can include multiple interconnected telescopic support arm elements that can move relative to each other like a telescopic arm. Thus, the movement of the telescopic support arm elements can be substantially along the extension axis. The telescopic arm can be hinged to the manipulator base at its proximal end and can contact an environmental support surface at its distal end. The extension and movement of the telescopic support arm can be determined accordingly by corresponding sensors and control devices of the mobile manipulator, including corresponding motors for activating and / or deactivating the telescopic support arm.

[0107] In one example of the seventh stabilization method, the external stabilization device may include at least one support wheel, which can be activated or deactivated, wherein the support wheel can, when activated, contact the ground and increase the support polygon of the moving manipulator.

[0108] Therefore, an additional or alternative stabilization option can be provided. The support wheels can function similarly to the propulsion of the drive wheels, moving the mobile manipulator across the ground. However, the configuration of the support wheels can also be entirely different. The support wheels can be actively steered or passively rotated. The support wheels can be linked to the base of the mobile manipulator via support wheel axles. The support wheel axles can be formed sufficiently stably to allow for stable support of the mobile manipulator and can consist of a single rigid element or multiple interconnected elements, for example, elements that can operate like a telescopic boom. Furthermore, more than one support wheel can be provided.

[0109] In one example of the seventh stabilization method, control of the moving manipulator may include the following steps: controlling the moving manipulator according to one or more stabilization methods for adjusting the moving manipulator during movement; and controlling the telescopic support arm and / or controlling the support wheel.

[0110] Therefore, a combined method for stabilizing a moving manipulator can be provided. Further stabilization control methods may be based on steps of adjusting the center of mass of the moving manipulator, including adjusting the manipulator arm configuration and / or adjusting the variable mass elements of the moving manipulator.

[0111] One or more of the above-mentioned stabilization control methods can be applied. For example, if the above methods are insufficient to provide stable movement of the moving manipulator, the telescopic support arm and / or support wheel can be controlled accordingly to further stabilize the moving manipulator.

[0112] In one example of the seventh stabilization method, the support wheel can be activated to extend from the manipulator base to contact the ground, and the support polygon of the moving manipulator can be increased.

[0113] Therefore, flexible adjustment of the support polygon can be provided, allowing for appropriate control of the moving manipulator to achieve stable movement. Activation may include extending the support wheel away from the manipulator base to increase the support surface or support polygon of the moving manipulator. Activation may include extending the support wheel axle so that the contact between the support wheel and the ground is appropriately separated from the manipulator base. Similarly, when it is determined that no additional support is needed, the support wheel can be retracted accordingly. Activation may include determining the distance from the support wheel to the manipulator base (this distance is required for stable movement of the manipulator) and accordingly controlling the support wheel to extend to this distance and contact the ground.

[0114] In one example of the seventh stabilization method, the motion manipulator may include a plurality of support wheels, and one of the plurality of support wheels may be selected based on the following steps: applying one or more stabilization methods; determining whether the actual ZMP trajectory of the motion manipulator corresponds to the desired ZMP trajectory considering the selected stabilization method; and when the actual ZMP trajectory of the motion manipulator does not correspond to the desired ZMP trajectory, the method may further include the following steps: determining at least one support wheel suitable for increasing the support polygon such that the actual ZMP trajectory of the motion manipulator corresponds to the desired ZMP trajectory; and activating the selected support wheel from the plurality of support wheels.

[0115] Therefore, customized support can be provided for the mobile manipulator, which can use different support wheels from a plurality of support wheels. Accordingly, unsuitable or less suitable support wheels can be deactivated. This prevents the mobile manipulator from excessively increasing its footprint. The selection of support wheels can be based on the spatial constraints of the mobile manipulator's environment. Alternatively, the selection can be based on one or more optimization criteria, such as requiring only the increase of the support polygon until the mobile manipulator achieves stable movement. Furthermore, more than one support wheel can be identified and activated.

[0116] In one example of the seventh stabilization method, the activation of the support wheel may include determining and setting the dissimilar distance between the support wheel and the manipulator base.

[0117] Therefore, this design prevents excessive spacing between the support wheels while ensuring stable movement of the locator. The desired distance can be determined and set using the locator's corresponding determination and control mechanisms. This may include determining the degree of instability of the locator based on the current and desired ZMP trajectory.

[0118] The control device may also include suitable computing and control mechanisms for controlling any element of the motion manipulator, such as activating or deactivating one or more external stabilizing devices. The control device may include appropriate sensors or detectors to determine the current position or motion state of the corresponding element.

[0119] Any examples, aspects, and details explained above for a particular stabilization method may be provided as a supplement or alternative to any other stabilization method described above.

[0120] Furthermore, it should be noted that the explanations of certain elements or advantages described above for the motion manipulator control method of this disclosure also apply to the motion manipulator described herein. Therefore, a motion manipulator that is particularly stable during movement can be provided.

[0121] The present invention also relates to a mobile manipulator, comprising a manipulator base, at least one manipulator arm, and a control device suitable for controlling the mobile manipulator according to the method of the present disclosure.

[0122] Therefore, a motion manipulator can be provided, wherein the motion manipulator can be correspondingly controlled to achieve greater stability. It should be noted that the above explanations of certain elements or advantages described with respect to the motion manipulator control method of this disclosure apply accordingly to the motion manipulator described herein. Thus, a motion manipulator that is particularly stable during movement or in a stationary state can be provided.

[0123] In a preferred embodiment, the mobile manipulator is an autonomous mobile manipulator robot, which preferably includes more than two steering wheels.

[0124] Therefore, a flexible and reliable autonomous mobile manipulator robot can be provided. This can include any type of manipulator robot, such as a mobile manipulator that can move on the ground. The robot's movement along the ground and the movement of the arms can be controlled fully or semi-automatically. At least two steering wheels can allow for particularly good control of movement on the ground. The wheels can be jointly or independently propulsive or steerable. The mobile manipulator robot can be an industrial robot, logistics robot, medical robot, laboratory robot, or any other type of robot operating in a suitable industrial, logistics, medical, or laboratory environment, which can perform desired tasks using one or more manipulator arms arranged on a mobile manipulator base.

[0125] The present invention also relates to a computer program product comprising instructions which, when executed by a computer, cause the computer to perform and / or control any of the methods described in this disclosure.

[0126] The features of the system according to the invention can be implemented by a suitable digital or computing device, for example, the component may include one or more computers, applications, and / or networks.

[0127] This method can be implemented at least partially by a computer, and can be implemented in software or hardware, or both. Furthermore, the method can be executed by computer program instructions running on a device that provides data processing capabilities.

[0128] The data processing device can be a suitable computing device such as an electronic control module, or it can be a distributed computer system. The data processing device or computer may each include one or more of a processor, memory, data interface, etc.

[0129] The present invention also relates to a computer-readable medium including instructions that, when executed by a computer, cause the computer to perform and / or control any of the methods described in this disclosure.

[0130] Any of a computer, computer program product, and / or computer-readable medium may be at least part of a mobile manipulator, or may be arranged remotely from a mobile manipulator.

[0131] The features and advantages outlined above in the context of systems and methods also apply to the computer program products and computer-readable media described herein. Similarly, any features and advantages described with respect to the methods of the invention also apply to the mobile manipulator of the invention, and vice versa.

[0132] Computer programs can be stored / distributed on suitable media (such as optical storage media or solid-state media) and can be provided together with other hardware or as part of hardware; however, they can also be distributed in other forms, such as via the Internet or other wired or wireless communication systems.

[0133] Further features, examples, and advantages will become apparent from the following detailed description and accompanying drawings of preferred embodiments. Attached Figure Description

[0134] To better understand the invention and illustrate its practicality, accompanying drawings are provided and referenced below. It should be understood that the drawings illustrate exemplary embodiments only and therefore do not limit the scope of the claimed invention. Identical or similar elements are indicated throughout the text by the same reference numerals. No reference numerals in the claims should be construed as limiting the scope of the claims.

[0135] In the attached diagram,

[0136] Figure 1 The illustration schematically depicts different configurations of a motion manipulator according to an embodiment of the present invention;

[0137] Figure 2 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0138] Figure 3 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0139] Figure 4 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0140] Figure 5 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0141] Figure 6 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0142] Figure 7 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0143] Figure 8 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0144] Figure 9 This is a flowchart illustrating a method for controlling a mobile manipulator according to the present invention;

[0145] Figure 10 A mobile manipulator according to an embodiment of the present invention is schematically illustrated;

[0146] Figure 11 The illustration schematically depicts a mobile manipulator with different configurations according to an embodiment of the present invention. Detailed Implementation

[0147] Figure 1A mobile manipulator 1 according to the invention is depicted. The mobile manipulator 1 includes a manipulator base 3 and a manipulator arm 5 attached to the top side of the base 3. It should be understood that in different embodiments, more than one manipulator arm 5 may be provided, and the position of one or more manipulator arms 5 may vary; for example, the manipulator arm 5 may be provided on the front, rear, or lateral side of the mobile manipulator 1. The mobile manipulator 5 is formed as a movable arm consisting of a plurality of arm elements linked together to allow flexible movement and extension or retraction of the arm. However, it should be understood that in different environments, a rigid manipulator arm may also be provided; for example, a rigid manipulator arm may consist of only one rigid arm element movably attached to the manipulator base 3. The manipulator arm 5 is hinged to the mobile base 3 at its proximal end, and includes a tool center point TCP 15 at its distal end. In the depicted embodiment, TCP 15 is formed as a gripper to allow gripping of external objects or loads. The manipulator base 3 includes a wheel-shaped contact element 9 for contact with the ground 11. Therefore, the mobile manipulator 1 can be moved along the ground 11. During the movement of the mobile manipulator 1, the manipulator arm 5 remains essentially fixed. However, different fixed arm positions can be provided along the movement trajectory. For example, when the mobile manipulator 1 moves along a specific movement trajectory comprising multiple tracks, different arm positions can be presented in the first movement path segment, as shown in the left sub-figure A. Correspondingly, different arm positions can be provided in the second movement path segment, as shown in the right sub-figure B. In sub-figure A, the mobile manipulator 1 moves to the left, as depicted by arrow 50. In sub-figure B, the mobile manipulator 1 moves to the right, as depicted by arrow 50. The mobile manipulator 1 can move along a predetermined movement trajectory.

[0148] The movable manipulator 1 also includes a mass element 13 disposed on the top surface of the manipulator base 3. However, in different embodiments of the invention, no additional mass element is provided. As shown, the mass element 13 may be located at different positions relative to the manipulator base 3. For example, as shown in sub-Figure A, the mass element 13 is disposed on the right side of the manipulator base 3, near the proximal end of the manipulator arm 5, and is attached to the manipulator base 3 at the proximal end. It should be understood that in different embodiments, more than one mass element 13 may also be provided, and the positions of one or more mass elements 13 may vary. Furthermore, as shown in sub-Figure B, the mass element 13 is disposed on the left side of the manipulator base 3, at a distance from the proximal end of the manipulator arm 5, to counteract the centroid offset caused by the depicted manipulator arm configuration. As shown in sub-Figures A and B, the movable arm manipulator arm 5 may have different orientations relative to the manipulator base 3.

[0149] The orientation of the manipulator arm 5 can be set and controlled by the control device 7 of the mobile manipulator. In the depicted embodiment, the control device 7 is arranged at the mobile manipulator 1. However, it should be understood that in different embodiments, the control device 7 may also be arranged at least partially outside or away from the mobile manipulator 1. The control device 7 may include suitable sensing, computing, and control devices for controlling elements of the mobile manipulator 1, such as the orientation of the manipulator arm 5 or the propulsion speed, acceleration, and direction of the wheel. Depending on the configuration of the manipulator arm 5, the center of mass of the mobile manipulator 1 will also change. For example, due to the manipulator arm configuration, the center of mass of the mobile manipulator 1 in sub-figure B is shifted to the right more than that in sub-figure A, because the manipulator arm 5 in sub-figure B extends further and is farther away from the manipulator base 3 compared to the configuration in sub-figure A. As mentioned above, the positioning of the mass element 13 can counteract this shift. In different embodiments, the center of mass can shift by simply changing the manipulator arm configuration (e.g., the position of the manipulator arm 5).

[0150] When the center of gravity shifts too much, the mobile manipulator 1 may become unstable, causing it to tip over. This can be counteracted, for example, by controlling the orientation of the manipulator arm 5 to one or more suitable positions. Therefore, when the mobile manipulator 1 moves along a predetermined trajectory (e.g., along disparate paths in industrial, research, or medical settings), the manipulator arm 5 can be controlled to assume different configurations according to the invention to maintain stability during movement. This can include a first arm configuration on a first travel path or segment, and a different second configuration on a second travel path or segment.

[0151] Furthermore, a computer program product 200 and a computer-readable medium 300 are also shown, each comprising instructions that, when executed by a computer 100, cause the computer 100 to perform and / or control the method described according to any embodiment of the invention, particularly... Figure 2 and Figure 3 The method is illustrated in the figure. In the depicted embodiment, computer 100, computer program product 200, and computer-readable medium 300 are depicted as external elements. However, it should be understood that in different embodiments, any one of computer 100, computer program product 200, and computer-readable medium 300 may be at least partially integrated into the mobile manipulator 1.

[0152] Figure 2A flowchart illustrating a method for controlling a mobile manipulator 1 according to an embodiment of the present invention is depicted. In step S1a of the depicted embodiment, a desired movement trajectory of the mobile base 3 or the mobile manipulator 1 is determined. In step S2a of the depicted embodiment, a desired ZMP trajectory of the mobile base 3 or the mobile manipulator 1 is selected or determined based on the desired movement trajectory. As shown in step S3a, optimization criteria can be introduced to improve the overall performance of the mobile manipulator 1. Such optimization criteria can be any criteria suitable for optimizing the movement of the mobile manipulator, such as requiring the lowest possible acceleration or the highest possible speed, or requiring a reduction in the power consumption of the mobile manipulator 1. In step S4a, which will be explained in more detail below, the ZMP trajectory is used as input to define the motion definition of the mobile manipulator 1 to utilize redundant degrees of freedom. These degrees of freedom can be used accordingly to maintain the current ZMP trajectory of the mobile manipulator 1 on the desired ZMP trajectory of the mobile manipulator 1.

[0153] Figure 3 A flowchart illustrating a method for controlling a mobile manipulator 1 according to an embodiment of the present invention is shown. As depicted, steps S1a to S3a are... Figure 2 The steps S1a to S3a correspond to each other, where the outputs of steps S1a to S3a form the inputs of subsequent steps. In the section labeled "Method"... Figure 3 In China, Figure 2 Step S4a is explained in more detail. Here, the output of step S2a is used as the input to step S5a, where the current or actual ZMP trajectory of the moving manipulator 1 is determined or predicted in step S5a. Based on the determination result, in step S6a, it is determined or predicted whether the current ZMP trajectory is a stable trajectory, i.e., the trajectory corresponds to or is close to the desired ZMP trajectory of the moving base. If the answer is "yes", the trajectory is executed in step S7a. If the answer is "no", points in the desired movement trajectory of the moving manipulator 1 where the ZMP does not correspond to the desired ZMP trajectory are determined or predicted in step S8a. In step S9a, the end effector and / or manipulator arm and / or additional mass can be adjusted or moved accordingly, such that their positional changes offset the criticality of overturning or unstable movement of the moving manipulator 1 at the defined point.

[0154] Therefore, by moving the manipulator arm 5, the center of mass of the moving manipulator 1 is adjusted accordingly to avoid instability at the calculated critical point. Subsequently, in step S1a0, it is determined or predicted whether the movement limit of the manipulator arm or the added mass has been reached. If the answer is "no," the process returns to step S5a, where the current ZMP trajectory of the moving manipulator 1 is determined or predicted based on the adjusted settings. If the answer is "yes," more added mass can be added to the moving manipulator to overcome instability. Then, the process returns to step S5a, where the current ZMP trajectory of the moving manipulator 1 is determined or predicted based on the adjusted settings.

[0155] Figure 4 A flowchart illustrating a method for controlling a mobile manipulator 1 according to an embodiment of the present invention is depicted. As depicted, steps S1b to S3b correspond to Figure 2 Steps S1a to S3a, wherein the outputs of steps S1b to S3b form the input of the subsequent step (S5b). Figure 4 The section (labeled "Method", see S8b) explains in more detail... Figure 2 An embodiment of step S4a. Here, the output of step S2b is used as the input to step S6b, where the current or actual ZMP trajectory of the manipulator 1 is determined or predicted in step S6b. Dynamic manipulator arm movement can be provided accordingly, controlled by the following first control function:

[0156] ,

[0157] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , , "It refers to the combined state of the manipulator arm's acceleration, velocity, and position; while" e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0158] From the first control function described in step S6b, the combined acceleration of manipulator arm 5 is " "This can be obtained as output. Based on this output, the movement trajectory of the movement manipulator 1 is executed in step S7b. After the movement trajectory of the movement manipulator 1 is executed based on this output, the remaining position and velocity states..." , "This is used as the input to the first control function in step S6b. In different embodiments, different outputs can be obtained, such as the speed state of the manipulator arm 5." "or the position status of manipulator arm 5" Furthermore, the execution of the movement trajectory of the manipulator 1 can be based on this different output. Correspondingly, the first control function in step S6b can also use different inputs, such as the acceleration state of the manipulator arm. "As described, the initial state of the position, velocity, and acceleration of the moving manipulator 1." , "This is used as a further input variable for the first control function in step S6b."

[0159] exist Figure 5 Another embodiment for controlling the movement manipulator 1 is described herein. Here, steps S1b to S3b correspond to Figure 2 Steps S1a to S3a and Figure 4 Steps S1b to S3b in the sequence, and the outputs of steps S1b to S3b form the inputs for subsequent steps (see S5b, labeled "Input"). Figure 5 In the text, it is marked "method" (see S10b), which explains it in more detail. Figure 2 An embodiment of step S4a. Here, the output of step S2b is used as the input to step S9b, where the current or actual ZMP trajectory of the moving manipulator 1 is determined or predicted. Dynamic manipulator arm movement can be provided accordingly, controlled by the following second control function (which may also be referred to as the planning function) of step S9b:

[0160]

[0161] From the second control function in step S9b, the desired state of the manipulator arm 5 can be obtained. ( , , des (t) "As output, the initial state of the position, velocity, and acceleration of the movement manipulator 1, as depicted." , "This is used as a further input variable for the second control function S9b. Additionally, the discrete mass parameter "m" extra"It can also be used as an input variable for the second control function in step S9b. In different embodiments, the second control function in step S9b does not use the discrete mass parameter "m" extra "As an input variable. Optionally, the output of the second control function in step S9b can also be used as an input to a subsequent control method (see S13b, labeled "Control (optional)"). Here, the first control function in step S11b essentially corresponds to Figure 4 The first control function of step S6b. As depicted, the initial state of the position, velocity, and acceleration of the moving manipulator 1. , "This is used as a further input variable for the first control function in step S11b. Furthermore, the discrete quality parameter 'm'..." extra "It can also be used as an input variable for the first control function in step S11b. In different embodiments, the first control function in step S11b does not use the discrete mass parameter "m" extra "As an input variable."

[0162] and Figure 4 The control method is similar (see S8b). From the first control function described in step S11b, the combined acceleration of the manipulator arm 5 can be obtained. "As output. Based on this output, the movement trajectory of the movement manipulator 1 is executed in step S12b. After the movement trajectory of the movement manipulator 1 is executed based on this output, the remaining position and velocity states..." , "This is used as the input to the first control function in step S11b. In different embodiments, different outputs can be obtained, such as the speed state of the manipulator arm 5." "or the position status of manipulator arm 5" Furthermore, the execution of the movement trajectory of the manipulator 1 can be based on this different output. Correspondingly, the first control function in step S11b can also use different inputs, such as the acceleration state of the manipulator arm 5. ".

[0163] Figure 6 The control method described in the text basically corresponds to Figure 5 The control method described herein differs in that, for the input (see S14b), the TCP trajectory (see S15b) is used to determine or select the desired ZMP trajectory (S16b). Figure 6 In the text, it is marked "method" (see S17b), which explains it in more detail. Figure 2One embodiment of step S4b. Here, the output of step S16b is used as the input to step S18b, where the current or actual ZMP trajectory of the motion manipulator 1 is determined or predicted in step S18b. Figure 5 Unlike previous methods, this approach considers not only the movement of the manipulator arm but also the movement of the entire manipulator, including the movement of manipulator arm 5 and manipulator base 3.

[0164] Therefore, the movement controlled by the following second control function in step S18b can be provided accordingly, which can also be called the planning function:

[0165] ,

[0166] and Figure 5 Unlike the second control function in step S9b, TCP is controlled to execute the TCP trace according to the following function:

[0167] ,

[0168] in" , " is the combined state of position, velocity, and acceleration of the motion manipulator 1, and where χ TCP (t) is the TCP trajectory, and the TCP trajectory is used to determine the desired ZMP trajectory. ZMP des (t) ".

[0169] From the second control function in step S18b, the desired state of the mobile manipulator 1 can be obtained. ( , , des (t) "As output. As described, " , (The initial state of the position, velocity, and acceleration of the manipulator 1) is used as a further input variable for the second control function S18b. In different embodiments, the discrete mass parameter "m" extra "It can also be used as an input variable for the second control function in step S18b (see...") Figure 5Optionally, the output of the second control function in step S18b can also be used as input to a subsequent control method (see S19b, labeled "Control (Optional)"), where the current or actual ZMP trajectory of the manipulator 1 is determined or predicted in step S20b. Here, dynamic manipulator movement controlled by the following first control function can be provided:

[0170] ,

[0171] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , "This refers to the combined state of position, velocity, and acceleration of the movement manipulator 1, while..." e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0172] Here, the first control function in step S20b essentially corresponds to Figure 4 Step S6b and Figure 5 The first control function in step S11b differs in that TCP is controlled to execute the TCP trace according to the following function:

[0173] .

[0174] As described, , (The initial state of the position, velocity, and acceleration of the moving manipulator 1) is used as the input variable for the first control function in step S20b. In different embodiments, the discrete mass parameter "m" extra "It can also be used as an input variable for the first control function in step S20b (see...") Figure 5 ).

[0175] and Figure 4 (See S8b) and Figure 5 (See S13b) The control method is similar; from the first control function described in step S20b, the combined acceleration of the moving manipulator 1 can be obtained. "As output. Based on this output, the movement trajectory of the motion manipulator 1 is executed in step S21b. After the movement trajectory of the motion manipulator 1 is executed based on this output, the remaining position and velocity state of the motion manipulator 1..." "This is used as the input to the first control function in step S20b. In different embodiments, different outputs can be obtained, such as the speed state of the movement manipulator 1." "or location status" Furthermore, the execution of the movement trajectory of the motion manipulator 1 can be based on this different output. Correspondingly, different inputs can also be used as inputs to the first control function of step S20b, such as the acceleration state of the motion manipulator 1. ".

[0176] Figure 7 A flowchart illustrating a method for controlling a mobile manipulator 1 according to an embodiment of the present invention is depicted. As depicted, steps S1c to S3c correspond to... Figure 2 Steps S1a to S3a, wherein the outputs of steps S1c to S3c form the input of the subsequent step (S5c). Figure 7 In the text, it is marked as "method" (see S8c), which explains it in more detail. Figure 2 An embodiment of step S4a. Here, the output of step S2c is used as the input to step S6c, where the current or actual ZMP trajectory of the manipulator 1 is determined or predicted in step S6c. Dynamic manipulator arm movement can be provided accordingly, controlled by the following first control function:

[0177] ,

[0178] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , , "This refers to the combined state of acceleration, velocity, and position of manipulator arm 5." , "This refers to the rotational position, rotational speed, and rotational acceleration of the control base 3; while..." e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0179] From the first control function described in step S6c, the combined acceleration of manipulator arm 5 can be obtained. "and / or rotational acceleration" "As output. Based on this output, the movement trajectory of the moving manipulator 1 is executed in step S7c. After the movement trajectory of the moving manipulator 1 is executed based on this output, the position and velocity state of the remaining manipulator base 3 are..." , "and / or rotational position and speed" "This is used as the input to the first control function in step S6c. In different embodiments, different outputs can be obtained, such as the speed state of the manipulator arm 5." "or the position status of manipulator arm 5" Furthermore, the execution of the movement trajectory of the manipulator 1 can be based on this different output. Similarly, in different embodiments, different outputs can be obtained, such as the rotational speed of the manipulator base 3. "or the rotation position of the control base 3" Furthermore, the execution of the movement trajectory of the manipulator 1 can be based on this different output. Accordingly, the first control function in step S6c can also use different inputs, such as the acceleration state of the manipulator arm 5. "and / or the rotational acceleration of the manipulator base 3" As described, , (The initial state of the position, velocity, and acceleration of the manipulator 1) is used as a further input variable for the first control function in step S6c.

[0180] exist Figure 8 Another embodiment of the control movement manipulator 1 is described herein. Here, steps S1c to S3c correspond to Figure 2 Steps S1a to S3a and Figure 7 Steps S1c to S3c in the sequence, the outputs of which form the inputs for subsequent steps (see S5c, labeled "Input"). Figure 8 In the text, it is marked "method" (see S10c), which explains it in more detail. Figure 2 An embodiment of step S4a. Here, the output of step S2c is used as the input of step S9c, in which the current or actual ZMP trajectory of the manipulator 1 is determined or predicted. Accordingly, dynamic manipulator arm movement and / or rotational movement of the manipulator base 3 can be provided, which is controlled by the following second control function in step S9c, which can also be referred to as the planning function:

[0181] .

[0182] From the second control function in step S9c, the desired state of the manipulator arm 5 can be obtained. ( , , , , , ) des (t) "As output. As described, " , (The initial state of the position, velocity, and acceleration of the manipulator 1) is used as the input variable for the second control function S9c. Additionally, the discrete mass parameter "m" extra "It can also be used as an input variable for the second control function in step S9c. In different embodiments, the second control function in step S9c does not use the discrete mass parameter "m" extra "As an input variable. Optionally, the output of the second control function in step S9c can also be used as an input to a subsequent control method (see S13c, labeled "Control (optional)"). Here, the first control function in step S11c essentially corresponds to Figure 7 The first control function of step S6c. As described, the initial state of the position, velocity, and acceleration of the moving manipulator 1. , "It is used as the input variable for the first control function in step S11c. Furthermore, the discrete quality parameter 'm'..." extra "It can also be used as an input variable for the first control function in step S11c. In different embodiments, the first control function in step S11c does not use the discrete mass parameter "m" extra "As an input variable."

[0183] and Figure 7 The control method is similar (see S8c). From the first control function described in step S11c, the combined acceleration of the manipulator arm 5 can be obtained. "and / or the rotational acceleration of the manipulator base 3" "As output. Based on this output, the movement trajectory of the movement manipulator 1 is executed in step S12c. After the movement trajectory of the movement manipulator 1 is executed based on this output, the remaining position and velocity states..." , "and / or rotational position and velocity status" "This is used as the input to the first control function in step S11c. In different embodiments, different outputs can be obtained, such as the speed state of the manipulator arm 5." "or the position status of manipulator arm 5" Furthermore, the execution of the movement trajectory of the manipulator 1 can be based on this different output. Similarly, in different embodiments, different outputs can be obtained, such as the rotational speed of the manipulator base 3. "or rotate position" Furthermore, the execution of the movement trajectory of the manipulator 1 can be based on this different output. Correspondingly, different inputs can also be used as inputs to the first control function of step S11c, such as the acceleration state of the manipulator arm 5. "and / or the rotational acceleration of the manipulator base 3" ".

[0184] exist Figure 9 The control method described in the text basically corresponds to the control method described in the text. Figure 8 The control method described in [the text] differs in that, in Figure 9 In this context, movement is restricted by spatial constraints (such as passageways). Figure 9 In the text, it is marked "method" (see S17c), which explains it in more detail. Figure 2 One embodiment of step S4a. Here, the output of step S16c is used as the input to step S18c, where the current or actual ZMP trajectory of the motion manipulator 1 is determined or predicted in step S18c. Figure 8 Unlike previous methods, this approach considers not only the movement of the manipulator arm but also the movement of the entire manipulator, including the movement of manipulator arm 5 and manipulator base 3.

[0185] Therefore, the movement controlled by the following second control function in step S18c can be provided accordingly, which can also be called the planning function:

[0186] ,

[0187] and Figure 8 The second control function in step S9c differs from the second control function in that, when the movement of the manipulator is defined by the passageway, the second control function includes additional constraints:

[0188] ,

[0189] in" , "" refers to the degrees of freedom of position, velocity, and acceleration of the manipulator base 3, while "corridor" is a constraint value defined by the dimensions of the passageway in which the manipulator 1 is moving.

[0190] From the second control function in step S18c, the desired state of the mobile manipulator 1 can be obtained. ( , , des (t) "As output, the initial state of the position, velocity, and acceleration of the movement manipulator 1, as depicted." , "It is used as the input variable for the second control function S18c. In different embodiments, the discrete mass parameter "m" extra "It can also be used as an input variable for the second control function in step S18c (see...") Figure 8 Optionally, the output of the second control function in step S18c can also be used as input to a subsequent control method (see S19c, labeled "Control (Optional)"), where the current or actual ZMP trajectory of the manipulator 1 is determined or predicted in step S20c. Here, dynamic manipulator movement controlled by the following first control function can be provided:

[0191] ,

[0192] in" ZMP des (t) "It is the expected ZMP trajectory;" ZMP real "This is the actual ZMP trajectory;" t "It is time;" , "This refers to the combined state of position, velocity, and acceleration of the movement manipulator 1; while " e "This is the deviation between the actual ZMP trajectory and the expected ZMP trajectory."

[0193] Here, the first control function in step S20c essentially corresponds to Figure 7 In the middle step S6c and Figure 8 The first control function in step S11c differs in that, when the movement of the manipulator 1 is defined by the passageway, the first control function includes additional constraints:

[0194] .

[0195] As depicted, the initial state of the position, velocity, and acceleration of the moving manipulator 1. , "This is used as the input variable for the first control function in step S20c. In different embodiments, the discrete mass parameter "m" extra"It can also be used as an input variable for the first control function in step S20c (see...") Figure 8 ).

[0196] and Figure 7 (See S8c) and Figure 8 (See S13c) The control method is similar; from the first control function described in step S20c, the combined acceleration of the moving manipulator 1 can be obtained. "As output. Based on this output, the movement trajectory of the mobile manipulator 1 is executed in step S21c. After the movement trajectory of the mobile manipulator 1 is executed based on this output, the remaining position and velocity state of the mobile manipulator 1 is..." "Used as input to the first control function in step S20c. In different embodiments, different outputs can be obtained, such as the speed state of the movement manipulator 1." "or location status" Furthermore, the execution of the movement trajectory of the motion manipulator 1 can be based on this different output. Therefore, different inputs can also be used as inputs to the first control function of step S20c, such as the acceleration state of the motion manipulator 1. ".

[0197] Figure 10A mobile manipulator 1 according to the present invention is depicted. The mobile manipulator 1 includes a manipulator base 3 and a manipulator arm 5 attached to the top side of the base 3. It should be understood that in different embodiments, more than one manipulator arm 5 may be provided, and the position of one or more manipulator arms 5 may vary; for example, the manipulator arm 5 may be provided on the front, rear, or lateral side of the mobile manipulator 1. The mobile manipulator arm 5 is formed as a movable arm comprising a plurality of arm elements linked together to allow flexible movement and extension of the arm. However, it should be understood that in different environments, a rigid manipulator arm may also be provided, for example, a rigid manipulator arm consisting of only one rigid arm element movably attached to the manipulator base 3. The proximal end of the manipulator arm 5 is hinged to the mobile base 3, and the distal end of the manipulator arm 5 includes a TCP 15. In the depicted embodiment, the TCP 15 is formed as a gripper to allow gripping and lifting of an external mass element or load 13. The manipulator base 3 includes contact elements 9 in the form of wheels that contact the floor 11. Therefore, the mobile manipulator 1 can be moved along the floor 11 along a predetermined movement trajectory. The mobile manipulator 1 also includes an external stabilizing device in the form of a telescopic arm 17. In the depicted configuration, the telescopic arm 17 extends from the front side of the manipulator base 3 and contacts the side wall of the support platform on which the mass element 13 is disposed. Accordingly, when the mobile manipulator arm 5 picks up the mass element 13, the mobile manipulator 1 is stabilized by the telescopic arm 17 without tipping over. The orientation of the manipulator arm 5 and / or the telescopic arm 17 can be set and controlled by the control device 7 of the mobile manipulator 1. In the depicted embodiment, the control device 7 is disposed on the mobile manipulator 1. However, it should be understood that in different embodiments, the control device 7 may also be disposed at least partially outside the mobile manipulator 1 or disposed remotely from the mobile manipulator 1. The control device 7 may include suitable sensing, calculation, and control devices for controlling the elements of the mobile manipulator 1. For example, this may include controlling the orientation of the manipulator arm 5 and / or the telescopic arm 17, or controlling the propulsion speed, acceleration, and direction of movement of the wheels. The center of gravity of the movable manipulator 1 varies depending on the configuration of the manipulator arm 5 and / or the telescopic arm 17. For example, in the depicted embodiment, the center of gravity of the movable manipulator 1 is shifted to the right due to the manipulator arm configuration, as the manipulator arm 5 extends beyond and away from the manipulator base 3. As described above, the contact of the telescopic arm 17 can counteract this shift, which correspondingly increases the support surface of the movable manipulator 1.

[0198] Furthermore, a computer program product 200 and a computer-readable medium 300, each including instructions, are shown that, when executed by a computer 100, cause the computer 100 to perform and / or control a method according to any embodiment of the present invention, particularly... Figure 2The method illustrated in the figure. In the depicted embodiment, computer 100, computer program product 200, and computer-readable medium 300 are depicted as external elements. However, it should be understood that in different embodiments, any one of computer 100, computer program product 200, and computer-readable medium 300 may be at least partially integrated into the mobile manipulator 1.

[0199] Figure 11 Different embodiments of the motion manipulator 1 are depicted. In this embodiment, the same (and for) the motion manipulator 1 is provided. Figure 10 The same elements as described in the embodiments are referenced accordingly. Figure 10 The embodiment differs in that an additional support wheel 19 is provided instead of a telescopic arm 17. The support wheel 19 can be activated when the mobile manipulator 1 becomes unstable, for example, due to a shift in its center of gravity caused by the manipulator arm 5 extending accordingly to the right beyond the manipulator base 3. Therefore, the support polygon of the mobile manipulator 1 can be increased, and the mobile manipulator 1 can be stabilized accordingly. In sub-figure A), the support wheel 19 includes one degree of freedom, namely, the extent to which the wheel extends away from the manipulator base 3. Therefore, a corresponding distance between the support wheel 19 and the mobile manipulator 1 can be defined. In sub-figure B), the support wheel 19 has two degrees of freedom, namely, the extent to which the wheel extends away from the manipulator base 3 and the height of the support wheel 19 relative to the ground 11. Therefore, the support wheel 19 can be adjusted accordingly in two dimensions.

[0200] It should be understood that the method according to the present invention is not limited to the above-described order of method steps. On the contrary, the method steps may be provided in a different order, and one or more of the above-described method steps may be removed or more method steps may be added as needed.

[0202] List of reference numerals

[0203] 1. Mobile controller

[0204] 3. Control base

[0205] 5. Manipulator arm

[0206] 7. Control device

[0207] 9 Contact elements

[0208] 11 Ground

[0209] 13 Mass Components

[0210] 15. Tool center point

[0211] 17 Telescopic boom

[0212] 19 Support wheels

[0213] 50. Movement of the mobile base

[0214] 100 computers

[0215] 200 computer program products

[0216] 300 Computer-readable media

[0217] S1 to S21 Method Steps

Claims

1. A method for controlling a mobile manipulator (1), the mobile manipulator comprising a manipulator base (3) and at least one manipulator arm (5), the method comprising the steps of: Determine the current configuration of the mobile manipulator (1), the current configuration including the manipulator arm configuration and the manipulator base configuration; Determine the desired movement trajectory of the mobile manipulator (1); Based on the current configuration of the mobile manipulator (1) and the desired movement trajectory, determine the current ZMP trajectory of the mobile manipulator (1) including the positioning of one or more current zero movement points ZMP; Determine the desired ZMP trajectory of the mobile manipulator (1), wherein each ZMP is located within the support polygon of the manipulator base (3); Adjust the movement manipulator (1) so that the current ZMP trajectory corresponds to the desired ZMP trajectory; The steps for adjusting the movement manipulator (1) include the following steps: Choose a stabilizing method from a set of stabilizing methods, and adjust the motion manipulator based on the chosen stabilizing method (1); Determine whether the actual ZMP trajectory of the moving manipulator (1) corresponds to the expected ZMP trajectory; When the actual ZMP trajectory of the moving manipulator (1) corresponds to the desired ZMP trajectory, the method further includes the following steps: The movement trajectory of the movement manipulator (1) is executed.

2. The method according to the preceding claims, When the actual ZMP trajectory of the moving manipulator (1) does not correspond to the expected ZMP trajectory, the method further includes the following steps: Different stabilization methods are selected from the set of stabilization methods, and the motion manipulator is adjusted based on the selected different stabilization methods (1). Determine whether the actual ZMP trajectory of the moving manipulator (1) corresponds to the expected ZMP trajectory; as well as When the actual ZMP trajectory of the moving manipulator (1) corresponds to the desired ZMP trajectory, the method further includes the following steps: The movement trajectory of the movement manipulator (1) is executed; The method preferably includes the following steps: Repeat the steps of adjusting the motion manipulator (1) based on one or more different stabilization methods in the set of stabilization methods until the actual ZMP trajectory of the motion manipulator (1) corresponds to the desired ZMP trajectory.

3. The method according to any one of the preceding claims, The stabilization methods are ordered hierarchically, and the selection of the stabilization methods is performed according to the hierarchical order.

4. The method according to any one of the preceding claims, The step of adjusting the mobile manipulator (1) is based on a first stabilization method, which includes adjusting the center of mass of the mobile manipulator (1), and adjusting the center of mass of the mobile manipulator (1) includes adjusting the configuration of the manipulator arm.

5. The method according to any one of the preceding claims, The step of adjusting the moving manipulator (1) is based on a second stabilization method, which includes adjusting the center of mass of the moving manipulator (1), wherein the moving manipulator (1) includes one or more variable mass elements (13), and wherein the step of adjusting the center of mass of the moving manipulator (1) includes adjusting the variable mass elements (13).

6. The method according to any one of the preceding claims, The step of adjusting the moving manipulator (1) is based on a third stabilization method, which includes dynamic manipulator arm movement controlled based on the following first control function: , And / or controlled based on the following second control function: , in" ZMP des (t) "is the desired ZMP trajectory;" ZMP real "This is the actual ZMP trajectory." t "It's time;" , , "is the combined state of the acceleration, velocity, and position of the manipulator arm (5); and" e " is the deviation between the actual ZMP trajectory and the expected ZMP trajectory.

7. The method according to the preceding claims, When the step of adjusting the moving manipulator (1) is based on the third stabilization method, the moving manipulator (1) includes one or more variable mass elements (13), and the step of adjusting the center of mass of the moving manipulator (1) includes adjusting the variable mass elements (13). The method further includes using discrete mass parameters "m" extra "The step of serving as the input variable for the first control function and / or the second control function." 8. The method according to any one of the preceding claims, The step of adjusting the movement manipulator (1) is based on a fourth stabilization method, which includes adjusting the movement manipulator (1) and the adjustment of the movement manipulator (1) includes dynamic movement, which is controlled based on the following first control function: , And / or controlled based on the following second control function: , in" ZMP des (t) "is the desired ZMP trajectory;" ZMP real "This is the actual ZMP trajectory." t "It's time;" , "is the combined state of the position, velocity, and acceleration of the moving manipulator (1); and" e " is the deviation between the actual ZMP trajectory and the expected ZMP trajectory; The movement manipulator (1) includes a tool center point TCP (15), which is controlled to execute a TCP trajectory according to the following function: , Where χ TCP (t) is the TCP trace, and The TCP trajectory is used to determine the desired ZMP trajectory. ZMP des (t) ".

9. The method according to any one of the preceding claims, The step of adjusting the moving manipulator (1) is based on a fifth stabilization method, which includes dynamic manipulator arm movement controlled based on the following first control function: , And / or controlled based on the following second control function: , in" ZMP des (t) "is the desired ZMP trajectory;" ZMP real "This is the actual ZMP trajectory." t "It's time;" , , "This refers to the combined state of the acceleration, velocity, and position of the manipulator arm (5);" , "This refers to the rotational position, rotational speed, and rotational acceleration of the manipulator base (3); and" e " is the deviation between the actual ZMP trajectory and the expected ZMP trajectory.

10. The method according to any one of the preceding claims, The step of adjusting the moving manipulator (1) is based on a sixth stabilization method, which includes dynamic manipulator arm movement controlled based on the following first control function: , And / or controlled based on the following second control function: , in" ZMP des (t) "is the desired ZMP trajectory;" ZMP real "This is the actual ZMP trajectory." t "It's time;" , "is the combined state of the position, velocity, and acceleration of the moving manipulator (1), and" e " is the deviation between the actual ZMP trajectory and the expected ZMP trajectory, and Wherein, when the movement of the motion manipulator (1) is defined by the passageway, the first control function and / or the second control function include additional constraints: , in" , "corridor" refers to the degrees of freedom of the position, velocity, and acceleration of the manipulator base (3), and "corridor" is a constraint value defined by the size of the passageway through which the mobile manipulator (1) is moving.

11. The method according to any one of the preceding claims, The step of adjusting the mobile manipulator (1) is based on the seventh stabilization method, wherein the mobile manipulator (1) further includes at least one external stabilization device, and wherein the step of adjusting the mobile manipulator (1) includes the step of supporting the mobile manipulator (1) by means of the external stabilization device.

12. A mobile manipulator (1), comprising: The manipulator base (3) and at least one manipulator arm (5), and The control device (7) is adapted to control the mobile manipulator (1) according to any one of the preceding claims 1 to 11.

13. The mobile manipulator (1) according to the preceding claims. The mobile manipulator (1) is an industrial autonomous mobile manipulator, preferably including more than two steerable wheels.

14. A computer program product (200) comprising instructions which, when executed by a computer (100), cause the computer (100) to perform and / or control the method according to any one of claims 1 to 11.

15. A computer-readable medium (300) comprising instructions which, when executed by a computer (100), cause the computer (100) to perform and / or control the method according to any one of claims 1 to 11.