IP Library › Granted Patent US 10,341,413
Granted Patent B2
US 10,341,413 · App. 15/326,409 · Granted Jul 2, 2019

Method and system for synchronizing robot with server

Inventors: Juejing Xu (Hangzhou, CN); Jianqiang Zhu (Hangzhou, CN); Ming Ma (Hangzhou, CN)
Assignee: Hangzhou Yameilijia Technology Co., Ltd.
H04L67/025B25J9/1689H04L1/08H04L67/1095H04W56/0015
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,341,413
App. No.
15/326,409
Granted
Jul 2, 2019
Kind
B2
Abstract

Provided are a method and system for synchronizing a robot with a server. The service sends a time service command including a current time of the server to the robot, and the robot receives the time service command, so as to enable time synchronization of the robot with the server. A control device receives first command data carrying a first timestamp sent from the server, and then determines whether the first timestamp in the first command data has expired. If the first timestamp has expired, the control device receives command data resent from the server until second command data carrying an unexpired second timestamp is received. Finally, the control device controls the robot to execute a corresponding action at a time corresponding to the second timestamp based on the second command data, so as to realize the synchronization of the robot with the command data sent from the server.

Claims (68)

1. A method for synchronizing a robot with a server, comprising:

sending by the server a time service command to the robot, the time service command comprising a current time of the server;

receiving by the robot the time service command sent from the server;

sending by the robot a response message to the server based on the time service command;

receiving by the server the response message sent from the robot, and determining whether a time service for the robot is successful based on the response message;

sending by the server a time service success message to the robot, if the time service for the robot is successful;

synchronizing the robot with the server in terms of time, after the robot receives the time service success message sent from the server; and

resending by the server the time service command to the robot if the time service for the robot is unsuccessful.

2. The method according to claim 1 , wherein the step of the server determining whether the time service for the robot is successful based on the response message comprises:

starting timing by the server, once the server sends the time service command to the robot; and

determining by the server whether the response message sent from the robot is received within a first preset time, wherein if yes, it is determined that the time service for the robot is successful, or if no, it is determined that the time service for the robot is unsuccessful.

3. The method according to claim 1 , wherein after the robot receives the time service command sent from the server, the method further comprises:

recording by the robot the current time of the server included in the time service command sent from the server;

calculating by the robot a difference between the current ti of the server and a time of the robot; and

saving the difference by the robot.

4. The method according to claim 1 , wherein the method further comprises:

sending by the server the time service command to the robot at intervals of a second preset time.

5. The method according to claim 1 , wherein the method further comprises:

sending to the server by the robot at intervals of a third preset time a standard time acquiring request including an address code of the robot, so that the server sends the current time of the server to the robot based on the standard time acquiring request.

6. The method according to claim 1 , wherein the robot comprises a control device in communication connection with the server, the control device controls the robot to perform a command synchronization with the server, and the method further comprises:

the control device receiving first command data carrying a first timestamp sent from the server, the first command data being configured to control the robot to execute a corresponding action at a time corresponding to the first timestamp;

determining whether the first timestamp in the first command data has expired;

receiving command data resent from the server until second command data carrying an unexpired second timestamp is received, if it is determined that the first timestamp has expired, wherein the second command data is configured to control the robot to execute a corresponding action at a time corresponding to the second timestamp; and

controlling the robot to execute the corresponding action at the time corresponding to the second timestamp based on the second command data, so as to achieve synchronization of the robot with the command data sent from the server.

7. The method according to claim 6 , wherein the step of the control device receiving the second command data resent from the server if it is determined that the first timestamp has expired comprises:

the control device sending, if it is determined that the first timestamp has expired, a first response command indicating that the first timestamp has expired to the server so that the server feeds back command data corresponding to the first response command; and

receiving the second command data carrying the unexpired second timestamp resent from the server, wherein the second command data is generated by the server according to a current state of the robot, and the current state at least comprises one or more of the following state information of the robot: position information, direction information, and interaction information.

8. The method according to claim 6 , wherein the method further comprises:

sending to the server a second response command indicating that the timestamp has not expired, if the control device determines that the first timestamp has not expired.

9. The method according to claim 6 , wherein the method further comprises:

receiving, at a preset interval, third command data carrying a third timestamp sent from the server, wherein the third command data is configured to control the robot to execute, at a time corresponding to the third timestamp, an action following an execution action corresponding to the first command data, and the third command data is command data, sent by the server, corresponding to the second response command.

10. The method according to claim 6 , wherein the step of determining whether the first timestamp in the first command data has expired comprises:

acquiring the first timestamp in the first command data;

determining whether the first timestamp is later than a time displayed on the robot, wherein the time displayed on the robot is synchronized with a time displayed on the server;

determining that the first timestamp has expired if the first timestamp in the first command data is earlier than the time displayed on the robot; and

determining that the first timestamp has not expired if the first timestamp in the first command data is later than the time displayed on the robot.

11. A system for synchronizing a robot with a server, comprising:

the robot configured to: receive a time service command sent from the server; send a response message to the server based on the time service command; and further configured to be synchronized with the server in terms of time after receiving a time service success message sent from the server; and

