Anti-Collision Safety Measures for a Modular Robot
20210387341 ยท 2021-12-16
Inventors
Cpc classification
B25J9/1605
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1617
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
An anti-collision safety device/method for a modular robot is provided which automatically derives a new/updated geometric model for the kinematic chain when the robot has been reconfigured.
Claims
1. An anti-collision safety device for a modular robot, wherein the anti-collision safety device is configured to: assign modules of the robot to elements of a kinematic chain; determine a geometric model for the elements of the kinematic chain based on data describing the geometry of the assigned modules; and calculate a collision-free movement of elements of the kinematic chain based on: the determined geometric model, a model of the environment, and a target position and/or orientation of at least one element of the kinematic chains; wherein the anti-collision safety device is further configured to retrieve the data describing the geometry of the assigned modules from the assigned modules; wherein the data defines different shapes for one or more of the modules; and wherein the different shapes differ in regard to a level of approximation.
2. (canceled)
3. The anti-collision safety device of claim 1, wherein the anti-collision safety device is further configured to extract transformations for the assigned modules from the data; and wherein each of said transformations corresponds to one module and relates a proximal end of said module to a distal end of said module.
4. The anti-collision safety device of claim 3, wherein the anti-collision safety device is further configured to determine the geometric model of the kinematic chain based on the extracted transformations.
5. The anti-collision safety device of any one claim 1, wherein the anti-collision safety device is further configured to update said data stored in the modules through a wired or a radio interface.
6. The anti-collision safety device of claim 1, wherein the anti-collision safety device is further configured to plan, for each of the modules of the robot, a first part of an intended path in a dynamic environment, the first part of the intended path avoiding regions in which collisions might occur; wherein the anti-collision safety device is further configured to plan, for each of the modules of the robot, a fail-safe maneuver at the end of the first part of the intended path, the fail-safe maneuver avoiding regions in which collisions might occur; wherein the anti-collision safety device is further configured to plan, for each of the modules of the robot, a second part of the intended path in the dynamic environment; and wherein the anti-collision safety device is further configured to execute the fail-safe maneuver for at least those modules of the robot for which it cannot be ascertained, before the end of the first part is reached, that the second part avoids regions in which collisions might occur.
7. The anti-collision safety device of claim 6, wherein the fail-safe maneuver is directed at causing a standstill of the robot at or before an end of the planned fail-safe maneuver.
8. The anti-collision safety device of claim 6, wherein the anti-collision safety device is further configured to abort the fail-safe maneuver if a recovery maneuver becomes available which avoids regions in which collisions might occur.
9. The anti-collision safety device of claim 1, wherein the safety device is further configured to identify a module that has been added to the modular robot by receiving a control signal from said module via a wired or a radio interface.
10. The anti-collision safety device of claim 9, wherein the safety device is configured to identify the module that has been added to the modular robot by receiving the control signal via a bus interface from said module.
11. The anti-collision safety device of claim 1, wherein the safety device is further configured to identify a module that has been added to the modular robot by evaluating a signal from a sensor of the safety device.
12. The anti-collision safety device of claim 11, wherein the safety device identifies the module that has been added to the modular robot by analyzing an image of at least a part of the module or by activating a radio-frequency identification, RFID, tag reader.
13. A method of avoiding a collision between a reconfigurable modular robot and obstacles in an environment of the robot, the method comprising: reconfiguring the robot by: removing one or more of first link and/or joint modules from the modular robot; and adding one or more second link and/or joint modules to the modular robot; determining a geometric model of the robot based on data describing the geometry of the one or more second link and/or joint modules; and while operating the robot, using the geometric model to plan collision-free paths of the remaining first and one or more second link and/or joint modules; wherein the data describing the geometry of the one or more second link and/or joint modules is retrieved from the one or more second link and/or joint modules; wherein the data defines different shapes for one or more of the one or more second link and/or joint modules; and wherein the different shapes differ in regard to a level of approximation.
14. The method of claim 13, wherein the data comprises a series of transformations corresponding to the remaining first and one or more second link and/or joint modules; and wherein a pose of one of the remaining first and one or more second link and/or joint modules in a reference frame is given by applying the transformations of the series up to a transformation corresponding to the one of the remaining first and one or more second link and/or joint modules.
15. The method of claim 14, wherein determining the geometric model of the robot comprises determining positions of the one or more second link and/or joint modules in a kinematic chain represented by the geometric model.
16. The method of claim 15, wherein the remaining first and one or more second link and/or joint modules comprise nodes of a wired communication network and determining the position of the one or more second link and/or joint modules in the kinematic chain comprises identifying one or more nodes neighboring a node comprised in the one or more second link and/or joint modules.
17. The method of claim 15, wherein determining the positions of the one or more second link and/or joint modules within the kinematic chain comprises: taking one or more images of the robot, and determining a type of the remaining first and one or more second link and joint modules detected in said one or more images.
18. The method of claim 15, wherein determining the positions of the one or more second link and/or joint modules within the kinematic chain comprises scanning the robot for radio-frequency identification, RFID, tags attached to or embedded into the one or more second link and/or joint modules.
19. The method of claim 13, further comprising: collecting said data from the remaining first and one or more second link and/or joint modules and/or updating said data through a wired or a wireless connection.
20. The method of claim 13, wherein determining the geometric model of the robot comprises approximating two or more neighboring link and/or joint modules as a single virtual body representing an element of the kinematic chain-.
21. The method of claim 20, wherein approximating two or more neighboring link and/or joint modules of the robot as said single virtual body involves selecting between different approximation levels.
22. The method of claim 13, wherein the geometric model comprises a chain of virtual bodies, of which each virtual body represents an element of the kinematic chain.
23.-24. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0063] The foregoing aspects and many of the attendant advantages will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like parts throughout the various views, unless otherwise specified.
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072] Notably, the drawings are not drawn to scale and unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
DETAILED DESCRIPTION
[0073]
[0074] At step 4, the process continues with determining, for each configuration that enables the robot 10 perform the set of subtasks, whether said configuration enables the robot 10 to perform the task. I.e., those configurations that have passed the previous test may be further tested to see whether all subtasks can be performed (for example, whether all required positions can be reached). At step 6, the process is continued by determining, for each configuration that enables the robot 10 to perform the task, a value indicating a cost of performing the task, according to a cost metric. This may be achieved by carrying-out a simulation based on a geometric model representing the configuration. At step 8, the determined values are used to select a configuration that enables the robot 10 to perform the task.
[0075]
[0076] The distal end of the second link module 16b is connected to a second joint module 18b (hinge joint) which allows for swiveling a third link module 16c attached to the second link module 16b by the second joint module 18b around a second horizontal axis (not shown). The third link module 16c is connected to a tool 20 (e.g., a claw or another manipulator). When the tool 20 is to be moved to a target position, the anti-collision safety device 12 ensures that none of the modules 16a-16c, 18a, 18b or the tool 20 collides with obstacles 22 in the surrounding. To reduce the computational complexity of this task, the anti-collision safety device 12 may overapproximate the geometry of the modules 16a-16c, 18a, 18b and the tool 20 (as illustrated in the right part of
[0077] The anti-collision safety device 12 may only allow a movement of the modules 16a-16c, 18a, 18b and the tool 20, if a corresponding movement of the first and second virtual rigid bodies 24a, 24b does not cause a collision with an obstacle 22. For example, movements (or a sequence of movements) of the modules 16a-16c, 18a, 18b and the tool 20 may be validated based on simulating corresponding movements of the virtual rigid bodies 24a, 24b of the (simplified) geometric model 26 within (or as part of) a model of the environment. For example, the anti-collision safety device 12 may be provided with a mono- or stereo-camera system, a laser-scanner, a lidar, an ultrasonic distance device, etc. that recognizes/tracks (static and/or dynamic) obstacles (including humans) 22 in the range of the robot 10.
[0078] When the anti-collision safety device 12 receives an indication that the robot 10 has been reconfigured, it may check whether the geometric model 26 must be updated. For example, as illustrated in the lower part of
[0079] By assigning the link modules 16a-16d and the joint modules 18a-18c of the robot 10 to elements 24a, 24b of a kinematic chain on which the geometric model 26 is based, the anti-collision safety device 12 may assess the structural change and determine a new/updated geometric model 28 for the elements of the kinematic chain. Notably, the indication that the robot 10 has been reconfigured may be caused by a self-check of the robot 10 or may be manually input, as will be explained in more detailed with reference to
[0080] For example, as illustrated in
[0081] That is, the anti-collision safety device 12 may transmit an empty control frame to the electronic circuit 30a mounted to the first joint module 18a. Upon receiving the control frame, the electronic circuit 30a may add its ID and/or geometric data describing the shape of the first joint module 18a to the control frame and transmit the (modified) control frame to the electronic circuit 30b in the neighboring link module 16d, that acts likewise. When the control frame has been passed through the electronic circuits 30a-30c, it is received by the electronic circuit 30d of the tool 20 (which is the last one of the electronic circuits 30a-30d in the chain).
[0082] As the electronic circuit 30d has no neighboring element at its distal end, it may append its ID and/or geometric data describing the shape of the tool 20 and transmits the (thus modified) control frame along the chain of electronic circuits 30a-30d back to the anti-collision safety device 12. The anti-collision safety device 12 may then derive the layout of the robot 10 by analyzing the sequence of entries in the control frame. In another example, only the link modules 16a-16d or only the joint modules 18a-18c may be provided with electronic circuits, if, for example, they can provide data on the joint modules 18a-18c and the link modules 16a-16d, respectively, to which they are connected. In other words, all elements 24a, 24b of the kinematic chain should be covered by at least one electronic circuit, but one electronic circuit may cover more than one element 24a, 24b.
[0083] Furthermore, instead of transmitting a control frame along a daisy chain or a logical ring, each electronic circuit 30a-30d may transmit its ID and/or geometric data describing the module shape and/or information on the modules with which it is connected to the anti-collision safety device 12. For example, the electronic circuits 30a-30d may be connected to a bus or transmit the data wirelessly. In another example shown in
[0084] In another example shown in
[0085]
[0086] The anti-collision safety device 12 may also extract transformations for the assigned modules 16d, 18a, and 18b from the data. Each transformation may correspond to one of the modules 16d, 18a and 18b and relate a proximal end of said module 16d, 18a or 18b to a distal end of said module 16d, 18a or 18b. The transformations may be used to automatically compute the geometric model. Moreover, the anti-collision safety device 12 may update the data stored in the memories 17 through the radio interface 12.
[0087]
[0088] As the module 16d, 18a and 18b travels along the first part 36a the anti-collision safety device 12 may plan a second part 36b of the intended path and a fail-safe maneuver 38b at the end of the second part 36b. The anti-collision safety device 12 may execute the fail-safe maneuver 38a if cannot be ascertained, before the end of the first part 36a is reached at T2, that the second part 36b avoids regions 42 in which collisions might occur, as shown in in the bottom part of
[0089]
LIST OF REFERENCE NUMERALS
[0090] 1 process step [0091] 2 process step [0092] 4 process step [0093] 6 process step [0094] 8 process step [0095] 10 robot [0096] 12 safety device [0097] 12a radio interface [0098] 14 frame [0099] 16a link module [0100] 16b link module [0101] 16c link module [0102] 16d link module [0103] 17 memory [0104] 18a joint module [0105] 18b joint module [0106] 18c joint module [0107] 20 tool [0108] 22 obstacle [0109] 24a element (kinematic chain) [0110] 24b element (kinematic chain) [0111] 26 geometric model [0112] 28 geometric model [0113] 30a electronic circuit [0114] 30b electronic circuit [0115] 30c electronic circuit [0116] 30d electronic circuit [0117] 30e electronic circuit [0118] 32 camera [0119] 34 user terminal/interface [0120] 36a first part (intended path) [0121] 36b second part (intended path) [0122] 38a fail-safe maneuver [0123] 38b fail-safe maneuver [0124] 40 recovery maneuver [0125] 42 region (where collisions are possible) [0126] 44 process step [0127] 46 process step [0128] 48 process step [0129] A axis [0130] B axis