# US 12,600,038 B2 · Motion control method and robot

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

- Number: US 12,600,038 B2
- Document ID: US12600038B2
- Status: Granted
- Kind: B2
- Application number: 18/135,673
- Filed: 2023-04-17
- Published: 2024-06-06
- Granted: 2026-04-14
- Earliest claimed: 2022-12-05
- Assignees: Beijing Xiaomi Robot Technology Co., Ltd.
- Applicants: Beijing Xiaomi Robot Technology Co., Ltd.
- Inventors: Guokang Sun; Sheng Cao; Quanbin Xin; Yinghao Gao; Zebang Zhang; Zeyu Ren; Chenguang Sun; Jiajun Zhang; Wenping Guo; Diyun Xiang
- Web page: https://patentgrep.com/patent/US12600038B2

## CPC

- B25J 9/1664: {characterised by motion, path, trajectory planning}
- B25J 9/1679: {characterised by the tasks executed}
- B25J 11/004: {Playing a music instrument}
- B25J 13/003: {by means of an audio-responsive input (audible safety signals B25J19/061)}
- G05B 2219/40411: Robot assists human in non-industrial environment like home or office
- 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)

## Abstract

A motion control method applied to a robot and the robot are provided. The method includes: obtaining a music file to be performed, where the music file includes a plurality of playing times and at least one played musical instrument at each playing time; determining a head position at each playing time according to the at least one played musical instrument at each playing time; and controlling a playing part and a head of the robot to execute a playing action, according to the at least one played musical instrument and the head position at each playing time, to allow a corresponding played musical instrument to generate a sound and allow the head to be in a corresponding head position at each playing time.

## Claims

### Claim 1

A motion control method, comprising:
obtaining, by a robot, a music file to be performed, wherein the music file comprises a plurality of playing times and at least one played musical instrument at each playing time;
determining, by the robot, a head position at each playing time according to the at least one played musical instrument at each playing time; and
controlling, by the robot, a playing part and a head of the robot to execute a playing action, according to the at least one played musical instrument and the head position at each playing time, to allow a corresponding played musical instrument to generate a sound and allow the head to be in a corresponding head position at each playing time,
wherein controlling the playing part and the head of the robot to execute the playing action comprises:
for each playing time, determining a time interval between a current playing time and a previous playing time as a playing duration corresponding to the current playing time;
for each played musical instrument at each playing time, according to a current position of an end of the playing part corresponding to the played musical instrument, a position of the played musical instrument, and the playing duration corresponding to the current playing time, generating a playing trajectory of the playing action, and controlling the playing part corresponding to the played musical instrument to execute the playing trajectory; and
for each playing time, generating a head trajectory of the playing action according to a current position of the head, the head position at the current playing time and the playing duration corresponding to the current playing time, and controlling the head to execute the head trajectory.

### Claim 2 (depends on 1)

The motion control method according to claim 1, wherein each played musical instrument is marked with a first orientation or a second orientation, and the first orientation and the second orientation are opposite orientations; and
wherein determining the head position at each playing time according to the at least one played musical instrument at each playing time comprises:
determining the head position at a current playing time on a second side of an original position of the head in response to determining that the at least one played musical instrument at any playing time is marked with a different orientation and the head position at a previous playing time is on a first side of the original position of the head.

### Claim 3 (depends on 2)

The motion control method according to claim 2, wherein determining the head position at the current playing time on the second side of the original position of the head comprises:
determining any one of at least one preset position on the second side of the original position of the head as the head position at the current playing time.

### Claim 4 (depends on 1)

The motion control method according to claim 1, wherein each played musical instrument is marked with a first orientation or a second orientation, and the first orientation and the second orientation are opposite orientations; and
wherein determining the head position at each playing time according to the at least one played musical instrument at each playing time comprises:
determining the head position at a current playing time according to a position of the at least one played musical instrument in response to determining that the at least one played musical instrument at any playing time is marked with the same orientation.

### Claim 5 (depends on 4)

The motion control method according to claim 4, wherein determining the head position corresponding to the current playing time according to the position of the at least one played musical instrument comprises:
in response to determining that one played musical instrument exists at the current playing time, determining a head position corresponding to the played musical instrument as the head position at the current playing time; and
in response to determining that a plurality of played musical instruments exist at the current playing time, determining a midpoint position of head positions corresponding to the plurality of played musical instruments as the head position at the current playing time.

### Claim 6 (depends on 1)

The motion control method according to claim 1, wherein the music file further comprises the playing part corresponding to each of the at least one played musical instrument at each playing time; and
wherein the method further comprises:
in response to determining that any of the at least one played musical instrument at any playing time of the music file exceeds a movement range of the playing part corresponding to the played musical instrument, updating the playing part corresponding to the played musical instrument to another playing part.

### Claim 7 (depends on 1)

The motion control method according to claim 1, wherein generating the playing trajectory of the playing action according to the current position of the end of the playing part corresponding to the played musical instrument, the position of the played musical instrument, and the playing duration corresponding to the current playing time, and
controlling the playing part corresponding to the played musical instrument to execute the playing trajectory, comprises:
determining a duration of each stage of the playing action according to attributes of the played musical instrument and the playing duration corresponding to the current playing time; and
according to the current position of the end of the playing part corresponding to the played musical instrument, the position of the played musical instrument and the duration of each stage of the playing action, generating a playing trajectory of each stage of the playing action, and controlling the playing part corresponding to the played musical instrument to sequentially execute the playing trajectory of each stage.

