Method for determining a pose of a mobile robot for manipulating an object

The method autonomously determines the pose of a mobile robot for grasping by evaluating feasible poses using manipulability, reachability, and robustness metrics, addressing inefficiencies and collisions in existing human-dependent methods, ensuring reliable and efficient grasping.

WO2025153189A1PCT designated stage expired Publication Date: 2025-07-24ABB (SCHWEIZ) AG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/051293
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-19
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

Existing methods for determining the pose of a mobile robot for manipulating an object rely heavily on human intervention and trial-and-error, leading to inefficiencies and potential collisions, especially when selecting the base position for grasping.

Method used

An automated method that analyzes the robot's workspace to identify feasible poses for grasping, assessing their quality using manipulability, reachability, and base pose robustness metrics, and selecting the best pose based on these criteria, reducing dependency on human input and ensuring collision-free and efficient grasping.

Benefits of technology

The method enables efficient and collision-free grasping by selecting the optimal robot pose autonomously, minimizing human intervention and improving the reliability and efficiency of mobile robot manipulation tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024051293_24072025_PF_FP_ABST
    Figure EP2024051293_24072025_PF_FP_ABST
Patent Text Reader

Abstract

A computer implemented method for determining a pose of a mobile robot for manipulating an object, comprising: receiving map data of an environment (S10); receiving position data of the object to be grasped(S20); providing a plurality of poses of the mobile robot (S30); determining based on the map data of the environment, the position data of the object and the plurality of poses of the mobile robot a pose, such that the mobile robot can manipulate the object (S40); providing the determined the pose for further processing (S50).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] TITLE Method for determining a pose of a mobile robot for manipulating an object

[0002] FIELD OF THE INVENTION

[0003] The present invention relates to a computer implemented method for determining a pose of a mobile robot for manipulating an object, to a data processing device, to a computer program, to a computer readable medium and to a use of a mobile robot in such a method.

[0004] BACKGROUND OF THE INVENTION

[0005] Mobile robots are known in the state-of-the-art. Mobile robots may comprise an an end effector. The end effector may be a gripper used to grasp an object. Such mobile robots for conducting grasp tasks are used for example in factories and laboratories. There exist a plurality of solutions how a mobile robot can be arranged in relation to the object to be grasped. There may be a challenge to find the right arrangement of the mobile robot.

[0006] It is now become apparent that there is a further need to provide a possibility for determining a pose of a mobile robot for manipulating an object.

[0007] SUMMARY OF THE INVENTION

[0008] In view of the above, it is an object of the present invention to provide a method for determining a pose of a mobile robot for manipulating an object, in particular it is an object of the present invention to provide an improved method for determining a pose of a mobile robot manipulating an object.

[0009] In one aspect of the present disclosure, a computer implemented method for determining a pose of a mobile robot for manipulating an object is provided, comprising: receiving map data of an environment; receiving position data of the object to be grasped; receiving a plurality of poses of the mobile robot; determining based on the map data of the environment, the position data of the object and the plurality of poses of the mobile robot a pose, such that the mobile robot can manipulate the object; providing the determined the pose for further processing.

[0010] The term pose, as used herein, is to be understood broadly and may relate to a position of a base of a mobile robot and a grasp pose of a kinematic of the mobile robot. The kinematic may comprise at least an arm with an end effector. The end effector may be a gripper.

[0011] The term mobile robot, as used herein, is to be understood broadly and may relate to a robot configured to move automously in an environment. The mobile robot may comprise a drive unit for a movement of the mobile robot. The mobile robot may comprise an arm with an end effector (e.g. a gripper). The arm may comprise a kinematic. The mobile robot may comprise a vision system (e.g. a camera and a laser) for capturing the environment.

[0012] The term manipulating, as used herein, is to be understood broadly and may relate to any change that can be applied to an object by means of an end effector of a mobile robot. The manipulating may preferably comprise a change of a position of the object. The manipulating may comprise a grasping or gripping of the object and optionally subsequently a positioning of the object to another position.

[0013] The term object, as used herein, is to be understood broadly and may relate to any structural element. The object may be a container, a test tube, or a tool.

