Robotic devices for operation on fixed frames

Robotic devices with multi-degree-of-freedom joints and end effectors can climb and traverse on fixed frames, solving the problems of speed and efficiency limitations in existing technologies. This enables safe and efficient object picking and placement, adapts to the expansion of storage facilities, and works in conjunction with existing equipment.

CN116833981BActive Publication Date: 2026-03-06GOOGLE LLC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202310900428.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-16
Filing Date
2020-08-14
Publication Date
2026-03-06
Estimated Expiration
2040-08-14

AI Technical Summary

Technical Problem

In existing technologies, on-wheel industrial automation robots and overhead systems are limited by passageways and pre-installed structures in large storage facilities, resulting in limited speed and efficiency, safety hazards, and high installation and maintenance costs.

Method used

A robot device with multiple degrees of freedom joints is used to climb and traverse a fixed frame through rigid body sections and end effectors. It obtains power through an electric coupler and operates in coordination with a control system to pick up and place objects.

Benefits of technology

Robotic devices can safely and efficiently traverse fixed frames, adapt to the expansion of storage facilities, reduce the risk of collisions with humans and other objects, simplify infrastructure layout, and work collaboratively with existing equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116833981B_ABST
    Figure CN116833981B_ABST
Patent Text Reader

Abstract

This disclosure relates to a robotic device for operating on a fixed frame. One robotic device includes a plurality of rigid body segments that move relative to each other via one or more multi-degree-of-freedom joints. The robotic device is capable of traversing the fixed frame by attaching its distal end to the frame and moving the rigid body segments relative to each other.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Case Analysis

[0002] This application is a divisional application of Chinese invention patent application 202010817737.8, filed on August 14, 2020. Technical Field

[0003] This manual relates to robotic devices. Background Technology

[0004] Large storage facilities such as warehouses and data centers typically employ various forms of robotic automation for material handling and processing. However, these facilities represent vast spaces spanning thousands of square meters. The structure of aisles and walkways limits the speed at which conventional wheeled industrial automation robots can move from one location to another. The need to navigate within existing aisles (designed for human movement within these facilities) restricts the speed of conventional robots, which in turn limits the number of machines and racks they can serve. Additionally, robots operating at floor level often pose safety hazards due to the potential for collisions with other stationary objects or people.

[0005] As another form of robotic automation, gantry robots operating elevated systems above floor level mitigate some of the drawbacks, but are limited in both the size of the accessible work area and the efficiency of operation within those areas, as their movement is restricted by the pre-installed gantry. Furthermore, the installation and maintenance of elevated systems require significant additional capital investment. Summary of the Invention

[0006] This specification describes techniques relating to robotic devices having multi-degree-of-freedom joints capable of traversing a fixed frame. Generally, an innovative aspect of the subject matter described herein can be embodied in methods performed by the robotic device, including actions that move multiple rigid body segments relative to each other via one or more multi-degree-of-freedom joints, wherein: each rigid body segment has a pair of first and second distal portions disposed opposite to each other along the rigid body segment; each rigid body segment defines a longitudinal axis extending along the length of the rigid body segment and intersecting each of the first and second distal portions; and each multi-degree-of-freedom joint directly couples the corresponding pair of rigid body segments; a first end effector is connected to the first distal portion of the first rigid body segment, wherein the first rigid body segment's... The second distal portion is connected to a multi-degree-of-freedom joint; the second end effector is connected to the first distal portion of the second rigid body segment, wherein the second distal portion of the second rigid body segment is connected to the multi-degree-of-freedom joint; wherein: each of the first and second end effectors is configured to be attached to a fixed frame and also configured to be attached to a movable object; and one or more multi-degree-of-freedom joints and the first and second end effectors are operated cooperatively to cause the robot device to traverse the fixed frame by alternating attachment of the first and second end effectors to the fixed frame, and to pick up and place the movable object at a target position relative to the fixed frame.

