CN-115297999-B - Digital representation of a robot operating environment useful in motion planning of a robot
Abstract
Filtering an oversized representation of at least a portion of the robot from the representation of the operating environment (e.g., voxels are set to unoccupied for any object that is completely within the oversized representation) provides a digital model of the operating environment that may be used, for example, for motion planning of the robot. Oversized means that the physical dimensions of at least a part of the robot (e.g. the accessory) are exceeded, to advantageously take into account cables and other features that are attached and that extend beyond the outer dimensions of the robot. The specific dimensions of the oversized representation may be based on a variety of factors, such as the geometry of the cable that may be modeled, the orientation or position of the robotic accessory, the orientation or position of the cable relative to the robotic accessory, the speed of the accessory, slack in the cable, and the like.
Inventors
- Akash Murukan
- Jenny Ram
- Winckett K. Gopalakrishnan
Assignees
- 实时机器人有限公司
- 实时机器人有限公司
Dates
- Publication Date
- 20260421
- Application Date
- 20210316
- Priority Date
- 20200318
Claims (20)
- 1. A system for robotic motion planning, comprising: At least one processor; At least one non-transitory processor-readable medium communicatively coupled to the at least one processor and storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to: Identifying, in a digital representation of a three-dimensional operating environment, one or more elements representing one or more physical objects located in the three-dimensional operating environment; Determining which of the physical objects represented in the digital representation of the three-dimensional operating environment are entirely within a three-dimensional representation of an oversized volume including an attachment of a first robot and one or more cables physically coupled to the attachment of the first robot, at least a portion of the oversized volume extending beyond at least a corresponding peripheral dimension of the attachment of the first robot to include the one or more cables physically coupled to the attachment of the first robot, wherein the attachment is formed by a collection of links and joints of the first robot, and For any physical object determined to be entirely within the three-dimensional representation of the oversized volume, one or more occupancy values are set in the digital representation of the three-dimensional operating environment to represent the volume corresponding to the respective physical object as unoccupied, thereby providing a filtered representation of the three-dimensional operating environment in which the oversized volume containing the robotic attachment and at least one cable of the first robot is not indicated as an obstacle.
- 2. The system of claim 1, wherein the instructions, when executed by the at least one processor, cause the at least one processor to further: a motion planning of the first robot is performed using the filtered representation of the three-dimensional operating environment.
- 3. The system of claim 1, wherein the instructions, when executed by the at least one processor, cause the at least one processor to further: a three-dimensional representation of the oversized volume is generated.
- 4. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: modifying a three-dimensional representation of an accessory of the first robot to increase at least one dimension of the accessory at least at one location on the accessory.
- 5. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: modifying a three-dimensional representation of an accessory of the first robot to increase at least one dimension of the accessory along a portion of the accessory along which the at least one cable extends.
- 6. The system of claim 5, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: any dimension of any portion of the accessory along which the at least one cable does not extend in the three-dimensional representation of the accessory of the first robot is not increased.
- 7. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: a three-dimensional representation of the ultra-large volume is generated based at least on a position of the at least one cable relative to at least a portion of the attachment of the first robot taking into account gravity.
- 8. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: a three-dimensional representation of the ultra-large volume is generated based at least on an orientation of at least a portion of the accessory of the first robot and a slack of at least one cable taking into account gravity.
- 9. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: A bounding box representation is generated based on a set of dimensions of an accessory of the first robot and based on a set of boundary buffer specifications defining an offset from an outer perimeter of the first robot.
- 10. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: A three-dimensional representation of the ultra-large volume is generated based at least on a current set of joint positions of the first robot.
- 11. The system of claim 3, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: A three-dimensional representation of an oversized volume including a base of the first robot, at least two appendages of the first robot, an end effector of the first robot, and at least two cables coupled to move with one or more of the appendages is generated.
- 12. The system of any of claims 3 to 11, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: a three-dimensional representation of the ultra-large volume is generated based at least on the geometry of the at least one cable.
- 13. The system of claim 12, wherein to generate the three-dimensional representation of the ultra-large volume, the instructions, when executed by the at least one processor, cause the at least one processor to: A three-dimensional representation of the ultra-large volume is generated based at least on a speed of at least a portion of the attachment of the first robot.
- 14. The system of claim 1, further comprising: at least one sensor that captures one or more physical characteristics of the three-dimensional operating environment in operation.
- 15. The system of claim 14, wherein the instructions, when executed by the at least one processor, cause the at least one processor to further: A digital representation of the three-dimensional operating environment is generated from the captured one or more physical characteristics of the three-dimensional operating environment sensed by the at least one sensor.
- 16. The system of claim 14, wherein to generate the digital representation of the three-dimensional operating environment, the instructions, when executed by the at least one processor, cause the at least one processor to: at least one of a hierarchical data structure or a non-hierarchical data structure is generated.
- 17. The system of claim 16, wherein the hierarchical data structure is a k-ary tree.
- 18. The system of claim 16, wherein the non-hierarchical data structure is a euclidean distance field.
- 19. The system of claim 14, wherein to generate the digital representation of the three-dimensional operating environment, the instructions, when executed by the at least one processor, cause the at least one processor to: a point cloud is generated.
- 20. The system of claim 14, wherein to generate the digital representation of the three-dimensional operating environment, the instructions, when executed by the at least one processor, cause the at least one processor to: A voxel grid is generated.
Description
Digital representation of a robot operating environment useful in motion planning of a robot Technical Field The present disclosure relates generally to digital representations of an operating environment in which one or more robots are operating, and to a robot motion plan employing the digital representations of the operating environment, such as systems and methods that perform collision detection using digital representations generated from sensory data collected by sensors to generate a motion plan that drives the robot or the like. Background Description of the Related Art Motion planning is a fundamental problem in robot control and robotics. The motion plan fully specifies the path that the robot can follow from the starting state to the target state without collision or a reduced probability of collision with any obstacle in the operating environment, which is typically a three-dimensional operating environment. Challenges faced by motion planning include the ability to quickly perform motion planning, even when the characteristics of the 3D operating environment change. For example, characteristics such as position or shape of one or more obstructions in the three-dimensional operating environment may change over time. Typically, one or more sensors capture information about a three-dimensional operating environment in which one or more robots may operate. For example, the three-dimensional operating environment may take the form of a work cell in which one or more robots operate. For example, robots may each have a respective movable robot attachment with an end effector or end of arm tool, and may interact with one or more workpieces. The captured sensor information is used to generate a digital representation or model of the three-dimensional operating environment, where various portions of the three-dimensional environment are represented as unoccupied or occupied by one or more objects that may be located in the three-dimensional operating environment. The object may take the form of an obstacle to avoid or a target with which the robot is to interact. The digital representation may be used to perform motion planning to generate a motion plan for driving the robot while avoiding collisions with various obstacles in the three-dimensional operating environment. Disclosure of Invention The robot may take a variety of forms, generally including a base, an accessory, and an end effector or end-of-arm tool located at the distal end of the accessory. The base may be fixed or movable. The accessory is movable relative to the base and may include one or more links coupled via one or more joints (joints), wherein various actuators (e.g., electric motors, stepper motors, solenoids, electromagnets, pistons, and cylinders with associated valves and pressurized fluid reservoirs) are coupled and operated to drive the links to rotate about the joints. The end effector may take any of a variety of forms, such as a gripper, a pair of opposable fingers, a rotary drill, a screwdriver or screw driver, a welding head, a sensor, etc. Many times, some structures may extend outwardly from a portion of the robot. For example, the robot may be physically coupled to one or more cables, or one or more cables may be attached to various portions of the robot. For example, one or more cables may extend between the base and the accessory of the robot. Additionally or alternatively, one or more cables may extend between various links of the accessory or between the accessory and the end effector. The cable may take a variety of forms. For example, one or more cables may be used to supply electrical power or provide pressurized fluid (e.g., hydraulic, pneumatic) to one or more actuators. For another example, one or more cables may be used to route communication signals, such as from one or more robot-mounted sensors (e.g., cameras, position or rotary encoders, proximity sensors). The cables may be attached to the robot at various points or locations along the robot, for example at several points along the accessory or a link along the accessory, typically extending outwardly relative to the edges of the accessory, link or other part of the robot. In some cases, one or more portions of the cable may sag, sink, or hang from a portion of the robot, at least in some positions and orientations of the robot. In some cases, one or more portions of the cable may change relative position or orientation with respect to a portion of the robot when the portion moves, such as when inertial forces act on the cable or portion thereof. Other structures (e.g., sensors, tri-axial accelerometers) may also be attached to one or more portions of the robot, extending outwardly relative to the edges of the appendages, links, or other portions of the robot. In generating a digital representation of a three-dimensional operating environment based on sensor or sensory data, it may be advantageous to "filter" the robot itself from the digital representa