[0014] The term environment, as used herein, is to be understood broadly may relate to any area configured to be at least partially driven on with a mobile robot. The environment may be a room, a laboratory, a production hall, or a storage area. The environment may be inside a building and / or outside a building.

[0015] The term map data, as used herein, is to be understood broadly and may relate to position data of one or more objects in the environment. The position data may comprise absolute position data and / or relative position data. The term position data of an object to be grasped, as used herein, is to be understood broadly and may relate to spatial coordinates of the object. The spatial coordinates may comprise three translatory coordinates. The spatial coordinates may comprise three rotatory coordinates. The position data of the object may comprise a spatial expansion of the object.

[0016] The invention is based on the finding, that in order to perform a mobile manipulation task, a mobile robot has to move its base to a position from which it can manipulate a desired object placed somewhere in the environment. A common approach is that the position of the base is intuitively defined by a human operator, based on the knowledge about the position of the object. This approach may require a constant necessity of human intervention in a trial and error manner. A slight improvement in the sense of autonomy may be made by executing a distance-based rectification procedure. Detect object, drive towards it, detect it again after a time step, drive towards it, repeatedly. Stop either when the robot is at a given distance from the object, predefined by the human operator or when a timeout value has been reached or a chosen number of attempts have failed. It may mean that collisions prevent the robot from getting close enough to the object. From the stopping base pose (i.e. position of the base), try to grasp the object. However, there may arise the following problem: Often the stopping position is not good for performing the grasp, i.e., there exists no arm configuration that places the end-effector of the robot at the object. The method proposes to analyze the robot’s workspace: define poses relative to the robot for which there is at least one inverse kinematics solution for the end-effector (i.e. feasible poses to grasp). Rank the feasible poses by their quality, considering: chance of singularities, i.e., arm configurations for which there is loss of control over one or more of degrees of freedom. The manipulability measure may be used for that; robustness against errors in the object pose (from camera detection) and base pose (from navigation). The approach may define the goal base pose in such way that all of the following points are satisfied: The base is not colliding with any obstacle; the object is positioned in the highest ranked pose relative to the robot, according to the ranking of the previous step. This approach may have the following adavantages: no dependency on human input, formal definition of what is a good position of a base of a mobile robot, accounts for errors, assurance that the destination of the position of the base of the mobile robot can be reached and aims to do so in an efficient way. In other words, the invention proposes to select from a pre-determined plurality of poses of a mobile robot on or more poses that are feasible to grasp the object based on the position data of the object and the map data of the environment. The one or more poses may be assessed regarding their quality. The best pose is selected and provided for further processing.

[0017] In an embodiment of the method, the plurality of poses of the mobile robot may comprise a corresponding quality value and wherein the determining of the pose may comprises a selecting based on the quality value.

[0018] The term quality value, as used herein, is to be understood broadly may relate to any value of a quality metric. The quality metric may be a numerical metric, a color metric, a semantic matrix. The quality value may be for example in a range between 0 and 1. The quality metric may relate to an ability of an end effector to grasp the object with that pose.

[0019] The method may select the pose that has the best quality value. This may lead to a more efficient grasping process.

[0020] In an embodiment of the method, the quality value may relate to a manipulability metric of an end effctor of the mobile robot.

[0021] The term manipulability metric, as used herein, is to be understood broadly and may relate to how far a joint configuration of the arm of the mobile robot is from singularities, i.e., joint configurations where there is loss of control over one or more of degrees of freedom. The manipulability metric may relate to an avagered manipulablity. The averaged manipulibity may aim to place the grasp (i.e. kinematic of arm and end effector) relatively to the base in a location that will most likely avoid the occurrence of singularities. It does that by finding multiple inverse kinematics solutions for a given grasp, and averaging the manipulability measures of these solutions. This may lead to a more efficient grasping process.

[0022] The manipulability metric may be calculated according to the following formula: det( / / r) Where J (as a function of q) is the Jacobian matrix of the end-effector for a given joint configuration q.

[0023] The following may be executed for every pose in the configurations domain:

[0024] 1. For a chosen number n of times: a. Get a joint configuration for the given end-effector pose (inverse kinematics). b. Calculate the manipulability using the Jacobian at the obtained joint configuration. c. Store the value of the manipulability measure (i.e. manipulability metric).

[0025] 2. Take the average of the manipulability values over the n runs.

[0026] 3. Set the cost of the pose as the inverse of the obtained average.

[0027] In an embodiment of the method, the quality value may relate to a reachability metric of an end effector of the mobile robot.

[0028] The term reachability metric, as used herein, is to be understood broadly and may relate to ability of a grasp pose to be corrected such that the object can still be grasped. The purpose of this metric is to deal with grasp detection uncertainty, given the inaccuracy of the camera. The idea is that the grasp is detected before navigation starts, so possibly from a location far from the object. When the base of the mobile robot reaches the optimal position (close to the object), the grasp pose might get corrected and we want to make sure that the grasp is feasible for this corrected pose. Therefore, for a feasible grasp pose in the domain, the output of this utility function is a count of how many slightly displaced poses around it can still be grasped by the robot, as if these were the corrected ones. The base pose (i.e. position of the base of the mobile robot) may be fixed. This may lead to a more efficient grasping process.

[0029] The reachability metric may be calculated as follows:

[0030] For every pose in the domain:

[0031] 1. Initialize a score variable as 0.

[0032] 2. Generate a set of slightly displaced grasp poses. E.g.: vertices of a volume centered in the reference grasp pose, each with a few displaced orientations.

[0033] 3. For each displaced pose, look for an inverse kinematics solution and increment the score variable if found.

[0034] 4. Set the cost of the point as the inverse of the final score. In an embodiment of the method, the quality value may relate to a base pose robustness metric of the mobile robot.

[0035] The term base pose robustness metric, as used herein, is to be understood broadly and may relate to the ability to grasp the object in case the position of the base of the mobile robot deviates from the determined position. The robustness metric may deal with the uncertainty about the real location of the robot’s base in the environment. The purpose of this metric may be to maximize the chances that the grasp can still be performed even though the base might have navigated to a slightly different location than intended. In other words, it aims maximize the chances that a grasp represented in an inaccurate coordinate system is possible. For a feasible grasp pose, the output of this utility function is a count of how many slightly displaced base poses still make the grasp feasible. The object position may be fixed. This may lead to a more efficient grasping process.

[0036] The robustness metric may be calculated as follows:

[0037] The grasp pose is fixed and the base coordinate system is moved, regarding both the position of its origin and its orientation.

[0038] The procedure for pose in the domain is:

[0039] 1. Initialize a score variable as 0.

[0040] 2. Generate a set of slightly displaced base coordinate systems. E.g.: have their origins at the vertices of a square centered in the original base system, each with the original orientation plus two slightly tilted orientations around the z axis (resulting in 12 coordinate systems).

[0041] 3. For each displaced coordinate system, look for an inverse kinematics solution for the end-effector pose relative to this new coordinate system and increment the score variable if found.

[0042] 4. Set the cost of the point as the inverse of the final score.

[0043] These metrics can be employed either individually, depending on the most relevant criteria for a given application, or in a combined manner. Examples of a combined usage may be: Calculate a final cost metric as a weighted sum of the different metrics. Apply a threshold: filter poses by a minimum reachability and robustness score and consider only the remaining ones for the manipulability evaluation. Regarding the combination of the different cost metrics (i.e. quality metrics), it can be done as follows:

[0044] 1. For each pose in the domain, calculate different cost values by using each of the cost metrics.

[0045] 2. Then, having the different cost maps, either: a. Set the resulting cost for each point as a weighted sum of the costs. E.g., for a pose: cost = 0.25 ■ robustness + 0.25 reachability + 0.5 manipulability b. Or use one or more cost metrics for filtering the domain and assign the cost using other metrics. E.g., reduce the domain of poses by keeping only the poses that have a reachability cost smaller than a value a and a robustness cost smaller than a value b. Then set the cost of the remaining poses as the manipulability cost.

[0046] In an embodiment of the method, the plurality of poses and / or the corresponding quality values may have been calculated offline.