[0007] These methods may further include: receiving power from the busbar via a robotic device when a first or second end effector is electrically coupled to the busbar, wherein each of the first and second end effectors includes a corresponding electrical coupler configured to be electrically coupled to the busbar attached to a fixed frame. These methods may further include: receiving control signals generated by a control system of the robotic device. These methods may further include: receiving data generated by one or more environmental sensors describing the position of the robotic device relative to the fixed frame. These methods may further include: receiving data generated by one or more environmental sensors describing the position of a movable object relative to the robotic device. These methods may further include: configuring the robotic device to connect to another robotic device via a first or second end effector coupled to the first or second end effector of the other robotic device; and further configuring the control system to communicate with the control system of the other robotic device and negotiate the role of the robotic device, which is a leader role or a follower role, wherein a leader role causes the control system of the robotic device to control the control system of the other robotic device, and wherein a follower role causes the control system of the robotic device to be controlled by the control system of the other robotic device.

[0008] Other embodiments of this aspect include corresponding systems, apparatuses, and computer programs configured to perform actions of the method, which are encoded on a computer storage device.

[0009] This specification enables specific implementations of the subject matter described to achieve one or more of the following advantages: The robotic device can traverse various fixed frames with minimal risk of collision with humans and other objects, thereby simplifying the infrastructure layout required for additional floor-moving robots and gantry robots. When utilizing the framework of a facility, the robotic device can adapt to storage facilities as their size increases. Furthermore, the robotic device can be deployed in virtually any existing storage and manufacturing environment to work collaboratively with humans and other existing industrial automation equipment such as gantry robots, wheeled mobile robots, etc.

[0010] Details of one or more embodiments of the subject matter described in this specification are set forth in the following drawings and description. Other features, aspects, and advantages of the subject matter will become apparent from the specification, drawings, and claims. Attached Figure Description

[0011] Figure 1A and Figure 1B This illustrates an example environment in which the robotic device operates.

[0012] Figure 2 yes Figure 1A and Figure 1B A side view of the robotic device.

[0013] Figure 3 yes Figure 1A and Figure 1B A top view of an example embodiment of the end effector of a robotic device.

[0014] Figure 4 Showing the operation Figure 1A and Figure 1B A flowchart of an example process for a robotic device.

[0015] In the various figures, similar reference numerals and names indicate similar elements. Detailed Implementation

[0016] The specification describes a robotic device capable of traversing fixed frames within a data center and performing pick-and-place operations to move objects stored within those frames. More generally, the robotic device can be implemented in any environment where objects are stored in fixed frames—such as a warehouse or data center. By using rigid body segments, multi-degree-of-freedom joints, and end effectors, the robotic device is able to climb and otherwise traverse fixed frames, without being limited to any particular path.

[0017] In operation, a system includes at least one robotic device. The robotic device includes a plurality of rigid body segments, each rigid body segment having a pair of first distal portions and second distal portions disposed opposite to each other along the rigid body segment, and each rigid body segment defining a longitudinal axis extending along the length of the rigid body segment and intersecting each of the first distal portions and the second distal portions.

[0018] The robotic device also includes one or more multi-degree-of-freedom joints, wherein each multi-degree-of-freedom joint is directly coupled to a corresponding pair of rigid body segments, such that the corresponding pair of rigid body segments can move relative to each other via the multi-degree-of-freedom joint. In some implementations, the multi-degree-of-freedom joint is a three-degree-of-freedom joint, such as a ball joint.

[0019] The first end effector is connected to the first distal portion of the first rigid body segment. The second distal portion of the first rigid body segment is connected to a multi-degree-of-freedom joint.

[0020] Similarly, the second end effector is connected to the first distal portion of the second rigid body segment. And the second distal portion of the second rigid body segment is connected to a multi-degree-of-freedom joint.

[0021] In an implementation where each of the first and second end effectors is configured to attach to a fixed frame or a movable object, the first and second end effectors are grippers.

[0022] Furthermore, each of the first and second end effectors includes a corresponding electrical coupler configured to be electrically coupled to a busbar attached to a fixed frame, wherein the robot device receives power from the busbar when either the first or second end effector is electrically coupled to the busbar.

