# US 10,022,862 B2 · Control-command architecture for a mobile robot using articulated limbs

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

- Number: US 10,022,862 B2
- Document ID: US10022862B2
- Status: Granted
- Kind: B2
- Application number: 15/082,700
- Filed: 2016-03-28
- Published: 2016-10-27
- Granted: 2018-07-17
- Earliest claimed: 2016-03-28
- Assignees: Alderbaran Robotics
- Applicants: Aldebaran Robotics
- Inventors: Julien Serre; Brice Marnier; Jerome Matard
- Web page: https://patentgrep.com/patent/US10022862B2

## CPC

- B25J 9/161: {Hardware, e.g. neural networks, fuzzy logic, interfaces, processor}
- G05B 19/4141: {characterised by a controller or microprocessor per axis}
- G05B 19/4148: {characterised by using several processors for different functions, distributed (real-time) systems (G05B19/4141 takes precedence)}
- G06N 3/008: based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
- G05B 2219/33212: Processor for communication with, evaluation of signals form detector to pc
- G05B 2219/40304: Modular structure
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- 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})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present invention applies to a mobile robot which can have a human appearance and sophisticated functions enabling it to execute missions. To enable communications internal to the robot to be optimized and allow for a versatility that is both physical (possible substitution of parts of the robot) and software (replacement of programs to adapt it to new missions), an architecture with three computer levels is provided. The highest level comprises the intelligence of the robot which generates commands which are transmitted by an intermediate computer to low-level cards which control the sensors and actuators. Communication between the intermediate computer and the low-level cards is managed by at least one specific secure communication protocol.

## Claims

### Claim 1

A mobile robot having articulated limbs, the robot comprising:
a plurality of subsets of sensors and actuators, each subset being controlled by an electronic card, wherein a control function for at least one of the electronic cards is distributed between at least a first computer and a second computer,
said first and second computers are each unique and located on-board said robot,
said first computer is distinct from said second computer and also distinct from said at least one of the electronic cards controlling a subset of sensors and actuators, and
said first computer transmits to said at least one of the electronic cards, command messages for executing functions defined by the second computer,
said transmission being managed by a secure protocol on at least one specific bus, wherein said command messages are configured to cause said mobile robot to perform an action.

### Claim 2 (depends on 1)

The mobile robot of claim 1, wherein the first computer and the electronic cards are also connected by two communication lines.

### Claim 3 (depends on 2)

The mobile robot of claim 2, wherein one of the two communication lines is used to detect operation and the other communication line is used to assign addresses to said electronic cards.

### Claim 4 (depends on 1)

The mobile robot of claim 1, wherein certain functions of the mobile robot are programmed in the first computer, said certain functions managing reflexes of the robot by determining commands for the actuators according to values of certain sensor state variables.

### Claim 5 (depends on 1)

The mobile robot of claim 1, wherein certain configuration data of the mobile robot are stored in a memory managed by the first computer, and said configuration data comprises a list of electronic cards controlled, sensors and actuators commanded by said cards, and operating parameters of said sensors and actuators.

### Claim 6 (depends on 1)

The mobile robot of claim 1, wherein the first computer manages an initialization procedure for at least one of the electronic cards of the robot.

### Claim 7 (depends on 1)

The mobile robot of claim 1, further being configured so that the electronic cards of the robot can be replaced by an equivalent card without modifying the programming of either the first computer or the second computer.

### Claim 8 (depends on 1)

The mobile robot of claim 1, further being configured so that the second computer can be replaced by another equivalent computer without modifying programming of the first computer.

### Claim 9 (depends on 1)

The mobile robot of claim 1, wherein bytes of all of frames according to said secure protocol have a first byte at a value complementing a most significant bit of an address byte and a first byte in every seven bytes contains seven most significant bits of next seven bytes.

### Claim 10 (depends on 1)

The mobile robot of claim 1, wherein said secure protocol includes a simulcast communication mode.

### Claim 11 (depends on 1)

The mobile robot of claim 1, wherein the first computer and the at least one of the electronic cards that it controls are also connected by at least two communication lines, one of which is used to detect operation and the other to assign addresses to said electronic cards.

### Claim 12

A method for controlling a mobile robot, the method comprising: transmitting a plurality of command steps for a plurality of subsets of sensors and actuators, wherein each said subset being controlled by an electronic card, wherein at least one of the plurality of command steps for subsets of sensors and actuators comprises a step of transmitting from a single first computer to at least one of the electronic cards command messages that are defined in a defining step that is executed on a second computer, wherein said single first computer and said single second computer are located on-board said robot and are separate and distinct from one another and from said electronic cards, said transmission being managed by a secure protocol on at least one specific bus, wherein said command messages are configured to cause said mobile robot to perform an action.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first computer and the electronic cards are also connected by two communication lines.

### Claim 14 (depends on 13)

The method of claim 13, wherein one of the two communication lines is used to detect operation and the other communication line is used to assign addresses to said electronic cards.

### Claim 15 (depends on 12)

The method of claim 12, wherein communication between the first computer and the at least one electronic card is managed by a secure protocol on at least one specific bus, wherein said secure protocol includes frames comprising, before bytes of the message, a byte containing at least a destination address and a most significant bit with a chosen value, and after the bytes of the message, at least one byte containing a size of the message and one byte containing a CRC.

### Claim 16 (depends on 15)

The method of claim 15, wherein the bytes of all of the frames according to said secure protocol having a first byte at a value complementing a most significant bit of the address byte and the first bytes of every seven bytes contains the seven most significant bits of the next seven bytes.

### Claim 17 (depends on 12)

The method of claim 12, wherein the step of transmitting command messages to at least one of the electronic cards is performed with a period that is of an order of magnitude of ten milliseconds.

### Claim 18 (depends on 17)

The method of claim 17, wherein servo-control instructions executed by an electronic card between a first command and a second command are extrapolated from preceding commands by extending a command speed variation between a command preceding the first command and said first command.

### Claim 19 (depends on 17)

The method of claim 17, wherein servo-control instructions executed by an electronic card between a first command and a second command are extrapolated from preceding commands by translating a command speed variation between a command preceding the first command and said first command to a servo-control instruction applied between the first and the second commands.

### Claim 20 (depends on 12)

The method of claim 12, wherein the step of defining command messages includes the establishment of a definition of at least one execution date for each command message.

### Claim 21 (depends on 20)

The method of claim 20, wherein time-stamped command values for defining an execution date are calculated by interpolation with periodic sending dates between values just before and values just after.