[0047] The plurality of poses and the corresponding quality values may require a big effort to calculate. However, this does not have to be done online (i.e. during an operation of the mobile robot). The method proposes to do this offline. It only hast to be done one time. The plurality of poses and the corresponding quality values may depend on the kinematics of the mobile robot and optionally of the end effector. The plurality of poses and corresponding quality values may also be named a cost map. This may increase the efficiency of method.

[0048] The plurality of poses may be calculated as follows:

[0049] As input, a computation node may receive a request massage. The request message may comprise one or more of the following: The limits and step sizes for the 6D domain of poses (i.e. poses of the object to be grasped) to be examined. The cost mode to be used, selected from the implemented ones. Additional may be options such as: the timeout in seconds for each inverse kinematics calculation attempt. The arm to be used (in case of dual arm manipulators). A description of the robot containing its kinematic characteristics. As output a computation node may provide a cost map.

[0050] The calculation steps may comprise one or more of the following steps: 1. Domain filtering: For each point in the given discrete domain of grasp poses, an inverse kinematics solution is searched. If no solution is found after the chosen timeout, the pose is removed from the domain.

[0051] 2. Cost assignment: For each remaining pose in the domain, a cost is assigned using the chosen cost metric.

[0052] 3. Cost map inversion: the grasp poses are represented as homogeneous transformations matrices in the base coordinate frame {B ). They are then inverted in order to represent the possible base poses, in a coordinate frame at the grasp pose (GTB).

[0053] 4. Storage of the results: The inverted poses with costs (i.e., the inverted cost map) are then stored, along with additional information such as the requested parameters and total execution time.

[0054] In an embodiment of the method, the map data may comprise position data of an obstacle and wherein the determining of the pose may comprise a collision analysis of a preliminary selected pose of the plurality of poses with the position data of the obstacle.

[0055] The obstacle may be a chair, a table, or a box. The obstacle may be a structural element that reasons a collision in case the position of the base of mobile robot is arranged at the same position as the obstacle. The collision analysis may comprise a comparing of a position of base of the mobile robot and the position data of an obstacle. In case a match occurs, a potential collision is determined. The method proposes to select one of plurality of poses (e.g. the pose with the best quality value) and to conduct the collision analysis. In case the result does not lead to a collision, the pose is used for further processing. In case the result leads to a collision, a further pose (e.g. the pose with the second best quality value) is selected and a further collision analysis is selected. This may lead to a safe and an efficient grasping process.

[0056] The map of the environment comprises a data structure containing information about the location of obstacles in the mapped spatial region. With that information plus the pose and geometry of the base of the robot, it should always be possible to compute a Boolean value stating the occurrence or absence of collision between base and environment. In an embodiment of the method, the plurality of poses may be limited to poses with a spatial height, wherein the spatial height may be indicative of a height on which the object is placed.

[0057] Most of the objects to be grasped are positioned at the same height. The limitation of the poses to a spatial height may be advantageous as it reduces a domain space for possible solutions. This may reduce the calculation effort.

[0058] In an embodiment of the method, the plurality of poses may be limited to poses with a grasp direction from above.

[0059] In order to safely avoid collisions, the manipulator (i.e. end effector) may grasp the object from above, orthogonally to the table. This reduces the 6D search space to a 3D one, by fixing the height z of the grasp (known height of the table plus object center) and two rotational parameters (pitch and yaw of the end-effector). It is left to analyse only the x, y and roll variables in the offline cost map generation step, which reduces computational effort.

[0060] This may be advantageous as it reduces a domain space for possible solutions. Most of the objects to be manipulated have to be grasped from above. This may be advantageous in terms of efficiency.

[0061] In an embodiment of the method, the determining of the pose may be carried online and / or wherein the map data and / or the position data of the object may be updated online.

[0062] In other words, the method is carried out during an operation of the mobile robot. Only the plurality of poses is determined offline. This may increase the efficiency of the method. The map data and / or the position data of the object may be continuously updated. This may be carried out by a vision system (e.g. camera or laser) of a mobile robot. This may increase the efficacy of the grasping process.