[0023] The system also includes a control system that generates control signals and, in response, cooperatively operates one or more multi-degree-of-freedom joints, as well as a first end effector and a second end effector, to enable the robotic device to traverse a fixed frame by being alternately attached to the fixed frame by the first end effector and the second end effector, and to pick up and place movable objects at target locations relative to the fixed frame.

[0024] Optionally, the robot device is configured to connect to another robot device via a first end effector or a second end effector coupled to the first end effector or the second end effector of the other robot device.

[0025] Furthermore, the control system is configured to communicate with the control system of another robotic device and negotiate the role of that robotic device, which is either a leader role or a follower role. In the leader role, the control system of the robotic device controls the control system of the other robotic device, and in the follower role, the control system of the robotic device is controlled by the control system of the other robotic device.

[0026] These features and additional characteristics will be described in more detail below.

[0027] Figure 1A This is a diagram of an example environment 100 in which the following robotic devices can traverse and operate. Example environment 100 may be, for example, a data center where computer infrastructure equipment and devices, such as servers, computers, power supplies, and cables, are stored.

[0028] Example environment 100 includes a fixed frame 120. The fixed frame 120 is a rigid architecture capable of storing multiple components within the frame, such as tracks, racks, shelves, and other movable objects, including humans. The fixed frame 120 can also be used to define an absolute reference for determining the coordinate positions of all components relative to the frame.

[0029] In some embodiments, the fixed frame 120 includes one or more server rack islands, such as 102, 106, and 110. Server racks can be stacked on top of each other; for example, rack 102A may be located in the bottom shelf volume of the fixed frame; rack 102B may be located on top of 102A; rack 102C may be located on top of 102B; and rack 102D may be located on top of rack 102C. Therefore, rack 102 can be quite tall, for example, over 10 meters. Racks 106 and 110 can be configured similarly.

[0030] Despite Figure 1A The image depicts only three server racks, but the mounting frame 120 can include more. The mounting frame 120 also includes one or more busbars, such as 122, 126, and 130, which distribute power to the server racks. The busbars are metal strips or bars that can optionally be surrounded by insulating material for protection and supply power to the servers within the server racks. Although... Figure 1A As depicted, a single busbar is associated with each server rack, but the fixed frame 120 may include more or fewer busbars. That is, depending on the actual power consumption of the server, the busbar is capable of distributing power to one or more server racks.

[0031] Each server rack island can be as high as the ceiling of environment 100 and can store one or more movable objects at various locations within the rack. Each of these movable objects can be, for example, a server, a computer, etc. Figure 1A As shown, 112, 114 and 116 are examples of these movable objects that will be placed in racks 102, 106 and 110, for example, during maintenance operations.

[0032] Robotic device 200 operates within environment 100. (See below for details...) Figure 2 In more detail, the robotic device 200 includes multiple rigid body segments, one or more multi-degree-of-freedom joints, and a pair of end effectors.

[0033] In an example implementation of the robot device 200 operating to pick up a movable object 112, such as Figure 1A As depicted, the robotic device 200 can initially be in a configuration in which it is attached to the fixed frame 120 using a first end effector attached to a busbar 122 associated with the server rack 102.

[0034] As will be discussed below Figure 4 In more detail, the robot device 200 traverses the fixed frame 120 by alternately attaching a first end effector and a second end effector to the fixed frame, i.e., different server racks.

[0035] Now for reference Figure 1B The robotic device 200 uses a second end effector to attach to a busbar 126 associated with a server rack 106, which can be positioned very close to a movable object 112.

[0036] The robot device 200 then uses a first end effector to pick up the movable object 112, which is now released without being attached to the busbar 122. At this point, the robot device 200 has completed the example operation of picking up the movable object 112. As a possible next operation, the robot device 200 may place the object 112 at different locations on a server rack or at a floor level.

[0037] Figure 2 yes Figure 1A and Figure 1B A side view of the robot device 200. The robot device 200 is in... Figure 1A and Figure 1B An example of a robotic device operating in environment 100.

[0038] The robotic device 200 includes multiple rigid body segments, such as 210A-C. Each rigid body segment has a pair of first distal portions and second distal portions disposed opposite to each other along the rigid body segment. Each rigid body segment defines a longitudinal axis that extends along the length of the rigid body segment and intersects each of the first and second distal portions. The length and cross-sectional perimeter of the rigid body segments can be of any size suitable for the robotic device 200 to perform certain tasks.

