# US 10,372,134 B2 · Methods and apparatus to implement nonlinear control of vehicles moved using multiple motors

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

- Number: US 10,372,134 B2
- Document ID: US10372134B2
- Status: Granted
- Kind: B2
- Application number: 15/639,586
- Filed: 2017-06-30
- Published: 2019-01-03
- Granted: 2019-08-06
- Earliest claimed: 2017-06-30
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Rodrigo Aldana Lopez; Jose I. Parra Vilchis; Rafael De La Guardia Gonzalez; David Gomez Gutierrez
- Web page: https://patentgrep.com/patent/US10372134B2

## CPC

- G05D 1/02: Control of position or course in two dimensions
- B64U 10/13: Flying platforms
- G05D 1/00: Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots (drive control systems specially adapted for autonomous road vehicles B60W60/00)
- G05D 1/0202: {specially adapted to aircraft}
- G05D 1/0808: {specially adapted for aircraft}
- G05D 1/0891: {specially adapted for land vehicles}
- G05D 1/101: {specially adapted for aircraft}
- G05D 1/46: Control of position or course in three dimensions [3D]
- B64U 2201/10: autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
- B64U 2201/20: Remote controls
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- B64U: UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR

## Abstract

Methods and apparatus to implement nonlinear control of vehicles moved using multiple motors, apparatus, systems and articles of manufacture are disclosed. An example apparatus includes a logic circuit configured to calculate virtual position control variables for a vehicle moved using multiple motors. The virtual position control variables calculated based on an application of a control law to position information of the vehicle. The control law is derived from a nonlinear model of movement of the vehicle. The logic circuit is configured further to calculate control inputs based on the virtual position control variables. The control inputs are to control the motors to navigate the vehicle along a designated path of movement.

## Claims

### Claim 1

An apparatus comprising a logic circuit configured to:
calculate virtual position control variables for a vehicle moved using multiple motors, the virtual position control variables calculated based on an application of a control law to position information of the vehicle, the control law derived from a nonlinear model of movement of the vehicle; and
calculate control inputs based on the virtual position control variables, the control inputs to control the motors to navigate the vehicle along a designated path of movement.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the position information includes reference position information and measured position information, the logic circuit configured further to calculate reference orientation information based on the virtual position control variables, the reference orientation information and the reference position information corresponding to the designated path of movement for the vehicle.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the logic circuit is configured further to calculate trigonometric values for measured orientation information, the measured orientation information including a measured yaw orientation, a measured pitch orientation, and a measured roll orientation, the reference orientation information calculated based on the measured yaw orientation.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein the trigonometric values for the measured yaw orientation are calculated prior to the trigonometric values for the measured pitch orientation and the measured roll orientation, the trigonometric values for the measured yaw orientation calculated in parallel with the virtual position control variables.

### Claim 5 (depends on 3)

The apparatus of claim 3, wherein the trigonometric values for at least one of the measured pitch orientation or the measured roll orientation are calculated in parallel with calculations of the reference orientation information.

### Claim 6 (depends on 2)

The apparatus of claim 2, wherein the logic circuit is configured further to calculate a total thrust for the vehicle based on the virtual position control variables, the total thrust corresponding to a first one of the control inputs.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the reference orientation information includes a reference pitch orientation and a reference roll orientation, the reference roll orientation calculated using the total thrust.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the reference pitch orientation is calculated before the reference roll orientation, the reference pitch orientation calculated in parallel with calculation of the total thrust.

### Claim 9 (depends on 2)

The apparatus of claim 2, wherein the logic circuit is configured further to calculate virtual orientation control variables for the vehicle based on an application of the control law to the reference orientation information and measured orientation information.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the virtual position control variables are calculated using a first hardware architecture independent of a general-purpose processor, the virtual orientation control variables calculated via a second hardware architecture independent of the general-purpose processor, the first hardware architecture having a same architecture as the second hardware architecture.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein the logic circuit is configured further to generate pulse-width modulated inputs to control the motors of the vehicle based on the control inputs.

### Claim 12 (depends on 1)

The apparatus of claim 1, wherein the vehicle is an unmanned aerial vehicle and the designated path of movement is a trajectory for the unmanned aerial vehicle.

### Claim 13

A non-transitory computer readable medium comprising instructions that, when executed, cause a machine to at least:
calculate virtual position control variables for a vehicle moved using multiple motors, the virtual position control variables calculated based on an application of a control law to position information of the vehicle, the control law derived from a nonlinear model of movement of the vehicle; and
calculate control inputs based on the virtual position control variables, the control inputs to control the motors to navigate the vehicle along a designated path of movement.

### Claim 14 (depends on 13)

The non-transitory computer readable medium of claim 13, wherein the position information includes reference position information and measured position information, the instructions to further cause the machine to calculate reference orientation information based on the virtual position control variables, the reference orientation information and the reference position information corresponding to the designated path of movement for the vehicle.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein the instructions further cause the machine to calculate trigonometric values for measured orientation information, the measured orientation information including a measured yaw orientation, a measured pitch orientation, and a measured roll orientation, the reference orientation information calculated based on the measured yaw orientation.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the trigonometric values for the measured yaw orientation are calculated prior to the trigonometric values for the measured pitch orientation and the measured roll orientation, the trigonometric values for the measured yaw orientation calculated in parallel with the virtual position control variables.

### Claim 17

A method comprising:
calculating virtual position control variables for a vehicle moved using multiple motors, the virtual position control variables calculated based on an application of a control law to position information of the vehicle, the control law derived from a nonlinear model of movement of the vehicle; and
calculating control inputs based on the virtual position control variables, the control inputs to control the motors to navigate the vehicle along a designated path of movement.

### Claim 18 (depends on 17)

The method of claim 17, wherein the position information includes reference position information and measured position information, the method further including calculating reference orientation information based on the virtual position control variables, the reference orientation information and the reference position information corresponding to the designated path of movement for the vehicle.

### Claim 19 (depends on 18)

The method of claim 18, further including calculating trigonometric values for measured orientation information, the measured orientation information including a measured yaw orientation, a measured pitch orientation, and a measured roll orientation, the reference orientation information calculated based on the measured yaw orientation.

### Claim 20 (depends on 19)

The method of claim 19, wherein the trigonometric values for the measured yaw orientation are calculated prior to the trigonometric values for the measured pitch orientation and the measured roll orientation, the trigonometric values for the measured yaw orientation calculated in parallel with the virtual position control variables.

### Claim 21 (depends on 18)

The method of claim 18, further including calculating a total thrust for the vehicle based on the virtual position control variables, the total thrust corresponding to a first one of the control inputs.

### Claim 22 (depends on 18)

The method of claim 18, further including calculating virtual orientation control variables for the vehicle based on an application of the control law to the reference orientation information and measured orientation information.