[0063] In an embodiment of the method, the pose may comprise a position of a base of the mobile robot and a grasp pose of a kinematic of the mobile robot, wherein the kinematic may comprise at least an arm with an end effector. A further aspect of the present disclosure relates to a data processing device comprising a processor configured to perform the method as described above.

[0064] A further aspect of the present disclosure relates to a computer program comprising instructions, which, when the program is executed by a computer, cause the computer to carry out the method as described above.

[0065] A further aspect of the present disclosure relates to a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method as described above.

[0066] A further aspect of the present disclosure relates to a use of a mobile robot in a method as described above.

[0067] Units and / or devices according to one or more example embodiments may be implemented using hardware, software, and / or a combination thereof. For example, hardware devices may be implemented using processing circuitry such as, but not limited to, a processor, Central Processing Unit (CPU), a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a System-on-Chip (SoC), a programmable logic unit, a microprocessor, or any other device capable of responding to and executing instructions in a defined manner.

[0068] Devices may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given device or unit of the present disclosure may be distributed among multiple units or devices that are connected via interface circuits.

[0069] Devices according to one or more example embodiments may also include one or more storage devices. The one or more storage devices may be tangible or non-transitory computer-readable storage media, such as random access memory (RAM), read only memory (ROM), a permanent mass storage device (such as a disk drive), solid state (e.g., NAND flash) device, and / or any other like data storage mechanism capable of storing and recording data. The one or more storage devices may be configured to store computer programs, program code, instructions, or some combination thereof.

[0070] Any disclosure and embodiments described herein relate to the methods, the systems, the devices, the computer program element lined out above and vice versa. Advantageously, the benefits provided by any of the embodiments and examples equally apply to all other embodiments and examples and vice versa.

[0071] As used herein “determining" also includes “initiating or causing to determine", “generating" also includes “initiating or causing to generate" and “providing” also includes “initiating or causing to determine, generate, select, send or receive”. “Initiating or causing to perform an action” includes any processing signal that triggers a computing device to perform the respective action.

[0072] BRIEF DESCRIPTION OF THE DRAWINGS

[0073] In the following, the present disclosure is described exemplarily with reference to the enclosed figures.

[0074] Figure 1 shows a schematic view of an exemplary method for determining a pose of a mobile robot for grasping an object;

[0075] Figure 2 shows a schematic illustration of a 6D space with an example best pose;

[0076] Figure 3 shows a schematic illustration of a collision analysis; and

[0077] Figure 4 shows schematic illustrations of quality metrics.

[0078] DETAILED DESCRIPTION OF EMBODIMENTS

[0079] Figure 1 shows a schematic view of an exemplary method for determining a pose of a mobile robot for grasping an object.

[0080] Step S10 comprises receiving map data of an environment. The map data is in the present example provided from a superior system that scans the environment. The environment may be for example a production plant. The environment comprises for example a table on which the object is positioned and one or more obstacles (e.g. the table).

[0081] Step S20 comprises receiving position data of the object to be grasped. The object may be for example a test tube or a storage element.

[0082] Step S30 comprises providing a plurality of poses of the mobile robot. Each of the plurality of poses of the mobile robot may comprise a corresponding quantity value. The quality value may relate to one or more of the following: a manipulability metric of an end effector of the mobile robot, a reachability metric of an end effector of the mobile robot, or a base pose robustness metric of the mobile robot. The quality value may be calculated by a weighted sum of two or more of the following: a manipulability metric of an end effector of the mobile robot, a reachability metric of an end effector of the mobile robot, or a base pose robustness metric of the mobile robot. The plurality of poses and / or the corresponding quality values may have been calculated off-line.

[0083] Step S40 comprises determining based on the map data of the environment, the position data of the object and the plurality of poses of the mobile robot a pose, such that the mobile robot can manipulate the object. The determining of the pose may comprise a selecting based on the quality value. For instance, the pose with the best quality value is selected. The determining of the pose may comprise a collision analysis of a preliminary selected pose of the plurality of poses with the position data of the obstacle.

[0084] Step S50 comprises providing the determined pose for further processing. The further processing may for example be a controlling of the mobile robot in order to grasp the object.