[0039] The robot device 200 includes one or more multi-degree-of-freedom joints, such as 212 and 214. Each multi-degree-of-freedom joint is directly coupled to a corresponding pair of rigid body segments, such that the corresponding pair of rigid body segments can move relative to each other via the multi-degree-of-freedom joint. Each joint can be, for example, a one-, two-, or three-degree-of-freedom joint. Typically, joints with higher degrees of freedom allow the robot device 200 greater flexibility in positioning the rigid body segments.

[0040] The robotic device also includes a pair of end effectors, such as 230A and 230B, which are connected to the respective ends of certain rigid body segments. Typically, the end effector can be any suitable tool or device that enables the robotic device 200 to perform certain tasks by interacting with the environment. For example, if the task is an object handling task, the end effector could be a force-closing end effector, i.e., a gripper, which can be configured to attach to a fixed frame and a movable object. As another example, if the task is a material removal task, the end effector could be a cutting, drilling, or deburring tool. As yet another example, if the task is an environmental measurement task, the end effector could be an environmental sensor, such as a camera, ultrasonic sensor, etc.

[0041] Despite Figure 2 The diagram depicts three rigid body segments, but the robot device 200 may include more or fewer rigid body segments. Therefore, more or fewer multi-degree-of-freedom joints may be needed to couple certain pairs of rigid body segments.

[0042] In particular, Figure 2 In the example robot device 200 depicted, a first rigid body segment 230A includes a first distal portion 242 and a second distal portion 244. The first distal portion 242 is connected to a first end effector 230A, while the second distal portion 244 is connected to a multi-degree-of-freedom joint 212. Similarly, a second rigid body segment 210B includes a first distal portion 246 connected to a second end effector 230B and a second distal portion 248 connected to a multi-degree-of-freedom joint 214. A third rigid body segment 210C includes a first distal portion 252 connected to a multi-degree-of-freedom joint 212 and a second distal portion 254 connected to a multi-degree-of-freedom joint 214.

[0043] In this particular example, both end effectors 230A and 230B are grippers that can be configured to attach to a fixed frame or a movable object. Both multi-degree-of-freedom joints 212 and 214 are three-degree-of-freedom joints, i.e., ball joints. Furthermore, as will be discussed below regarding... Figure 3 In more detail, the gripper includes an electrical coupler capable of electrically coupling to a power source within the fixed frame—that is, a busbar—and receiving power from that power source.

[0044] Additionally, the robot device 200 includes at least one battery, a control system including a data processing device, and optionally a sensor. In some embodiments, the entire robot device 200 is powered by a single battery and controlled by a control system that receives data from one or more sensors. That is, only a portion of the rigid body sections 210A-C includes the battery, the control system, and the sensor.

[0045] Instead, in Figure 2 In the example robotic device 200 depicted, each of the rigid body segments 210A-C includes a battery, a control system, and two sensors. Although Figure 2 An embodiment is depicted in which two sensors are physically associated with each rigid body segment, but there may be more or fewer sensors associated with each rigid body segment. For example, an example with remote sensors that wirelessly data communicate with one or more control systems of the robot device 200 is an example in which no sensors are physically associated with each rigid body segment.

[0046] As an example of a rigid body segment, rigid body segment 210A includes: a control system 270 that generates control signals for operating a first end effector 230A and a three-degree-of-freedom joint 212; a battery 280 that supplies power to the end effector 230A and the joint 212; and two sensors 242 and 244 that provide measurement data to the control system 270.

[0047] Specifically, the sensor can be an environmental sensor that generates measurement data of the environment. For example, the data can describe the coordinate position of the robot device 200 relative to the fixed frame. As another example, the data can describe the coordinate position of other components stored within the fixed frame—such as movable objects, other robot devices, and humans—relative to the robot device 200.

