# US 9,751,213 B2 · System and method for robot operating environment discovery

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

- Number: US 9,751,213 B2
- Document ID: US9751213B2
- Status: Granted
- Kind: B2
- Application number: 14/714,489
- Filed: 2015-05-18
- Published: 2016-11-24
- Granted: 2017-09-05
- Earliest claimed: 2015-05-18
- Assignees: Ross Video Limited
- Applicants: Ross Video Limited
- Inventors: Neil Webster
- Web page: https://patentgrep.com/patent/US9751213B2

## CPC

- B25J 9/1638: {compensation for arm bending/inertia, pay load weight/inertia}
- B25J 5/02: travelling along a guideway
- B25J 9/162: {Mobile manipulator, movable base with manipulator arm mounted on it}
- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- B25J 18/04: rotatable
- H04N 5/222: Studio circuitry; Studio devices; Studio equipment (cameras or camera modules comprising electronic image sensors, or control thereof H04N23/00)
- Y10S 901/02: Arm motion controller
- 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})
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A method of accommodating a payload and determining a working environment in a robotic system is disclosed. The method is directed to using a motor current measurement taken at the axis motors of a robotic system to calculate various parameters including payload balance, mass, moment of inertia, friction force and traction force. This measurement is based on the known relationship between motor current and motor torque.

## Claims

### Claim 1

A method of determining at least one operating characteristic of a robotic system, wherein the robotic system comprises a motor for driving motion of a payload about an axis of rotation, the method comprising:
determining a location of a center of mass of the payload by:
controlling the motor to hold the payload static in at least three angular positions, and for each position determining a respective torque applied by the motor to hold the payload static; and
determining a residual center of mass offset angle and a distance of the center of mass from the axis of rotation based on the determined torques.

### Claim 2 (depends on 1)

The method of claim 1 wherein controlling the motor to hold the payload static in at least three angular positions, and for each position determining a respective torque applied by the motor to hold the payload static comprises:
controlling the motor to move the payload to first and second angular positions, and measuring corresponding first and second torques;
controlling the motor to move the payload to a third angular position about the axis of rotation that is the opposite of the residual center of mass offset angle such that the center of mass is horizontally positioned relative to the axis of rotation and measuring a third torque applied to the motor to hold the payload static;
wherein determining a residual center of mass offset angle and a distance of the center of mass from the axis of rotation based on the determined torques comprises:
determining the residual center of mass offset angle from the determined first torque and second torque; and
determining a distance of the center of mass from the axis of rotation based on the third torque.

### Claim 3 (depends on 1)

The method of claim 1 wherein the motor drives motion in a tilt axis.

### Claim 4 (depends on 1)

The method of claim 1 wherein said payload comprises a video camera.

### Claim 5 (depends on 1)

The method of claim 1 wherein said payload comprises a sensor.

### Claim 6 (depends on 1)

The method of claim 1 further comprising determining a moment of inertia of a rotatable part of the robotic system about the axis of rotation, wherein said robotic system comprises the rotatable part by:
controlling the motor to apply at least two known torques;
for each applied torque, measuring a respective angular acceleration at said known torque while said rotatable part is in motion; and
determining the moment of inertia from the known torques and the angular acceleration measurements.

### Claim 7 (depends on 6)

The method of claim 6 further comprising adjusting control of the robotic system based on the moment of inertia.

### Claim 8 (depends on 6)

The method of claim 6 further comprising flagging a moment of inertia determined to be above a predetermined threshold.

### Claim 9 (depends on 6)

The method of claim 6 wherein determining angular acceleration comprises obtaining position information from an encoder that encodes position at the output of the motor, and converting the position information to acceleration.

### Claim 10 (depends on 6)

The method of claim 6 performed to determine the moment of inertia about a tilt axis or pan axis or a tilt axis and pan axis of a pan tilt head.

### Claim 11 (depends on 6)

The method of claim 6 for use with a robotic system having a vertical column and a lift motor, the column having a head carrying a payload, the method further comprising:
controlling the lift motor to apply at least two known motor forces to the vertical column, forming part of the robotic system;
for each applied force, measuring a respective linear acceleration that results from application of the force; and
using the measured linear accelerations and the applied forces to determine a combined mass of the head, payload and moving part of column.