[0085] Figure 2 shows a schematic illustration of a 6D space with example best pose

[0086] The illustration shows a plurality of poses 10 in a 6D space 50 that a mobile robot 70 with an end effector could reach from fixed position of the base of the robot. Each of the exemplary poses 11 , 12 and 13 relates to specific position in the 6D space (i.e. 3D position and 3D orientation). For each point in the discretized domain, a quality value may be assigned. The pose 20 represents as an example the best pose (with an arrow as a corresponding orientation), which means that is an assigned the best quality value.

[0087] Figure 3 shows a schematic view of a collision analysis.

[0088] The schematic view shows a 2D schematic of the map of the environment 100. The environment comprise an obstacle 101 , for example a table, on which the object 101 is positioned. Two exemplary poses 110 and 111 are analyzed regarding a potential collision with the obstacle 101. The poses 110 and 111 may be comprise the best quality value and the second best quality value for the object to be grasped. Each of the poses 110, 111 comprises a position of the base 112 and 113 of the mobile robot. The collision analysis checks whether the base of the robot overlaps with the obstacle. Configuration 130 shows that the base of the mobile robot collides with the table. Configuration 131 shows that the base of the mobile does not collide with the robot. Hence, the pose with the second best quality value is selected as pose in this example, instead of the pose with the best quality value.

[0089] Figure 4 shows exemplary schematic illustration for quality metrics.

[0090] The first illustration relates to the manipulability metric 200. The manipulability metric may refer to how far a joint configuration is from singularities, i.e. , joint configurations where there is loss of control over one or more of degrees of freedom. The first illustration shows three poses 201 , 203 and 205 of a mobile robot, wherein the position of the base 211 of the mobile robot and the position of the object 210 are each fixed, only the kinematic 202, 204 and 206 of the arm is varied. Based on the respective manipulability metrics an averaged manipulability may calculated. An averaged manipulability metric aims to place the grasp relatively to the base in a location that will most likely avoid the occurrence of singularities. It does that by finding multiple inverse kinematics solutions for a given grasp, and averaging the manipulability metrics of these solutions.

[0091] The second illustration relates to the reachability metric 300. The second illustration 300 shows each an object 301 to 303 to be grasped for a corresponding pose of a robot, for example the poses 201 , 203 and 205. The second illustration further shows different slightly corrected poses indicated by the plurality of differently arranged end effectors 304 to 306. The purpose of this metric may be to deal with grasp detection uncertainty, given the inaccuracy of the camera. The idea is that the grasp may be detected before navigation starts, so possibly from a location far from the object. When the base reaches the optimal pose (close to the object), the grasp pose might get corrected and we want to make sure that the grasp is feasible for this corrected pose. Therefore, for a feasible grasp pose in the domain, the output of such a utility function may be a count of how many slightly displaced poses around it can still be grasped by the robot, as if these were the corrected ones. The position of the base may preferably be fixed.

[0092] The third illustration relates to the base pose robustness metric 400. The third illustration 400 shows each for a given grasp pose 401 and 402 how many positions 403 and 404 of the base of the mobile robot still enable a feasible grasp. In the upper example, only one position is possible in the lower example three positions are possible. This metric deals with the uncertainty about the real location of the robot’s base in the environment. The purpose of this metric is to maximize the chances that the grasp can still be performed even though the base might have been navigated to a slightly different location than intended. In other words, it aims to maximize the chances that a grasp represented in an inaccurate coordinate system is possible. For a feasible grasp pose, the output of this utility function is a count of how many slightly displaced base poses (i.e. position of the base of the mobile robot) still make the grasp feasible. The object position is fixed.

[0093] The method is described in the following in other words.

[0094] As inputs, the computation node may receive:

[0095] - A request message containing: The grasp pose in the map of the environment. The map of the environment.

[0096] The cost map (generated in the offline stage).

[0097] The output is the base pose (i.e. position of the base of the mobile robot) found to be optimal for the given task conditions, in the 2D Cartesian coordinates of the map.

[0098] The computation process may consist of the following steps:

[0099] 1. Apply each transformation grasp-to-base (GTB) from the inverted cost map (i.e. plurality of poses with quality values) to the given grasp pose (i.e. pose of the of kinematic of the mobil robot) in the world frame (WTG) to come up with the base poses in the world frame (WTB

[0100] 2. Filter for base poses (i.e. position of the base of the robot) that are on the ground. I.e.

[0101] T_ ro RO p

[0102] ;B - LO 00 1

[0103] 3. Pick lowest cost pose and check if it collides with the environment.

[0104] 4. If no collision occurs, stop, else pick next lowest cost pose.

[0105] Collision check: The map of the environment consists in a data structure containing information about the location of obstacles in the mapped spatial region. With that information plus the pose and geometry of the base of the robot, it should always be possible to compute a Boolean value stating the occurrence or absence of collision between base and environment.

[0106] Reference signs

[0107] S10 receiving map data

[0108] S20 receiving position data

[0109] S30 providing a plurality of poses

[0110] S40 determining a pose

[0111] S50 providing the pose

[0112] 10 plurality of poses

[0113] 11 , 12, 13 exemplary poses

[0114] 20 mobile robot

[0115] 50 6D space

[0116] 70 mobile robot

[0117] 100 environment

[0118] 101 obstacle

[0119] 110, 111 pose

[0120] 112, 113 position of base

[0121] 130 colliding configuration

[0122] 131 feasible configuration

[0123] 200 manipulability metric

[0124] 201, 203, 205 pose

[0125] 210 position of the object

[0126] 211 position of the base

[0127] 300 reachability metric

[0128] 301, 302, 303 object

[0129] 304, 305, 306 plurality of different arranged end effectors

[0130] 400 pose robustness metric

[0131] 401, 402 grasp pose of kinematic of mobile robot

[0132] 403, 404 position of base of mobile robot

Claims

Claims1. A computer implemented method for determining a pose of a mobile robot for manipulating an object, comprising: receiving map data of an environment (S10); receiving position data of the object to be grasped (S20); providing a plurality of poses of the mobile robot (S30); determining based on the map data of the environment, the position data of the object and the plurality of poses of the mobile robot a pose, such that the mobile robot can manipulate the object (S40); providing the determined pose for further processing (S50).

2. The method according to claim 1 , wherein each of the plurality of poses of the mobile robot comprise a corresponding quality value and wherein the determining of the pose comprises a selecting based on the quality value.

3. The method according to claim 2, wherein the quality value relates to a manipulability metric of an end effector of the mobile robot.

4. The method according to claim 2 or 3, wherein the quality value relates to a reachability metric of an end effector of the mobile robot.

5. The method according to any of the claims 2 to 4, wherein the quality value relates to a base pose robustness metric of the mobile robot.

6. The method according to any one of the preceding claims, wherein the plurality of poses and / or the corresponding quality values have been calculated offline.

7. The method according to any one of the preceding claims, wherein the map data comprises position data of an obstacle and wherein the determining of the posecomprises a collision analysis of a preliminary selected pose of the plurality of poses with the position data of the obstacle.

8. The method according to any one of preceding claims wherein the plurality of poses is limited to poses with a spatial height wherein the spatial height is indicative of a height on which the object is placed.

9. The method according to any one of the preceding claims, wherein the plurality of poses is limited to poses with a grasp direction from above.

10. The method according to any one of the preceding claims, wherein the determining of the pose is carried online and / or wherein the map data and / or the position data of the object are updated online.

11. The method according to any one of the preceding claims, wherein the pose comprises a position of a base of the mobile robot and a grasp pose of a kinematic of the mobile robot, wherein the kinematic comprises at least an arm with an end effector.

12. A data processing device comprising a processor configured to perform the method according to any one of the claims 1 to 11 .

13. A computer program comprising instructions, which, when the program is executed by a computer, cause the computer to carry out the method according to any one of the claims 1 to 11.

14. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of the claims 1 to 11 .

15. Use of a mobile robot in a method according to any one of the claims 1 to 11 .

Citation Information

Patent Citations

  • Robot Base Position Planning

    US20200171653A1

  • Computing device, machine learning method, and storage medium

    US20210008717A1