[0048] The generated data is then provided to the corresponding control system. Based on the received data, each control system is able to generate control signals to the corresponding actuators and motors, and in response, cooperatively operate one or more multi-degree-of-freedom joints, as well as a first end effector and a second end effector, so that the robot device 200 traverses a fixed space by being alternately attached to a fixed frame by the first end effector and the second end effector, and picks up and places movable objects at target positions relative to the fixed frame.

[0049] In some implementations where two or more robot devices 200 exist, one robot device 200 can be configured to connect to another robot device 200 via a first end effector 230A or a second end effector 230B coupled to the first end effector 230A or the second end effector 230B of the other robot device 200. In this implementation, the control system (e.g., 270) is also configured to communicate with the control system of the other robot device 200 and negotiate the role of the robot device 200. This role can be a leader role or a follower role. A leader role causes the control system of the robot device 200 to control the control system of the other robot device 200. Alternatively, a follower role causes the control system of the robot device 200 to be controlled by the control system of the other robot device 200.

[0050] In this implementation, the connected robotic device can be similarly configured to connect to another robotic device 200. In this way, some or all of the two or more existing robotic devices 200 can be configured to connect to each other and become a single connected robotic device.

[0051] Figure 3 yes Figure 1A and Figure 1B A top view of an example embodiment of the end effector of the robotic device 200. The end effector may be... Figure 2 Any one of the end effectors 230A-B in the series. For convenience, [the following will be...] Figure 3 The end effector in the description is the first end effector 230A.

[0052] Typically, the end effector 230A is a gripper with an electrical coupler. Although the 302A-C conceptually depicts a three-finger gripper, grippers can have more or fewer fingers. For example, a vacuum gripper that uses a suction cup to attach to an object is a gripper without fingers.

[0053] The electrical coupler is configured to electrically couple to a power source. For example, when the end effector 230A is attached to a non-insulated portion of the busbar, the electrical coupler allows the end effector 230A to be electrically coupled to the busbar and subsequently receive power from the busbar. The received power can then be used to charge one or more batteries on the robot device, i.e., using electronic circuitry (not shown). By ensuring that the loaded batteries can be charged while the robot device is operating, thereby reducing downtime due to battery recharging, the electrical coupler expands the operating window of the robot device.

[0054] As a specific example of an electrical coupler, electrical coupler 310 includes a left accessory 312 that receives power and a right accessory 314 connected to the neutral line. In this specific example, pairs of accessories are placed along the busbar, wherein one accessory is connected to a non-insulated portion of the busbar, while the other accessory is connected to the neutral line.

[0055] Figure 4 Showing the operation Figure 1A and Figure 1B A flowchart of an example process 400 of a robotic device 200. For convenience, process 400 is described as being performed by a robotic device, for example... Figure 1A and Figure 1B The robot device 200 performs the operation.

[0056] In some implementations, the robotic device repeatedly performs each step 402-408 of process 400, individually or in combination, to perform certain tasks. For example, the task could be an object pickup and placement task. The task could specify that the robotic device must pick up a movable object from an initial position and then place the object at a target position.

[0057] As a starting step, the robotic device moves multiple rigid body segments (402). Specifically, the movement of the multiple rigid body segments is caused by rotating three-degree-of-freedom joints, each of which is directly coupled to a pair of rigid body segments. Each joint may include an actuator that, upon receiving a control signal generated by a corresponding control system, rotates the joint to a certain orientation, which in turn moves the rigid body segments to certain positions.

[0058] The robotic device attaches a first end effector to the first distal portion (404) of a first rigid body segment. The end effector—i.e., a gripper—allows the robotic device to attach to a fixed frame or a movable object. In some cases, attaching the end effector to the distal portion of the rigid body segment can be performed in conjunction with an end effector alteration system.

[0059] Similar to the previous steps, the robotic device attaches a second end effector to the first distal portion (406) of the second rigid body segment. The robotic device is then able to traverse and operate within the fixed frame using at least one of the end effectors attached to the fixed frame.

[0060] The robotic device cooperatively operates one or more multi-degree-of-freedom joints, as well as a first end effector and a second end effector (408). Typically, the cooperative operation of the joints and end effectors is caused by corresponding actuators and motors receiving control signals generated by one or more control systems.