the server configured to: send to the robot the time service command comprising a current time of the server; and further configured to receive the response message sent from the robot, and determine whether the time service for the robot is successful based on the response message; and further configured to send the time service success message to the robot if the time service for the robot is successful, or resend the time service command to the robot if the time service for the robot is unsuccessful;

wherein the robot comprises a control device in communication connection with the server, and the control device is configured to: receive first command data carrying a first timestamp sent from the server, the first command data being configured to control the robot to execute a corresponding action at a time corresponding to the first timestamp; determine whether the first timestamp in the first command data has expired, wherein if it is determined that the first timestamp has expired, command data resent from the server is received until second command data carrying an unexpired second timestamp is received, the second command data being configured to control the robot to execute a corresponding action at a time corresponding to the second timestamp; and control the robot to execute the corresponding action at the time corresponding to the second timestamp based on the second command data, so as to achieve synchronization of the robot with the command data sent from the server; and

the server is further configured to: send the first command data carrying the first timestamp to the control device; and resend, if the first timestamp has expired, the second command data until the second timestamp carried by the sent second command data has not expired.

12. The system according to claim 11 ; wherein the server comprises:

a timing module configured to start timing once the time service command is sent to the robot; and

a server determining module configured to determine whether the response message sent from the robot is received within a first preset time, wherein if yes, it is determined that the time service for the robot is successful, or if no, it is determined that the time service for the robot is unsuccessful.

13. The system according to claim 11 , wherein the robot further comprises:

a recording module configured to record the current time of the server included in the time service command sent from the server;

a calculating module configured to calculate a difference between the current time of the server and a time of the robot; and

a saving module configured to save the difference.

14. The system according to claim 11 , wherein the server further comprises:

a first sending module configured to send the time service command to the robot at intervals of a second preset time.

15. The system according to claim 11 , wherein the robot further comprises:

a second sending module configured to send, at intervals of a third preset time, a standard time acquiring request including an address code of the robot to the server, so that the server sends the current time of the server to the robot based on the standard time acquiring request.

16. The system according to claim 11 , wherein the control device comprises:

a receiving module configured to receive the first command data carrying the first timestamp sent from the server;

a control device determining module configured to determine whether the first timestamp in the first command data received by the receiving module has expired;

an expired command data analyzing module configured to receive the command data resent from the server until the second command data carrying the unexpired second timestamp is received, if the control device determining module determines that the first timestamp has expired; and

a data synchronizing module configured to control the robot to execute the corresponding action at the time corresponding to the second timestamp based on the second command data obtained by analysis of the expired command data analyzing module, so as to achieve the synchronization of the robot with the command data sent from the server.

17. The system according to claim 16 , wherein the expired command data analyzing module comprises:

a first response command sending unit configured to send, if the control device determining module determines that the first timestamp has expired, to the server a first response command indicating that the first timestamp has expired so that the server feeds back command data corresponding to the first response command; and

a second command data receiving unit configured to receive the second command data carrying the unexpired second timestamp resent from the server, wherein the second command data is generated by the server according to a current state of the robot, and the current state at least comprises one or more of the following state information of the robot: position information, direction information and interaction information.

18. The system according to claim 16 , wherein the control device further comprises an unexpired command data analyzing module, and the unexpired command data analyzing module comprises:

a second response command sending unit configured to send to the server a second response command indicating that the first timestamp has not expired, if the control device determining module determines that the first timestamp has not expired; and

a third command data receiving unit configured to receive, at a preset interval, third command data carrying a third timestamp sent from the server, wherein the third command data is configured to control the robot to execute, at a time corresponding to the third timestamp, an action following an execution action corresponding to the first command data, and the third command data is command data, sent from the server, corresponding to the second response command sent from the second response command sending unit.

19. The system according to claim 16 , wherein the control device determining module comprises:

a first timestamp acquiring unit configured to acquire the first timestamp in the first command data received by the receiving module;

a first timestamp determining unit configured to determine whether the first timestamp acquired by the first timestamp acquiring unit is later than a time displayed on the robot, wherein the time displayed on the robot is synchronized with a time displayed on the server;

an expiration determining unit configured to determine that the first timestamp has expired if the first timestamp determining unit determines that the first timestamp in the first command data is earlier than the time displayed on the robot; and

a non-expiration determining unit configured to determine that the first timestamp has not expired if the first timestamp determining unit determines that the first timestamp in the first command data is later than the time displayed on the robot.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2022
From: HANGZHOU YAMEILIJIA TECHNOLOGY CO., LTD.
To: ZHEJIANG LIBIAO ROBOTS CO., LTD.
Reel/Frame 059149/0803 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: XU, JUEJING; ZHU, JIANQIANG; MA, MING
To: HANGZHOU YAMEILIJIA TECHNOLOGY CO., LTD.
Reel/Frame 041526/0712 →
Priority Claims (2)
CN 2016 1 0005093 · Jan 4, 2016 · national
CN 2016 1 0008091 · Jan 4, 2016 · national
Continuity (1)
Related Publication 20180302461A1 · Oct 18, 2018