### Claim 12 (depends on 11)

The method of claim 11 further comprising subtracting a head mass and a column mass from the combined mass to get a mass of the payload.

### Claim 13 (depends on 11)

The method of claim 11 wherein each force is determined from a current applied to the lift motor, and each linear acceleration of the column is determined from position information encoded by an encoder at an output of the lift motor.

### Claim 14

A method in an apparatus comprising a lift motor that lifts a column carrying a head and payload, with passive struts that assist the motor, the method comprising:
controlling the lift motor to sequentially raise the column to a plurality of vertical positions and to hold the column steady while in each of the plurality of vertical positions;
for each vertical position, determining a force applied by the lift motor to hold the column steady; and
determining strut force as a function of vertical position based on the determined motor force and a combined mass of the column, head and payload.

### Claim 15 (depends on 11, 14)

The method of claim 14 further comprising determining the combined mass using the method of claim 11.

### Claim 16 (depends on 14)

The method of claim 14 wherein determining strut force as a function of vertical position comprises determining
Fs(z)=mg−Fm(z)
where Fs(z) is the strut force at vertical position z, m is the combined mass, g is the force of gravity, and Fm(z) is motor force at position z.

### Claim 17 (depends on 14)

The method of claim 14 further comprising:
generating a report containing strut force and motor holding force as a function of vertical position.

### Claim 18 (depends on 14)

The method of claim 14 further comprising determining if any determined strut force is outside a predetermined range, and if so, generating an output indicating this.

### Claim 19

A method for determining holding force F0 and static friction force Ffs about an axis of a robotic system, the method comprising:
for each of at least one position:
controlling the motor to generate a force that holds the axis steady in the position;
gradually increasing force until movement is detected in a positive direction and storing a value Fu representing the force when movement is detected;
returning to the position and gradually reducing force until movement is detected in a negative direction and storing a second value F1 representing the force when movement is detected;
determining the holding force and static friction force based on the first and second value according to:
F
0
=
F
u
+
F
l
2
and
F
fs
=
F
u
-
F
l
2
.

### Claim 20 (depends on 19)

The method of claim 19 used to determine track characteristics of a track used by a robotic system having at least one motorized wheel running on the track.

### Claim 21 (depends on 19)

The method of claim 19 further wherein the at least one position comprises a plurality of positions, the method further comprising automatically controlling the robotic system to move to each of the plurality of positions and determining the holding force and static friction for each of the plurality of positions.

### Claim 22 (depends on 19)

The method of claim 19 further comprising for each of at least one track position:
after friction force is reached at that position, applying additional force;
monitoring wheel speed or motor speed along with robot speed while the additional force is applied;
increasing the additional force applied until the wheel speed or motor speed is not consistent with robot speed; and
determining a traction force to be the force being applied when the wheel speed or motor speed is not consistent with robot speed.

### Claim 23

A method for determining track characteristics of a track used by a robotic system having at least one motorized wheel running on the track, the method comprising:
moving the robot along the track at a velocity vc;
as the robot changes position on the track, monitoring wheel velocity as a function of position;
determining track positions where the wheel velocity is above a wheel velocity consistent with the velocity vc by a threshold amount as positions where there is a loss of traction on the track; and
determining track positions where the wheel velocity is below a wheel velocity consistent with the wheel velocity consistent with the velocity vc by a threshold amount as positions that are binding points on the track.

### Claim 24

A robotic control system for use with a robotic system comprising an actuator that causes motion in an axis, the robotic control system comprising:
a transmit channel for sending control commands to the actuator;
a receive channel for receiving information from the robotic system;
a robotic environment characterization controller that, for each of at least one operating characteristic of the robotic system:
controls the actuator to perform a predetermined sequence of steps by sending control commands on the transmit channel;
receives measurement information on the receive channel following performance of each step of said predetermined sequence of steps; and
based on the received measurements, determines the operating characteristic of the robotic system.

### Claim 25 (depends on 24)

The system of claim 24 comprising:
a controller area network bus that implements the receive channel and the transmit channel.