[0061] For example, if the control system uses inverse kinematics and determines that the object is outside the robot's range of motion based on received sensor data describing the object's initial position relative to the robot device, the control system generates a control signal and causes the robot device to move toward the object by traversing the fixed frame. Specifically, the control system causes the robot device to traverse the fixed frame by alternately attaching a first end actuator and a second end actuator to the fixed frame.

[0062] As another example, if the control system determines that the object to be picked up is within the range of motion of the robot device, the control system generates control signals to attach the first end effector to the object and to keep the second end effector attached to the fixed frame.

[0063] As another example, after picking up an object, if the control system also determines that the target location for placing the object is within the movement range of the robot device, the control system generates a control signal to cause the robot device to place the object at the target location and release the attachment of the end effector that is attached to the object.

[0064] As another example, the control system determines that a single robotic device cannot perform object pickup and placement tasks, for example, by determining that the location for placing the object is outside the robotic device's range of motion after the robotic device has picked up an object using an end effector. In this example, the control system of the robotic device is also able to determine that the robotic device needs to be coupled to another robotic device existing within the same fixed frame via a first or second end effector. The control system is also configured to communicate with the control system of the other robotic device and negotiate the role of the robotic device. This role can be a leader role or a follower role. A leader role allows the control system of the robotic device to control the control system of the other robotic device. Alternatively, a follower role allows the control system of the robotic device to be controlled by the control system of the other robotic device.

[0065] The connected robotic device, now with a greater range of motion, then continues to perform the object picking and placing task, i.e., following a similar example as described above. More specifically, upon receiving a corresponding control signal, the connected robotic device is able to (i) use a first end effector to attach to the object while using a second end effector to maintain attachment to the fixed frame, or (ii) cooperatively operate multi-degree-of-freedom joints to traverse the fixed frame.

[0066] The embodiments of the subject matter and operation described in this specification can be implemented using digital electronic circuits or computer software, firmware, or hardware—including the structures disclosed in this specification and their equivalents—or a combination of one or more of these. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs encoded on a computer storage medium for execution by a data processing apparatus or for controlling the operation of a data processing apparatus; that is, one or more modules of computer program instructions.

[0067] Computer storage media can be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof, or be included therein. Furthermore, while computer storage media is not a propagating signal, it can be a source or destination of computer program instructions encoded in an artificially generated propagating signal.

[0068] The operations described herein can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources. The term "data processing apparatus" encompasses all kinds of means, devices, and machines for processing data, including, for example, programmable processors, computers, systems-on-a-chip, or combinations thereof. The apparatus can include special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the apparatus can include code that creates an execution environment for the computer program, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or one or more combinations thereof. The apparatus and execution environment can implement various different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0069] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language (including compiled or interpreted languages, declarative or procedural languages), and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program can be stored as a part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to said program, or in multiple coordinating files (e.g., a file storing portions of one or more modules, subroutines, or code). A computer program can be deployed to execute on a single computer or on multiple computers located at a single site or distributed across multiple sites and interconnected by a communication network.

[0070] The processes and logic flows described in this specification can be executed by one or more programmable processors executing one or more computer programs to perform actions by manipulating input data and generating output. The processes and logic flows can also be executed by dedicated logic circuits, and the devices can also be implemented as dedicated logic circuits, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits).

[0071] As an example, processors suitable for executing computer programs include both general-purpose microprocessors and special-purpose microprocessors, as well as any one or more processors in any kind of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory, or both. Essential components of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data—such as disks, magneto-optical disks, or optical disks—or be operatively coupled to receive data from or transfer data to or from such mass storage devices, or both. However, a computer does not necessarily have to have such devices. Furthermore, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory can be supplemented by dedicated logic circuitry or incorporated into dedicated logic circuitry.

[0072] While this specification contains many details of specific implementations, these should not be construed as limiting any feature or potentially claimed scope, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of individual embodiments in this specification can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented individually in multiple embodiments or in any suitable sub-combination. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed in this way, it is possible in some cases to remove one or more features from the claimed combination, and the claimed combination may be for sub-combinations or variations thereof.