### Claim 8 (depends on 7)

The motion control method according to claim 7, wherein determining the duration of each stage of the playing action according to the attributes of the played musical instrument and the playing duration corresponding to the current playing time comprises:
determining a duration of a lifting stage and a duration of a beating stage according to the playing duration corresponding to the current playing time in response to determining that the played musical instrument is a drum.

### Claim 9 (depends on 1)

The motion control method according to claim 1, wherein generating the playing trajectory of the playing action according to the current position of the end of the playing part corresponding to the played musical instrument, the position of the played musical instrument, and the playing duration corresponding to the current playing time, and controlling the playing part corresponding to the played musical instrument to execute the playing trajectory, comprises:
determining an action duration and a waiting duration according to an action time range of the playing part corresponding to the played musical instrument and the playing duration corresponding to the current playing time; and
according to the current position of the end of the playing part corresponding to the played musical instrument, the position of the played musical instrument and the action duration, generating the playing trajectory of the playing action, and controlling the playing part corresponding to the played musical instrument to execute the playing trajectory within the action duration.

### Claim 10 (depends on 9)

The motion control method according to claim 9, wherein determining the action duration and the waiting duration according to the action time range of the playing part corresponding to the played musical instrument and the playing duration corresponding to the current playing time comprises:
in response to determining that a playing duration of the at least one played musical instrument corresponding to the current playing time is greater than an upper limit of the action time range of the playing part corresponding to the played musical instrument, determining the action duration to be the upper limit, and determining the waiting duration to be a difference between the playing duration of the at least one played musical instrument corresponding to the current playing time and the upper limit.

### Claim 11 (depends on 9)

The motion control method according to claim 9, wherein determining the action duration and the waiting duration according to the action time range of the playing part corresponding to the played musical instrument and the playing duration corresponding to the current playing time comprises:
in response to determining that a playing duration of the at least one played musical instrument corresponding to the current playing time is within the action time range of the playing part corresponding to the played musical instrument, determining the action duration to be the playing duration of the at least one played musical instrument corresponding to the current playing time, and determining the waiting duration to be zero.

### Claim 12 (depends on 9)

The motion control method according to claim 9, wherein determining the action duration and the waiting duration according to the action time range of the playing part corresponding to the played musical instrument and the playing duration corresponding to the current playing time comprises:
in response to determining that a playing duration of the at least one played musical instrument corresponding to the current playing time is less than a lower limit of the action time range of the playing part corresponding to the played musical instrument, determining the action duration to be the lower limit and determining the waiting duration to be zero.

### Claim 13

A robot, comprising a memory and a processor, wherein the memory is configured for storing computer instructions capable of being run on the processor, and when executing the computer instructions, the processor is configured for:
obtaining a music file to be performed, wherein the music file comprises a plurality of playing times and at least one played musical instrument at each playing time;
determining a head position at each playing time according to the at least one played musical instrument at each playing time; and
controlling a playing part and a head of the robot to execute a playing action, according to the at least one played musical instrument and the head position at each playing time, to allow a corresponding played musical instrument to generate a sound and allow the head to be in a corresponding head position at each playing time,
wherein the processor is further configured to:
for each playing time, determine a time interval between a current playing time and a previous playing time as a playing duration corresponding to the current playing time;
for each played musical instrument at each playing time, according to a current position of an end of the playing part corresponding to the played musical instrument, a position of the played musical instrument, and the playing duration corresponding to the current playing time, generate a playing trajectory of the playing action, and control the playing part corresponding to the played musical instrument to execute the playing trajectory; and
for each playing time, generate a head trajectory of the playing action according to a current position of the head, the head position at the current playing time and the playing duration corresponding to the current playing time, and control the head to execute the head trajectory.

### Claim 14 (depends on 13)

The robot according to claim 13, wherein each played musical instrument is marked with a first orientation or a second orientation, and the first orientation and the second orientation are opposite orientations; and
wherein the processor is further configured for:
determining the head position at a current playing time on a second side of an original position of the head in response to determining that the at least one played musical instrument at any playing time is marked with a different orientation and the head position at a previous playing time is on a first side of the original position of the head.

### Claim 15 (depends on 14)

The robot according to claim 14, wherein the processor is further configured for:
determining any one of at least one preset position on the second side of the original position of the head as the head position at the current playing time.

### Claim 16 (depends on 13)

The robot according to claim 13, wherein each played musical instrument is marked with a first orientation or a second orientation, and the first orientation and the second orientation are opposite orientations; and
wherein the processor is further configured for:
determining the head position at a current playing time according to a position of the at least one played musical instrument in response to determining that the at least one played musical instrument at any playing time is marked with the same orientation.

### Claim 17 (depends on 16)

The robot according to claim 16, wherein the processor is further configured for:
in response to determining that one played musical instrument exists at the current playing time, determining a head position corresponding to the played musical instrument as the head position at the current playing time; and
in response to determining that a plurality of played musical instruments exist at the current playing time, determining a midpoint position of head positions corresponding to the plurality of played musical instruments as the head position at the current playing time.

### Claim 18 (depends on 13)

The robot according to claim 13, wherein the music file further comprises the playing part corresponding to each of the at least one played musical instrument at each playing time; and
wherein the processor is further configured for:
in response to determining that any of the at least one played musical instrument at any playing time of the music file exceeds a movement range of the playing part corresponding to the played musical instrument, updating the playing part corresponding to the played musical instrument to another playing part.
