# US 10,369,693 B1 · Cable suspended robotic system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,369,693 B1
- Document ID: US10369693B1
- Status: Granted
- Kind: B1
- Application number: 15/348,013
- Filed: 2016-11-10
- Granted: 2019-08-06
- Earliest claimed: 2016-11-10
- Assignees: X Development LLC
- Applicants: X Development LLC
- Inventors: Gabriella Levine; Mitchell Heinrich
- Web page: https://patentgrep.com/patent/US10369693B1

## CPC

- B25J 9/104: {with cables, chains or ribbons}
- F16M 11/18: with mechanism for moving the apparatus relatively to the stand
- A01C 7/085: {Broadcast seeders}
- B25J 9/0078: {actuated by cables}
- B25J 9/1666: {Avoiding collision or forbidden zones}
- F16M 11/045: {adapted to left-right translation movement}
- F16M 11/046: {adapted to upward-downward translation movement}
- F16M 11/048: {adapted to forward-backward translation movement}
- F16M 11/32: Undercarriages for supports with three or more telescoping legs
- F16M 11/42: with arrangement for propelling the support {stands on wheels}
- F16M 11/425: {along guiding means}
- F16M 13/022: {repositionable}
- A01C 14/00: Methods or apparatus for planting not provided for in other groups of this subclass
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- F16M: FRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
- A01C: PLANTING; SOWING; FERTILISING (parts, details or accessories of agricultural machines or implements, in general A01B51/00 - A01B75/00)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for obtaining a three-dimensional (3D) model of an operating volume for a cable-suspended robotic system, where the operating volume is defined, at least in part, by a plurality of cable support structures. Identifying a cable positioned device suspended from a plurality of cables and an object that obstructs a path of the cable positioned device within the operating volume within the 3D model. Locating the cable positioned device relative to the object using the 3D model. Controlling one or more cable motors to navigate the cable positioned device within the operating volume.

## Claims

### Claim 1

A computer-implemented method executed by one or more processors, the method comprising:
obtaining a three-dimensional (3D) model of an operating volume for a cable-suspended robotic system, the operating volume defined at least in part by a plurality of cable support structures, wherein the 3D model comprises a mathematical coordinate system representing the operating volume;
identifying, within the 3D model, a position of a cable positioned device suspended from a plurality of cables;
determining, based on data from one or more sensors, a location of an object that obstructs a path of the cable positioned device within the operating volume;
determining the position of the cable positioned device relative to the object by correlating the location of the object within the operating volume to coordinates of the 3D model; and
controlling one or more cable motors to navigate the cable positioned device within the operating volume.

### Claim 2 (depends on 1)

The method of claim 1, wherein controlling one or more cable motors to navigate the cable positioned device within the operating volume comprises controlling one or more cable motors to navigate the cable positioned device within the operating volume while avoiding a collision between the cable positioned device and the object.

### Claim 3 (depends on 1)

The method of claim 1, wherein controlling one or more cable motors to navigate the cable positioned device within the operating volume comprises controlling one or more cable motors to navigate the cable positioned device within the operating volume while avoiding a collision between at least one of the plurality of cables and the object.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining a position of the cables based on a position of the cable positioned device.

### Claim 5 (depends on 1)

The method of claim 1, wherein obtaining the 3D model comprises generating a 3D model of an operating volume based on images of the operating volume.

### Claim 6 (depends on 1)

The method of claim 1, wherein obtaining the 3D model comprises generating a 3D model of an operating volume based on ranging data of ranges between the cable support structures.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining that the path for the cable positioned device will result in collision with the object; and
modifying the path of the cable positioned device to avoid the object, wherein a modified path is generated.

### Claim 8 (depends on 7)

The method of claim 7, wherein controlling the one or more cable motors to navigate the cable positioned device comprises controlling the one or more cable motors to navigate the cable positioned device along the modified path to perform an action with the cable positioned device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the cable support structures are mobile cable support structures that can be controlled to move independently of each other to reconfigure the operating volume, the method further comprising:
controlling at least one of the cable support structures to move to a new position; and
obtaining a second 3D model of the operating volume in response to the at least one of the cable support structures having been moved.

### Claim 10 (depends on 1)

The method of claim 1, wherein the operation volume is defined by relative positions of the cable support structures and operational limits of the cable-suspended robotic system.

### Claim 11 (depends on 10)

The method of claim 10, wherein lateral dimensions of the operating volume are defined by relative positions of the cable support structures and vertical dimensions of the operating volume are defined by operational constraints of the cables.

### Claim 12 (depends on 1)

The method of claim 1, wherein obtaining the 3D model comprises loading a previously generated 3D model of the operating volume.

### Claim 13 (depends on 1)

The method of claim 1, further comprising detecting a user input to move the cable positioned device to a new location based on receiving data indicating changes in tension in one or more of the plurality of cables.

### Claim 14

A cable-suspended robotic system comprising:
a plurality of spools, each spool containing deployable cable;
at least one spool motor coupled to each spool of deployable cable, each spool motor coupled to a respective motor controller;
a cable positioned device coupled to one end of each of the deployable cables; and
a control system in communication with the motor controllers, the control system comprising one or more processors and a data store coupled to the one or more processors having instructions stored thereon which, when executed by the one or more processors, causes the one or more processors to perform operations comprising:
obtaining a three-dimensional (3D) model of an operating volume for the cable positioned device, the operating volume defined at least in part by a plurality of cable support structures, wherein the 3D model comprises a mathematical coordinate system representing the operating volume;
identifying, within the 3D model, a position of the cable positioned device suspended from the deployable cables;
determining, based on data from one or more sensors, a location of an object that obstructs a path of the cable positioned device within the operating volume;
determining the position of the cable positioned device relative to the object by correlating the location of the object within the operating volume to coordinates of the 3D model; and
controlling one or more of the motor controllers to navigate the cable positioned device within the operating volume.

### Claim 15 (depends on 14)

The system of claim 14, wherein controlling one or more of the motor controllers to navigate the cable positioned device within the operating volume comprises controlling one or more of the motor controllers to navigate the cable positioned device within the operating volume while avoiding a collision between the cable positioned device and the object.

### Claim 16 (depends on 14)

The system of claim 14, wherein the operations further comprise determining a position of the deployable cables based on a position of the cable positioned device.

### Claim 17 (depends on 14)

The system of claim 14, wherein obtaining the 3D model comprises generating a 3D model of an operating volume based on ranging data of ranges between the cable support structures.

### Claim 18 (depends on 14)

The system of claim 14, wherein the operations further comprise:
determining that the path for the cable positioned device will result in collision with the object; and
modifying the path of the cable positioned device to avoid the object, wherein a modified path is generated.

### Claim 19 (depends on 18)

The system of claim 18, wherein controlling the one or more of the motor controllers to navigate the cable positioned device comprises controlling the one or more of the motor controllers to navigate the cable positioned device along the modified path to perform an action with the cable positioned device.

### Claim 20

A non-transitory computer readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
obtaining a three-dimensional (3D) model of an operating volume for a cable-suspended robotic system, the operating volume defined at least in part by a plurality of cable support structures, wherein the 3D model comprises a mathematical coordinate system representing the operating volume;
identifying, within the 3D model, a position of a cable positioned device suspended from a plurality of cables;
determining, based on data from one or more sensors, a location of an object that obstructs a path of the cable positioned device within the operating volume;
determining the position of the cable positioned device relative to the object by correlating the location of the object within the operating volume to coordinates of the 3D model; and
controlling one or more cable motors to navigate the cable positioned device within the operating volume.