[0073] Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in sequential order, or requiring all illustrated operations to achieve the desired result. In some cases, multitasking and parallel processing can be advantageous. Furthermore, the separation of various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0074] Therefore, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific order or sequence shown to achieve the desired result. In some implementations, multitasking and parallel processing can be advantageous.

Claims

1. A data center system, comprising: a fixed frame including a plurality of shelves, and each shelf having a server rack including a plurality of servers within; a busbar attached to the fixed frame; and a robotic device, comprising: a plurality of rigid body segments, each rigid body segment having a pair of first and second distal portions disposed opposite one another along the rigid body segment, and each rigid body segment defining a longitudinal axis extending along a length of the rigid body segment and intersecting each of the first and second distal portions, each rigid body segment being directly connected to another rigid body segment by a multi-degree-of-freedom joint forming a respective pair of rigid body segments such that the respective pair of rigid body segments moves relative to one another through the multi-degree-of-freedom joint, wherein each multi-degree-of-freedom joint is a spherical joint; a first end effector connected to a first distal portion of a first rigid body segment, wherein a second distal portion of the first rigid body segment is connected to a multi-degree-of-freedom joint; and a second end effector connected to a first distal portion of a second rigid body segment, wherein a second distal portion of the second rigid body segment is connected to a multi-degree-of-freedom joint; wherein: each of the first and second end effectors is configured to attach to a fixed frame and is further configured to attach to a server; and a control system generating control signals and cooperatively operating the one or more multi-degree-of-freedom joints and the first and second end effectors in response to cause the robotic device to traverse the fixed frame by alternately attaching to the fixed frame by the first and second end effectors and to pick up and place the servers at target locations relative to the fixed frame; and at least one of the first and second end effectors includes an electrical coupler configured to electrically couple to the busbar attached to the fixed frame of a storage facility, wherein, when so electrically coupled to the busbar, the robotic device receives electrical power from the busbar.

2. The data center system of claim 1, the robotic device further comprising: one or more environmental sensors generating data describing a position of the robotic device relative to the fixed frame. the one or more environmental sensors further generating data describing a position of the server relative to the robotic device.

3. The data center system of claim 2, wherein, each multi-degree-of-freedom joint is a three-degree-of-freedom joint.

4. The data center system of claim 1, wherein, the plurality of rigid body segments includes at least three rigid body segments.

5. The data center system of claim 1, wherein, the first and second end effectors are grippers.

6. The data center system of claim 1, wherein, 7. The data center system of claim 1, wherein: the robotic device is configured to connect to another robotic device by coupling to a first or second end effector of the other robotic device through the first or second end effector; and ​ The control system is further configured to communicate with a control system of the other robotic device and negotiate a role of the robotic device, the role being a leader role or a follower role, wherein the leader role causes the control system of the robotic device to control the control system of the other robotic device, and wherein the follower role causes the control system of the robotic device to be controlled by the control system of the other robotic device.

8. A system of robotic automation, comprising: a robotic device, comprising: a plurality of rigid body segments, each rigid body segment having a pair of first and second distal portions disposed opposite one another along the rigid body segment, and each rigid body segment defining a longitudinal axis extending along a length of the rigid body segment and intersecting each of the first and second distal portions; one or more multi-degree-of-freedom joints, wherein each multi-degree-of- freedom joint is a spherical joint directly coupling a respective pair of rigid body segments such that the respective pair of rigid body segments moves relative to one another through the multi-degree-of-freedom joint; a first end effector connected to a first distal portion of a first rigid body segment, wherein a second distal portion of the first rigid body segment is connected to a multi-degree-of-freedom joint; and a second end effector connected to a first distal portion of a second rigid body segment, wherein a second distal portion of the second rigid body segment is connected to a multi-degree-of-freedom joint; wherein: each of the first and second end effectors is configured to be attached to a fixed frame and is further configured to be attached to a movable object; and at least one of the first and second end effectors includes an electrical coupler configured to electrically couple to a bus bar attached to the fixed frame, wherein, when so electrically coupled to the bus bar, the robotic device receives electrical power from the bus bar.

9. The system of claim 8, wherein, The fixed frame is a fixed frame of a storage facility that houses the movable object.

10. The system of claim 8, the robotic device further comprising: one or more environmental sensors that generate data describing a position of the robotic device relative to the fixed frame.

11. The system of claim 10, wherein, The one or more environmental sensors further generate data describing a position of the movable object relative to the robotic device.

12. The system of claim 8, wherein, Each multi-degree-of-freedom joint is a three-degree-of-freedom joint.

13. The system of claim 8, wherein, The plurality of rigid body segments includes at least three rigid body segments.

14. The system of claim 8, wherein, The first and second end effectors are grippers.

15. The system of claim 8, wherein: the robotic device is configured to be coupled to another robotic device through a first or second end effector of the other robotic device to connect to the other robotic device; and ​ Also included is a control system that generates control signals and cooperatively operates the one or more multi-degree-of-freedom joints and the first and second end effectors in response to cause the robotic device to traverse the fixed frame by being alternately attached to the fixed frame by the first and second end effectors and to pick up and place the movable object at a target location relative to the fixed frame.

16. The system of claim 15, wherein, The control system is also configured to communicate with a control system of the other robotic device and negotiate a role of the robotic device, the role being a leader role or a follower role, wherein the leader role causes the control system of the robotic device to control the control system of the other robotic device, and wherein the follower role causes the control system of the robotic device to be controlled by the control system of the other robotic device.

17. A method performed by a robotic device, the method comprising: causing a plurality of rigid body segments to move relative to one another by one or more multi-degree-of-freedom joints by signals generated from a control system, wherein: each rigid body segment has a pair of first and second distal portions disposed opposite one another along the rigid body segment; each rigid body segment defines a longitudinal axis that extends along a length of the rigid body segment and intersects each of the first and second distal portions; and each multi-degree-of-freedom joint is a spherical joint that directly couples a respective pair of rigid body segments; connecting a first end effector to a first distal portion of a first rigid body segment, wherein a second distal portion of the first rigid body segment is connected to a multi-degree-of-freedom joint; connecting a second end effector to a first distal portion of a second rigid body segment, wherein a second distal portion of the second rigid body segment is connected to a multi-degree-of-freedom joint; receiving power from a bus bar attached to a fixed frame by the robotic device when the first or second end effector is electrically coupled to the bus bar, wherein each of the first and second end effectors includes a respective electrical coupler configured to electrically couple to the bus bar.

18. The method of claim 17, wherein: each of the first and second end effectors is configured to attach to the fixed frame and is further configured to attach to a movable object; and cooperatively operating the one or more multi-degree-of-freedom joints and the first and second end effectors to cause the robotic device to traverse the fixed frame by being alternately attached to the fixed frame by the first and second end effectors and to pick up and place the movable object at a target location relative to the fixed frame.

19. The method of claim 18, further comprising: receiving, by the control system, data generated by one or more environmental sensors, the data describing a position of the robotic device relative to the fixed frame.

20. The method of claim 18, further comprising: receiving, by the control system, data generated by one or more environmental sensors, the data describing a position of the movable object relative to the robotic device.

21. The method of claim 17, further comprising: configuring the robotic device to connect to another robotic device by coupling to a first end effector or a second end effector of the other robotic device with the first end effector or the second end effector of the robotic device; and further configuring the control system to communicate with a control system of the other robotic device and negotiate a role of the robotic device, the role being a leader role or a follower role, wherein the leader role causes the control system of the robotic device to control the control system of the other robotic device, and wherein the follower role causes the control system of the robotic device to be controlled by the control system of the other robotic device. ​

Citation Information

Patent Citations

  • Serpenting robotic crawler for performing dexterous operations

    US20150081092A1

  • Automated Data Center

    US20160107312A1

  • Robot serviced space facility

    US5145130A

  • Robotic device wich moves by alternately connecting each of its ends to docking stations

    WO2002055271A1

  • Bipedal isotropic lattice locomoting explorer: robotic platform for locomotion and manipulation of discrete lattice structures and lightweight space structures

    WO2018005346A1