WO2017118002A1 - 机器人与服务器同步的方法及系统 - Google Patents

机器人与服务器同步的方法及系统 Download PDF

Info

Publication number
WO2017118002A1
WO2017118002A1 PCT/CN2016/093124 CN2016093124W WO2017118002A1 WO 2017118002 A1 WO2017118002 A1 WO 2017118002A1 CN 2016093124 W CN2016093124 W CN 2016093124W WO 2017118002 A1 WO2017118002 A1 WO 2017118002A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
server
time
time stamp
instruction
Prior art date
Application number
PCT/CN2016/093124
Other languages
English (en)
French (fr)
Inventor
徐珏晶
朱建强
Original Assignee
杭州亚美利嘉科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201610005093.6A external-priority patent/CN105610536B/zh
Priority claimed from CN201610008091.2A external-priority patent/CN105610553A/zh
Application filed by 杭州亚美利嘉科技有限公司 filed Critical 杭州亚美利嘉科技有限公司
Priority to US15/326,409 priority Critical patent/US10341413B2/en
Priority to EP16883135.2A priority patent/EP3402106B1/en
Priority to JP2018553279A priority patent/JP6594567B2/ja
Priority to KR1020187019187A priority patent/KR102132105B1/ko
Publication of WO2017118002A1 publication Critical patent/WO2017118002A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others

Definitions

  • the present invention relates to the field of robot technology, and in particular, to a method and system for synchronizing a robot with a server.
  • Robots With the rapid development of computer technology and artificial intelligence technology, it is expected that in the near future, robots will be one of the important industries that determine national competitiveness.
  • Robots are widely used in large-scale flow and logistics applications such as supermarkets, airports, stations, convention centers, and logistics warehouses. They work independently to assist or replace human work.
  • each robot When many robots are concentrated in the work area, each robot maintains a state of motion.
  • the server remotely controls the robot to work, it sends instructions to the robot to control the motion state of the robot through instructions.
  • the wireless network communication technology is increasingly The development provides a convenient and stable means of communication for remote control of robots, making real-time control in complex environments possible.
  • the remote control method of the robot uses the wireless communication method to perform data transmission between the server and the robot. Since the WIFI network has the outstanding advantages of wide coverage, large transmission bandwidth and fast transmission speed, the WIFI network is usually used for data communication.
  • the remote control method transmits the control command sent by the server to the robot through the WIFI network, and the terminal receives the control command, and performs related command analysis and instruction execution to implement the control of the robot action.
  • the server can realize the timing operation of the robot or control the motion state of the robot through instructions, but on the one hand, the time between the server and the robot is not synchronized, which leads to the transmission of the instruction. It is not synchronized with the receiving, which leads to the unsynchronization of the robot movement, which will lead to collision between the robots.
  • the robot remote control method adopts the WIFI network communication method, the network signal stability is poor and susceptible to interference, then the server side In the method of communicating with the robot, there will be a problem of delay in command transmission, which causes the robot to fail to perform the specified action at the specified time, and the work efficiency is low, which further causes mutual interference of the actions between the robots, and the coordination work is not well coordinated, and the coordination ability is poor. .
  • an object of the present invention is to provide a method and system for synchronizing a robot and a server, which are used to solve the problem of sending and receiving commands between a server and a robot due to time synchronization between a server and a robot in the prior art.
  • Unsynchronized the problem of collision between robots; and ensures that the robot can perform the specified actions at the specified time according to the execution instructions of the server, overcoming the mutual interference caused by the delay of the command transmission of multiple robots, and improving the work of the robot Efficiency and coordination between robots.
  • an embodiment of the present invention provides a method for synchronizing a robot with a server, where the method includes:
  • the robot sends response information to the server according to the timing instruction
  • the robot After receiving the timing success information sent by the server, the robot synchronizes time with the server;
  • the timing command is resent to the robot.
  • the embodiment of the present invention provides a first possible implementation manner of the first aspect, wherein the server determines, according to the response information, whether the timing of the robot is successful, including:
  • the server starts timing after sending a timing instruction to the robot
  • the server determines whether the response information sent by the robot is received within the first preset time. If yes, it is determined that the robot is successful in timing, and if not, it is determined that the robot is not successful in timing.
  • the embodiment of the present invention provides a second possible implementation manner of the first aspect, wherein, after receiving the timing instruction sent by the server, the robot further includes:
  • the robot records current time information of the server included in a timing instruction sent by the server;
  • the robot calculates a difference between current time information of the server and time information of the robot;
  • the robot saves the difference.
  • the embodiment of the present invention provides a third possible implementation manner of the first aspect, wherein the method further includes:
  • the server sends a timing instruction to the robot every second preset time interval.
  • the embodiment of the present invention provides a fourth possible implementation manner of the first aspect, wherein the method further includes:
  • the robot sends a standard time acquisition request to the server every third preset time interval, where the standard time acquisition request includes an address code of the robot, so that the server sends the current server according to the standard time acquisition request. Time information is given to the robot.
  • an embodiment of the present invention provides a fifth possible implementation of the first aspect, wherein the robot includes a control device communicatively coupled to the server, the control device controlling the robot and the The server synchronizes instructions, including:
  • the control device receives first instruction data that is sent by the server and carries a first time stamp; the first instruction data is used to control the robot to perform a corresponding action at a time corresponding to the first time stamp;
  • the corresponding action is performed to synchronize the instruction data sent by the robot and the server.
  • the embodiment of the present invention provides a sixth possible implementation manner of the first aspect, wherein, when detecting that the first time stamp expires, the control device receives the resend of the server Two instruction data, including:
  • the control device When detecting that the first time stamp expires, the control device sends a first response instruction that the time stamp expires to the server, so that the server feeds back the instruction data corresponding to the first response instruction;
  • the server Receiving, by the server, the second instruction data that is carried by the server and that is not expired; wherein the second instruction data is generated by the server according to a current state of the robot, and the current state includes at least One or more of the following status information of the robot: location information, direction information, and interaction information.
  • the embodiment of the present invention provides a seventh possible implementation manner of the first aspect, wherein the method further includes:
  • control device detects that the first time stamp has not expired, sending a second response instruction that the time stamp has not expired to the server.
  • an embodiment of the present invention provides an eighth possible implementation manner of the first aspect, wherein the method further includes:
  • the third instruction data is used to control the robot to perform corresponding to the time at a time corresponding to the third time stamp
  • An instruction data performs a next action of the action
  • the third instruction data is instruction data sent by the server corresponding to the second response command.
  • the embodiment of the present invention provides the ninth possible implementation manner of the first aspect, wherein the determining whether the first time stamp in the first instruction data is expired includes:
  • an embodiment of the present invention further provides a system for synchronizing a robot with a server, including:
  • a robot configured to receive a timing instruction sent by the server, configured to send response information to the server according to the timing instruction, and further configured to: after receiving the timing success information sent by the server, synchronize with the server time;
  • a server configured to send a timing instruction to the robot, where the timing instruction includes current time information of the server; and is further configured to receive response information sent by the robot, and determine, according to the response information, whether the timing of the robot is successful; And for transmitting a timing success information to the robot if the robot is successfully timed; if the robot is not successful, sending a timing instruction to the robot;
  • the robot includes a control device communicatively coupled to the server, the control device, configured to receive first instruction data that is sent by the server and carries a first time stamp; Controlling the robot to perform a corresponding action at a time corresponding to the first time stamp; determining whether the first time stamp in the first command data is expired; if detecting that the first time stamp expires, receiving the Decoding the command data that is resent by the server until receiving the second instruction data that the second time stamp is not expired; wherein the second instruction data is used to control the robot to execute at the time corresponding to the second time stamp Corresponding action; controlling, according to the second instruction data, the robot to perform a corresponding action at a time corresponding to the second time stamp, so as to implement synchronization of the command data sent by the robot and the server;
  • the server is further configured to send, to the control device, first instruction data that carries a first time stamp; when the first time stamp expires, resend the second instruction data until the second instruction sent The second timestamp carried by the data has not expired.
  • the embodiment of the present invention provides the first possible implementation manner of the second aspect, wherein the server includes:
  • timing module for starting timing after sending a timing instruction to the robot
  • a server determining module configured to determine whether the response information sent by the robot is received within a first preset time, and if yes, determining that the robot is successfully timed, and if not, determining that the robot is not timed success.
  • the embodiment of the present invention provides a second possible implementation manner of the second aspect, wherein the robot further includes:
  • a recording module configured to record current time information of the server included in the timing instruction sent by the server
  • a calculation module configured to calculate a difference between current time information of the server and time information of the robot
  • a save module is used to save the difference.
  • the embodiment of the present invention provides a third possible implementation manner of the second aspect, wherein the server further includes:
  • the first sending module is configured to send a timing instruction to the robot every second preset time interval.
  • the embodiment of the present invention provides a fourth possible implementation manner of the second aspect, wherein the robot further includes:
  • a second sending module configured to send a standard time acquisition request to the server every third predetermined time interval, where the standard time acquisition request includes an address code of the robot, so that the server sends the server according to a standard time acquisition request
  • the current time information is given to the robot.
  • control device includes:
  • a receiving module configured to receive first instruction data that is sent by the server and carries a first time stamp; the first instruction data is used to control the robot to perform a corresponding action at a time corresponding to the first time stamp;
  • control device determining module configured to determine whether a first time stamp in the first instruction data received by the receiving module is expired
  • An expiration command data analysis module configured to: when the control device determining module detects that the first time stamp expires, receive the command data resent by the server until receiving the second time stamp that is not expired Instruction data; wherein the second instruction data is used to control the robot in the Performing a corresponding action at a time corresponding to the second time stamp;
  • a data synchronization module configured to: according to the second instruction data analyzed by the expiration instruction data analysis module, control the robot to perform a corresponding action at a time corresponding to the second time stamp to implement the robot and the The instruction data sent by the server is synchronized.
  • the embodiment of the present invention provides a sixth possible implementation manner of the second aspect, wherein the expiration instruction data analysis module includes:
  • a first response instruction sending unit configured to: when the control device determining module detects that the first time stamp expires, send a first response instruction that the time stamp expires to the server, so that the server feeds back the first The instruction data corresponding to the response instruction;
  • a second instruction data receiving unit configured to receive second instruction data that is re-sent by the server and that is not expired; wherein the second instruction data is generated by the server according to a current state of the robot
  • the current state includes at least one or more of the following status information of the robot: location information, direction information, and interaction information.
  • control device further includes an unexpired instruction data analysis module, where the unexpired instruction data analysis module includes:
  • a second response instruction sending unit configured to send, to the server, a second response instruction that the time stamp has not expired when the control device determining module detects that the first time stamp has not expired;
  • a third instruction data receiving unit configured to receive, according to a preset interval, third instruction data that is sent by the server and carries a third time stamp; the third instruction data is used to control the robot to be in the third time stamp Corresponding time execution corresponds to a next action of performing an action with the first instruction data; the third instruction data is a second response data sent by the server corresponding to the second response command sent by the second response command sending unit Instruction data.
  • control device determining module includes:
  • a first time stamp acquisition unit configured to acquire a first time stamp in the first instruction data received by the receiving module
  • a first time stamp determining unit configured to determine whether the first time stamp acquired by the first time stamp acquiring unit is greater than a display time of the robot; wherein, the display time of the robot and the display time of the server Synchronize;
  • An expiration determining unit configured to determine that the first time stamp expires when the first time stamp determining unit determines that the first time stamp in the first command data is less than the display time of the robot;
  • the unexpired determining unit is configured to determine that the first time stamp has not expired when the first time stamp determining unit determines that the first time stamp in the first command data is greater than the display time of the robot.
  • the method and system for synchronizing a robot and a server on the one hand, sending a timing instruction to a robot through a server, where the timing instruction includes current time information of the server, and the robot receives a timing instruction sent by the server, so that the robot and the server
  • the time synchronization is performed; the control device included in the robot receives the first instruction data sent by the server and carries the first time stamp; and then determines whether the first time stamp in the first instruction data is expired; when it expires, the server is re-received Sent And the data is received until the second instruction data that the second time stamp is not expired is received; finally, according to the second instruction data, the control robot performs the corresponding action at the time corresponding to the second time stamp, and implements the instruction data sent by the robot and the server.
  • Synchronization compared with the prior art robot remote control method using WIFI network communication, the network signal stability is poor, and the robot is not synchronized with the server instruction, and the control device determines the first instruction data sent by the server. Whether the first time stamp expires, and receives the instruction data resent by the server again upon expiration until receiving the second instruction data that the second time stamp is not expired, ensuring that the robot can synchronize the server for the specified time, and Performing the prescribed actions in response to the time increases the working efficiency of the robot and the work coordination ability of multiple robots.
  • FIG. 1 is a flowchart of a method for synchronizing a robot and a server according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for synchronizing a robot and a server according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a method for synchronizing a robot and a server according to an embodiment of the present invention
  • FIG. 4 is a flowchart of a method for synchronizing a robot and a server according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a method for synchronizing a robot and a server according to an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of a system for synchronizing a robot and a server according to an embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of a control apparatus according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of an expiration command data analysis module in a control device according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of an unexpired command data analysis module in a control device according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a control device determination module in a control device according to an embodiment of the present invention.
  • the server implements the timing operation of the robot or controls the motion state of the robot by the instruction
  • the transmission and reception of the instruction are not synchronized, resulting in The unsynchronized movement of the robot will cause collision between the robots; and the remote control method of the robot adopts the WIFI network communication method, the network signal stability is poor and susceptible to interference, and there will be a command transmission delay in the method of communication between the server and the robot.
  • an embodiment of the present invention provides a method for synchronizing a robot with a server.
  • the time synchronization between the server and the robot is realized by sending a timing instruction to the robot through the server.
  • a list of robot address code information is stored on the server, and the address codes of all the robots are stored.
  • the server can store the above robots according to the robot address code information list on the server.
  • the address code sends a timing command to the robot.
  • the generating the list of the robot address code information on the server includes the following steps:
  • the server receives a connection request sent by the robot, and the connection request includes an address code of the robot;
  • the server adds the address code of the above robot to the list of robot address code information, so that a list of robot address code information including all robot address codes is formed on the server.
  • the server and the robot may be connected through a wireless network, and the wireless network may be WI-FI (Wireless-Fidelity), and may be a 433 MHz private network or a 2.4G wireless network.
  • WI-FI Wireless-Fidelity
  • the server sends a timing instruction to the robot, where the timing instruction includes current time information of the server.
  • the server and the robot establish a connection through the wireless network, and the server can send a timing instruction to the robot according to the robot address code stored in the robot address code information list on the server, and the timing instruction includes the current time information of the server, so that the server and the robot Keep time synchronized.
  • S102 The robot receives a timing instruction sent by the server.
  • the robot After the server sends the timing instruction to the robot, the robot receives the timing instruction sent by the server, and after receiving the timing instruction sent by the server, the robot further includes the following steps:
  • the robot calculates a difference between the current time information of the server and the time information of the robot;
  • the robot saves the above difference.
  • the timing instruction sent by the server to the robot includes the current time information of the server. After the robot receives the timing instruction sent by the server, the current time information of the server included in the timing instruction is recorded, and the current time information of the server is recorded. Compare with the current time information of the user, calculate the difference between the current time information of the server and the current time information of the robot itself, and save the difference.
  • S103 The robot sends the response information to the server according to the timing instruction.
  • the robot When the robot receives the timing command sent by the server, it sends a response message to the server, in order to let the server know that the robot has received the timing command sent by the server, and on the other hand, the transmission of the timing instruction between the server and the robot is affected by the server.
  • the influence of the wireless network signal between the robot and the robot, the time required for the transmission of the timing command is uncertain. Therefore, the server can judge whether the robot is successful in timing according to the time of the response information sent by the received robot.
  • S104 The server receives the response information sent by the robot, and determines whether the robot timing is successful according to the response information. If yes, execute S105, if no, execute S107.
  • the robot After receiving the timing instruction sent by the server, the robot sends a response message to the server, and the server receives the response message sent by the robot, and determines whether the timing of the robot is successful according to the response information, and specifically includes the following steps:
  • the server determines whether the response information sent by the robot is received within the first preset time. If yes, it is determined that the robot is successfully given the time, and if not, it is determined that the robot is not successful.
  • the first preset time is a value stored in the server and is within an error tolerance range.
  • the server sends a timing command to the robot.
  • the robot receives the timing command sent by the server, it sends a response message to the server.
  • the slave Due to the influence of the wireless network signal between the server and the robot, the slave sends a timing command from the server to the robot to receive the robot.
  • There is a certain time interval between the sent response messages If the time interval is within the allowable range of the error, then the server is considered successful for the robot.
  • the wireless network signal between the server and the robot is poor or unstable, which causes the time interval between sending the timing command from the server to the server to receive the response message sent by the robot to the server, resulting in a time-sending command from the server.
  • the time interval between the robot and the robot receiving the timing command sent by the server becomes longer, thereby causing the current time information of the server included in the timing instruction to be sent by the robot to the server when the robot receives the timing instruction sent by the server.
  • the timing information of the server is different when the timing instruction is issued, which causes the server to give the robot unsuccessful time.
  • the server sends the timing instruction to the robot, the timing starts. If the server receives the response message sent by the robot within the first preset time, it is determined that the server gives the robot a successful time, if the server is within the first preset time. If the response message sent by the robot is not received, it is determined that the server is not successful in giving the robot time.
  • the server receives the response message sent by the robot within the first preset time, it is determined to be a service.
  • the robot gives the robot a successful timing.
  • the server sends a timing success message to the robot to inform the robot server that the timing of the robot is successful.
  • S106 The time between the synchronization and the server is synchronized after the robot receives the success information sent by the server.
  • the robot When the robot receives the success information sent by the server, it adjusts its own clock according to the difference between the current time information of the saved server and the current time information of the robot. If the time information of the server is faster than the time information of the robot, then At this time, the robot adds the above difference to the time information, and then adjusts to the standard time, that is, adjusts to synchronize with the server time. If the time information of the server is slower than the time information of the robot, then the robot will own The time information is subtracted from the above difference, that is, adjusted to the standard time, that is, adjusted to be synchronized with the server time.
  • the robot synchronizes the time with the server by adding or subtracting the saved time information difference.
  • the server When the server sends the timing instruction to the robot, it starts timing. If the server does not receive the response message sent by the robot within the first preset time, it is determined that the server does not successfully give the robot time. At this time, the server resends the timing to the robot. instruction.
  • the server sends a timing command to the robot every second preset time.
  • the second preset time is a preset value stored in the server.
  • the server actively gives the robot time, and the robot can only passively receive the timing command sent by the server. Only the second preset time can be received to receive the timing command sent by the server, but because of the robot on the work site. A lot, and the clocks on each robot and server are different. Therefore, after working for a while, the time between the server and the robot is not synchronized, causing the robots to collide with each other, but the server can only be second preset every interval. Time can send a timing instruction to the robot. If the robot's time is out of synchronization between the two transmission timing instructions, the robot will also collide. In this case, since the second preset time of the interval has not been reached, It is impossible to realize the time synchronization of the robot.
  • the robot sends a standard time acquisition request to the server every third preset time interval, and the standard time acquisition request includes an address code of the robot, so that the server acquires the current time of the server according to the standard time acquisition request. Information to the robot.
  • the third preset time is a preset value stored in the robot.
  • the robot sends a standard time acquisition request to the server through the wireless network, and the standard time acquisition request includes the address code of the robot.
  • the server receives the standard time acquisition request sent by the robot, the current time information of the server is sent to the robot, and the server currently The time information is the standard time. If the robot receives the current time information of the server sent by the server within the fourth preset time, the current time information of the server is recorded and stored as the standard time, so that the robot and the server The time is consistent, that is, the robot time synchronization is successful. If the robot does not receive the current time information of the server sent by the server within the fourth preset time, the standard time acquisition request is sent to the server again.
  • the fourth preset time is a time value preset in the robot, and the error is allowed Within the scope.
  • the method for synchronizing a robot and a server sends a timing instruction to a robot through a server, where the timing instruction includes current time information of the server, and the robot receives a timing instruction sent by the server, so that time synchronization between the robot and the server is performed.
  • the synchronization of command transmission and reception is ensured to avoid collision between robots.
  • the robot includes a control device communicatively coupled to the server, and the control device controls the robot to synchronize the command with the server.
  • a flowchart of a method for synchronizing a robot and a server according to an embodiment of the present invention further includes the following steps:
  • the control device receives the first instruction data that is sent by the server and carries the first time stamp.
  • the first instruction data is used to control the robot to perform the corresponding action at the time corresponding to the first time stamp.
  • the control is not controlled.
  • Receiving, by the device, the first instruction data that is sent by the server and carrying the first time stamp, wherein the first time stamp records the execution time of the first instruction data, and the first instruction data can control the robot at the first time
  • the corresponding action is performed by the time corresponding to the tag.
  • the first instruction data may be a control execution instruction sent by the server to a momentary action of the corresponding robot, or may be a series of control execution instructions including walking information, wherein the walking information includes a straight line, a left turn, and a right turn. Corresponding action information.
  • the control device first determines whether the first time stamp in the first instruction data is expired, that is, The first time stamp determines the comparison between the execution time of the first command data recorded and the display time of the robot itself.
  • the control device discards the entire first instruction data, and then continues. Receiving the instruction data resent by the server until receiving the second instruction data that the carried second time stamp has not expired.
  • the second instruction data is used to control the robot to perform a corresponding action at a time corresponding to the second time stamp; wherein the second instruction data controls a corresponding action performed by the robot and the first instruction data control robot
  • the corresponding actions performed may be the same or different, and whether the execution actions corresponding to the two command data are the same is determined according to the current state of the controlled robot, and the second time carried by the second command data is carried out.
  • the flag is not the same as the first time stamp carried by the first instruction data.
  • the control method for synchronizing the robot and the server instruction provided by the embodiment of the present invention, when the server learns that the first time stamp expires, sends the command data again at a preset interval until the second time stamp that is carried is not expired. Two instruction data, thus ensuring real-time synchronization of the robot and server instructions.
  • the foregoing instruction data is a generalized concept, that is, the instruction data may be an instruction data corresponding to the first instruction data carrying the expired first time stamp, or may be multiple and carried with expired
  • the first instruction data of the first time stamp corresponds to the instruction data.
  • the server will stop sending other instruction data corresponding to the first instruction data carrying the unexpired time stamp; if the time stamp carried by the first instruction data has expired And the server resends the instruction data corresponding to the first instruction data carrying the expired first time stamp according to the current state of the controlled robot until the control device determines that the received second instruction data carries the second The time stamp has not expired, and the server does not resend the other instruction data corresponding to the second instruction data carrying the second time stamp that has not expired when the second time stamp is not expired, and the robot according to the second instruction data The corresponding action is performed at the time corresponding to the second time stamp that has not expired.
  • the first instruction data received by the control device for the first time expires and the communication is unsuccessful, and the second command data received for the second time is not expired.
  • the communication succeeds in making a specific description, the first communication is unsuccessful, the second communication is unsuccessful...
  • the data synchronization principle of the Nth communication success and the above method type are not repeated herein.
  • the second command data may be a control execution instruction sent by the server to a corresponding action of the corresponding robot, or may be a series of control execution instructions including walking information, wherein the walking information includes straight line, left turn, right Turn the corresponding action information.
  • control device controls the robot to perform a corresponding action at a time corresponding to the second time stamp according to the second instruction data that the second time stamp is not expired, so as to synchronize the command data sent by the robot and the server.
  • the command data synchronization refers to a control action that the robot can execute the second command data sent by the server at the execution time of the second time stamp record.
  • the control method for synchronizing the robot and the server instruction provided by the implementation of the present invention is that, in the previous period when the first time in the first instruction data has expired, the instruction data sent by the server can continue to be received until the time stamp in the instruction data The corresponding action is executed when the time is not expired, wherein the command data is a control command issued by the server according to the current state of the robot, and the influence of other robots around the robot on the action of the robot is comprehensively weighed, and the above-mentioned loop method ensures the robot and the Server instruction synchronization.
  • the method for synchronizing the robot and the server instruction provided by the embodiment of the present invention is compared with the remote control method for the robot in the prior art by using a WIFI network communication method, and the network signal stability is poor and the robot is not synchronized with the server instruction due to interference. Determining, by the control device, whether the first time stamp in the first command data sent by the server is expired, and receiving the command data resent by the server again after expiration until receiving the second command data that the second time stamp is not expired, ensuring The robot can synchronize the specified time set by the server and perform the specified actions in response to the time, thereby improving the working efficiency of the robot and the coordinated working ability of the plurality of robots.
  • the method for analyzing the expiration command data of the step 203 is specifically implemented by the following steps. Referring to the flowchart shown in FIG. 3, The method also includes:
  • the control device sends a time stamp expiration to the server when detecting that the first time stamp expires.
  • the first response instruction so that the server feeds back the instruction data corresponding to the first response instruction;
  • S212 Receive second information data that is re-sent by the server and that is not expired.
  • the second command data is generated by the server according to a current state of the robot, where the current state includes at least one of the following state information of the robot.
  • One or more types location information, direction information, and interaction information.
  • the control device when detecting that the first time stamp expires, discards the first instruction data corresponding to the first time stamp, and sends a first response command that the time stamp expires to the server, and then the server receives the first response.
  • the command, and the response result corresponding to the response command determines that the data communication has failed.
  • the server will immediately resend the instruction data to the robot, and the instruction data is a server that comprehensively weighs the robot according to the current state of the robot.
  • the other robot controls the control command issued by the influence of the action of the robot.
  • the control device receives the command data and determines whether the time stamp carried in the command data is expired until the second command that the second time stamp is not expired is received. Data, the server no longer sends the command data corresponding to the second command data carrying the second time stamp that has not expired, and the control device does not receive it anymore.
  • the main control device that controls the server of one or more robots will assign a corresponding sub-control device to all the controlled robots, that is, each sub-control device correspondingly controls a corresponding robot.
  • the robot's control method of synchronizing with the server command can control one robot synchronization through the server, and can also control multiple robots to synchronize. Therefore, after receiving the first response command sent by the robot, the server comprehensively considers the position information, the direction information of the current robot, and the interaction information between the robots, and sends the command data to the robot corresponding to the current first response command. Until the sent command data is the second command data that the second time stamp is not expired, and the second command data is also considered by the server to comprehensively consider all relevant robot position information, direction information, and between the robots. Interactive information generated.
  • the method for synchronizing the robot and the server may also reserve a certain delay time at a known location (such as a turn) when the server sends the instruction data or the second instruction data, so that the instruction is The synchronization method is more robust.
  • the method for synchronizing the robot and the server instruction provided by the embodiment of the present invention further includes an analysis method for the unexpired instruction data, which is specifically implemented by the following steps. Referring to the flowchart shown in FIG. The method further includes the following steps:
  • the control device sends a second response command that the time stamp has not expired to the server when detecting that the first time stamp has not expired;
  • the third instruction data that is sent by the server and carries the third time stamp is received according to the preset interval.
  • the third instruction data is used to control the robot to perform the action corresponding to the first instruction data at the time corresponding to the third time stamp.
  • the next action; the third command data is command data corresponding to the second response command sent by the server.
  • the control device when detecting that the first time stamp has not expired, sends a second response command that expires the time stamp to the server, and then the server receives the first response command, and determines the response result corresponding to the response command.
  • the data communication has been successful.
  • the server will send the third instruction data to the robot according to the above-mentioned judgment result.
  • the third instruction data is used to control the execution of the corresponding instruction and the first instruction data by the robot at the time corresponding to the third time stamp.
  • the next action of the action that is, the third instruction data is the next new instruction data when the first instruction data has not expired, and similarly, the control device
  • the third instruction data is also judged whether the third time stamp is expired.
  • the specific determination method is similar to the determination of whether the first time stamp in the first instruction data is expired, and details are not described herein again.
  • the third command data may be a control execution instruction sent by the server to a corresponding action of the corresponding robot, or may be a series of control execution instructions including walking information, wherein the walking information includes straight line, left turn, right Turn the corresponding action information.
  • the method for synchronizing the robot and the server instruction provided by the embodiment of the present invention periodically performs accurate time synchronization between the robot and the server in the same network communication.
  • the foregoing control method provided by the embodiment of the present invention is a determination based on whether the first time stamp in the first command data is expired based on the time synchronization. Referring to FIG. 5, the determining method specifically includes the following steps:
  • control flow provided by the embodiment of the present invention first acquires a first time stamp in the first command data, and then compares the first time stamp with a current display time of the robot.
  • the current display time of the robot is synchronized with the current display time of the server, and the first time mark is an instruction execution time carried by the first instruction data sent by the server, and the comparison between the two time information further determines whether the communication succeeds or not. Credibility.
  • the display time corresponding to the first command data received by the robot has exceeded the execution time corresponding to the first command data, and the first time is determined. If the tag expires, the corresponding action cannot be performed according to the execution time corresponding to the first instruction data.
  • the robot waits from the current display time to the execution time to perform the corresponding action according to the execution time corresponding to the first instruction data.
  • the method for synchronizing a robot and a server sends a timing instruction to a robot through a server, where the timing instruction includes current time information of the server, and the robot receives a timing instruction sent by the server, so that time synchronization between the robot and the server is performed;
  • the WIFI network communication method is adopted, and the network signal stability is poor, and the robot is not synchronized with the server instruction due to the interference, and the control device determines the first command data sent by the server.
  • the time stamp expires, and receives the instruction data resent by the server again when it expires, until receiving the second instruction data that the second time stamp is not expired, ensuring that the robot can synchronize the specified time set by the server, and is in the right It is time to perform the prescribed actions, which improves the working efficiency of the robot and the work coordination ability of multiple robots.
  • An embodiment of the present invention further provides a system for synchronizing a robot with a server, where the system is configured to perform the above
  • a method for synchronizing a robot with a server see FIG. 6, the system includes a server 1 and a robot 2,
  • the robot 2 is configured to receive a timing instruction sent by the server 1; to send the response information to the server 1 according to the timing instruction; and to synchronize the time with the server 1 after receiving the timing success information sent by the server 1;
  • the server 1 is configured to send a timing instruction to the robot 2, the timing instruction includes current time information of the server 1; and is further configured to receive response information sent by the robot 2, and determine whether the timing of the robot 2 is successful according to the response information; 2 If the timing is successful, the timing success information is sent to the robot 2; if the robot 2 is not successful, the timing instruction is sent to the robot 2 again;
  • the robot 2 includes a control device communicatively coupled to the server 1 for receiving first command data carried by the server 1 carrying a first time stamp; the first command data is used to control the corresponding time of the robot 2 at the first time stamp Performing a corresponding action in time; determining whether the first time stamp in the first command data is expired; if detecting that the first time stamp expires, receiving the command data resent by the server 1 until the second time stamp received is not expired Second instruction data; wherein the second instruction data is used to control the robot 2 to perform a corresponding action at a time corresponding to the second time stamp; and according to the second instruction data, the control robot 2 performs the corresponding time at the corresponding time of the second time stamp Action to synchronize the instruction data sent by the robot 2 and the server 1;
  • the server 1 is further configured to send the first instruction data carrying the first time stamp to the control device; when the first time stamp expires, resend the second instruction data until the second time stamp carried by the sent second instruction data Not expired.
  • the above system includes a plurality of robots 2, wherein a plurality of them are any integers greater than 1, and the embodiments of the present invention do not limit the specific values of the plurality.
  • the server 1 and the robot 2 are connected by a wireless network, and the wireless network may be a WI-FI, and may be a 433 MHz private network or a 2.4G wireless network.
  • the server 1 sends a timing instruction to the robot 2, where the timing instruction includes the current time information of the server 1.
  • the robot 2 receives the timing instruction sent by the server 1, it sends a response message to the server 1, the server. 1
  • the timing success information is sent to the robot 2, and the robot 2 receives the transmission from the server 1.
  • the time between the synchronization and the server 1 is synchronized. If the server 1 fails to give the robot 2 a time, the server 1 resends the timing instruction to the robot.
  • the server 1 may include:
  • a timing module configured to start timing after sending a timing instruction to the robot 2;
  • the server determining module is configured to determine whether the response information sent by the robot 2 is received within the first preset time. If yes, it is determined that the robot 2 is successful in timing, and if not, it is determined that the robot 2 is not successful in timing.
  • the timing module After the server 1 sends the timing instruction to the robot 2, the timing module starts counting.
  • the robot 2 receives the timing instruction sent by the server 1, it sends a response message to the server 1, and the server judgment module determines whether the server 1 is in the first preset.
  • Receiving the response information sent by the robot 2 within the time if the server 1 receives the response information sent by the robot 2 within the first preset time, it is determined that the robot 2 is successful in timing, such as If the server 1 does not receive the response information transmitted by the robot 2 within the first predetermined time, it is determined that the timing of the robot 2 is unsuccessful, and the server 1 resends the timing command to the robot 2.
  • the robot 2 may include:
  • a recording module configured to record current time information of the server 1 included in the timing instruction sent by the server 1;
  • a calculation module configured to calculate a difference between current time information of the server 1 and time information of the robot 2;
  • the server 1 sends a timing instruction to the robot 2, where the timing instruction includes the current time information of the server 1.
  • the recording module in the robot 2 records the server. 1
  • the calculation module calculates the difference between the current time information of the server 1 recorded above and the time information of the robot 2, and sends the difference to the save module, and the difference is saved by the save module.
  • the server 1 may further include a first sending module.
  • the first sending module is configured to send a timing instruction to the robot 2 every second preset time interval.
  • the server 1 After the server 1 successfully delivers the time to the robot 2, the server 1 sends a timing success message to the robot 2. After receiving the information of the successful timing sent by the server 1, the robot 2 adjusts its own clock according to the saved difference to make its own time. Synchronized with the time of the server 1, at this time, the time between the server 1 and the robot 2 is the same, but since the clocks on the server 1 and the robot 2 are different, the time between the server 1 and the robot 2 may be separated after a certain time interval. The out-of-synchronization occurs again, and therefore, the first transmitting module in the server 1 transmits a timing instruction to the robot 2 every second preset time interval.
  • the robot 2 may further include a second sending module.
  • a second sending module configured to send a standard time acquisition request to the server 1 every third predetermined time interval, where the standard time acquisition request includes an address code of the robot 2, so that the server 1 acquires the current request of the server 1 according to the standard time acquisition request. Time information is given to the robot 2.
  • the robot 2 can passively accept the timing instruction sent by the server 1, and can also send a standard time acquisition request to the server 1 by the second sending module every third preset time interval, wherein the standard time is
  • the current time information of the server 1 is sent to the robot 2 when the server 1 receives the standard time acquisition request sent by the second sending module, if the robot 2 receives the server within the fourth preset time. 1
  • the current time information of the server sent is recorded, and the time information is recorded and saved as the standard time, so that the time synchronization between the server 1 and the robot 2 is realized, if the robot 2 does not receive the fourth preset time
  • the current time information of the server 1 sent by the server 1 transmits the standard time acquisition request to the server 1 again.
  • control device includes:
  • the receiving module 10 is configured to receive first instruction data that is sent by the server and that carries the first time stamp.
  • the first instruction data is used to control the robot to perform a corresponding action at a time corresponding to the first time stamp.
  • the control device determining module 20 is configured to determine whether the first time stamp in the first command data received by the receiving module 10 is expired;
  • the expired instruction data analysis module 30 is configured to receive the instruction data resent by the server when the control device determining module 20 detects that the first time stamp expires, until the second time stamp received is received. Second instruction data; wherein the second instruction data is used to control the robot to perform a corresponding action at a time corresponding to the second time stamp;
  • the data synchronization module 40 is configured to control the robot to perform a corresponding action according to the second instruction data analyzed by the expiration instruction data analysis module 30 to synchronize the instruction data sent by the robot and the server 21 at a time corresponding to the second time stamp.
  • the first instruction data and the second instruction data may be a control execution instruction sent by the server to an instantaneous action of the corresponding robot, or may be a series of control execution instructions including walking information, wherein the walking information includes straight running. , left turn, right turn and other corresponding action information.
  • the expired instruction data analysis module 30 includes a first response command sending unit 301 and a second command data receiving unit 302. ,among them,
  • the first response command sending unit 301 is configured to: when the control device determining module 20 detects that the first time stamp expires, send a first response command with the time stamp expiring to the server 1, so that the server feeds back the command data corresponding to the first response command;
  • a second instruction data receiving unit 302 configured to receive second instruction data that is re-sent by the server and that is not expired; wherein the second instruction data is generated by the server according to a current state of the robot, where the current state is at least It includes one or more of the following status information of the robot: position information, direction information, and interaction information.
  • control apparatus provided by the embodiment of the present invention further includes an unexpired instruction data analysis module 50 for analyzing the unexpired instruction data, which includes a second response instruction sending unit. 501 and a third command data receiving unit 502, wherein
  • the second response command sending unit 501 is configured to: when the control device determining module 20 detects that the first time stamp has not expired, send a second response command that the time stamp has not expired to the server; and the third command data receiving unit 502 is configured to follow Receiving, by the preset interval, the third instruction data that is sent by the server and carrying the third time stamp; wherein the third instruction data is used to control the robot to perform the next action corresponding to the execution of the first instruction data at the time corresponding to the third time stamp
  • the third instruction data is instruction data transmitted by the server corresponding to the second response command transmitted by the second response command transmitting unit 501.
  • the control device provided by the embodiment of the present invention periodically performs accurate time synchronization between the robot and the server in the same network communication.
  • the control device determining module 20 of the control device provided by the embodiment of the present invention determines whether the first time stamp in the first command data is out of time based on the time synchronization.
  • the control device determining module 20 includes:
  • the time stamp acquisition unit 201 is configured to acquire a first time stamp in the first instruction data received by the receiving module 10;
  • the first time stamp determining unit 201 is configured to determine whether the first time stamp acquired by the first time stamp acquiring unit 201 is greater than the display time of the robot; wherein the display time of the robot is synchronized with the display time of the server;
  • the expiration determining unit 203 is configured to determine that the first time stamp expires when the first time stamp determining unit 201 determines that the first time stamp in the first command data is less than the display time of the robot;
  • the non-expiration determining unit 204 is configured to determine that the first time stamp has not expired when the first time stamp determining unit 201 determines that the first time stamp in the first command data is greater than the display time of the robot.
  • the system for synchronizing the robot and the server sends a timing instruction to the robot through the server, where the timing instruction includes the current time information of the server, and the robot receives the timing instruction sent by the server, so that the time synchronization between the robot and the server is performed; Furthermore, compared with the prior art robot remote control adopts the WIFI network communication mode, the network signal stability is poor, and the robot is not synchronized with the server instruction due to the interference, and the control device determines the first command data sent by the server.
  • the time stamp expires, and receives the instruction data resent by the server again when it expires, until receiving the second instruction data that the second time stamp is not expired, ensuring that the robot can synchronize the specified time set by the server, and is in the right It is time to perform the prescribed actions, which improves the working efficiency of the robot and the work coordination ability of multiple robots.
  • a computer program product for performing a method for synchronizing a robot with a server comprising a computer readable storage medium storing program code, the program code comprising instructions for executing the method described in the foregoing method embodiment
  • program code comprising instructions for executing the method described in the foregoing method embodiment
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some communication interface, device or unit, and may be electrical, mechanical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Selective Calling Equipment (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提供了一种机器人与服务器同步的方法及系统,通过服务器向机器人发送授时指令,该授时指令中包括服务器当前的时间信息,机器人接收服务器发送的授时指令,使得机器人和服务器之间的时间同步;控制装置接收服务器发送的携带有第一时间标记的第一指令数据;第一指令数据用于控制机器人在第一时间标记对应的时间执行对应的动作;然后判断第一指令数据中的第一时间标记是否过期;在过期时,接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;最后根据第二指令数据,控制所述机器人在第二时间标记对应的时间执行对应的动作,以实现机器人和服务器发送的指令数据同步,确保了机器人能够同步服务器设置的规定时间,并在对应该时间执行规定的动作,提高了机器人的工作效率及多个机器人的工作协调能力。

Description

机器人与服务器同步的方法及系统 技术领域
本发明涉及机器人技术领域,具体而言,涉及机器人与服务器同步的方法及系统。
背景技术
随着计算机技术和人工智能技术的飞速发展,预计在不久的将来机器人将会是决定国家竞争力的重要产业之一。机器人在诸如超级市场、机场、车站、会展中心及物流仓库等大型人流、物流应用场合都有着广泛的应用,其通过自主工作以协助或者取代人类的工作。当很多机器人集中在工作区域时,各个机器人都保持着运动的状态,服务器远程控制机器人工作时,会向机器人发送指令,通过指令来控制机器人的运动状态;与此同时,无线网络通信技术的日益发展为机器人远程控制提供了便捷而稳定的通讯手段,将复杂环境下的实时控制变成了可能。
现有技术中机器人远程控制方法,采用无线通信的方式进行服务器端和机器人的数据传输。由于WIFI网络具有覆盖范围广、传输带宽大和传输速度很快的突出优势,通常使用WIFI网络进行数据通信。上述远程控制方法通过WIFI网络将服务器端发送的控制指令传输至机器人,该终端则接收上述控制指令,并进行相关的指令分析和指令执行等操作来实现对机器人动作的控制。
发明人在研究中发现,现有技术中,服务器可以通过指令来实现机器人定时工作或者控制机器人的运动状态,但是,一方面,由于服务器和机器人之间的时间不同步,就会导致指令的发送和接收的不同步,从而导致机器人运动的不同步,就会导致机器人之间发生碰撞;另一方面,机器人远程控制方法采用WIFI网络通信的方式,网络信号稳定性差而易受干扰,则服务器端与机器人通信的方法中将存在指令传输延迟的问题而导致机器人不能在规定的时间执行规定的动作,工作效率低下,进一步导致机器人之间动作的相互干扰而不能很好的协调工作,协调能力差。
发明内容
有鉴于此,本发明的目的在于提供一种机器人与服务器同步的方法及系统,用于解决现有技术中由于服务器和机器人之间的时间不同步,导致服务器和机器人之间指令的发送和接收不同步,机器人之间发生碰撞的问题;并且确保了机器人能够按照服务器的执行指令在规定的时间执行规定的动作,克服了多个机器人由于指令传输延迟所造成的相互干扰,提高了机器人的工作效率及机器人之间的协调能力。
第一方面,本发明实施例提供了一种机器人与服务器同步的方法,其中,所述方法包括:
所述服务器向所述机器人发送授时指令,所述授时指令包括所述服务器当前的时间信息;
所述机器人接收所述服务器发送的授时指令;
所述机器人根据所述授时指令发送应答信息给所述服务器;
所述服务器接收所述机器人发送的应答信息,并根据所述应答信息判断对所述机器人授时是否成功;
如果所述服务器对所述机器人授时成功,则发送授时成功信息给所述机器人;
所述机器人接收到所述服务器发送的授时成功信息后,同步与所述服务器之间的时间;
如果所述服务器对所述机器人授时不成功,则重新向所述机器人发送授时指令。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述服务器根据所述应答信息判断对所述机器人授时是否成功,包括:
所述服务器向所述机器人发送授时指令后,开始计时;
所述服务器判断是否在第一预设时间内接收到所述机器人发送的应答信息,如果是,则判断为对所述机器人授时成功,如果否,则判断为对所述机器人授时不成功。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述机器人接收所述服务器发送的授时指令之后,还包括:
所述机器人记录所述服务器发送的授时指令中包括的所述服务器当前的时间信息;
所述机器人计算所述服务器当前的时间信息与所述机器人的时间信息的差值;
所述机器人保存所述差值。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:
所述服务器每间隔第二预设时间向所述机器人发送一次授时指令。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
所述机器人每间隔第三预设时间向所述服务器发送标准时间获取请求,所述标准时间获取请求包括机器人的地址码,以使所述服务器根据所述标准时间获取请求发送所述服务器当前的时间信息给所述机器人。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述机器人包括与所述服务器通信连接的控制装置,所述控制装置控制所述机器人与所述服务器进行指令同步,包括:
所述控制装置接收所述服务器发送的携带有第一时间标记的第一指令数据;所述第一指令数据用于控制所述机器人在所述第一时间标记对应的时间执行对应的动作;
判断所述第一指令数据中的第一时间标记是否过期;
若检测到所述第一时间标记过期,则接收所述服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据用于控制所述机器人在所述第二时间标记对应的时间执行对应的动作;
根据所述第二指令数据,控制所述机器人在所述第二时间标记对应的时间执 行对应的动作,以实现所述机器人和所述服务器发送的指令数据同步。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述控制装置在检测到所述第一时间标记过期时,则接收所述服务器重新发送的第二指令数据,包括:
所述控制装置在检测到所述第一时间标记过期时,向所述服务器发送时间标记过期的第一应答指令,以便所述服务器反馈所述第一应答指令对应的指令数据;
接收所述服务器重新发送的携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据是所述服务器根据所述机器人的当前状态生成的,所述当前状态至少包括所述机器人的以下状态信息中的一种或多种:位置信息、方向信息及交互信息。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述方法还包括:
在所述控制装置检测到所述第一时间标记未过期时,向所述服务器发送时间标记未过期的第二应答指令。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述方法还包括:
按照预设间隔接收所述服务器发送的携带有第三时间标记的第三指令数据;所述第三指令数据用于控制所述机器人在所述第三时间标记对应的时间执行对应于所述第一指令数据执行动作的下一个动作;所述第三指令数据是所述服务器发送的对应于所述第二应答指令的指令数据。
结合第一方面,本发明实施例提供了第一方面的第九种可能的实施方式,其中,所述判断所述第一指令数据中的第一时间标记是否过期,包括:
获取所述第一指令数据中的第一时间标记;
判断所述第一时间标记是否大于所述机器人的显示时间;其中,所述机器人的显示时间与所述服务器的显示时间同步;
在所述第一指令数据中的第一时间标记小于所述机器人的显示时间时,判定所述第一时间标记过期;
在所述第一指令数据中的第一时间标记大于所述机器人的显示时间时,判定所述第一时间标记未过期。
第二方面,本发明实施例还提供了一种机器人与服务器同步的系统,包括:
机器人,用于接收所述服务器发送的授时指令;用于根据所述授时指令发送应答信息给所述服务器;还用于接收到所述服务器发送的授时成功信息后,同步与所述服务器之间的时间;
服务器,用于向所述机器人发送授时指令,所述授时指令包括服务器当前的时间信息;还用于接收所述机器人发送的应答信息,并根据所述应答信息判断对所述机器人授时是否成功;还用于如果对所述机器人授时成功,则发送授时成功信息给所述机器人;如果对所述机器人授时不成功,则重新向所述机器人发送授时指令;
所述机器人包括与所述服务器通信连接的控制装置,所述控制装置,用于接收所述服务器发送的携带有第一时间标记的第一指令数据;所述第一指令数据用 于控制所述机器人在所述第一时间标记对应的时间执行对应的动作;判断所述第一指令数据中的第一时间标记是否过期;若检测到所述第一时间标记过期,则接收所述服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据用于控制所述机器人在所述第二时间标记对应的时间执行对应的动作;根据所述第二指令数据,控制所述机器人在所述第二时间标记对应的时间执行对应的动作,以实现所述机器人和所述服务器发送的指令数据同步;
所述服务器,还用于向所述控制装置发送携带有第一时间标记的第一指令数据;在所述第一时间标记过期时,重新发送第二指令数据,直至发送的所述第二指令数据携带的第二时间标记未过期。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述服务器包括:
计时模块,用于向机器人发送授时指令后,开始计时;
服务器判断模块,用于判断是否在第一预设时间内接收到所述机器人发送的应答信息,如果是,则判断为对所述机器人授时成功,如果否,则判断为对所述机器人授时不成功。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述机器人还包括:
记录模块,用于记录所述服务器发送的授时指令中包括的服务器当前的时间信息;
计算模块,用于计算所述服务器当前的时间信息与机器人的时间信息的差值;
保存模块,用于保存所述差值。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述服务器还包括:
第一发送模块,用于每间隔第二预设时间向所述机器人发送一次授时指令。
结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述机器人还包括:
第二发送模块,用于每间隔第三预设时间向所述服务器发送标准时间获取请求,所述标准时间获取请求包括机器人的地址码,以使所述服务器根据标准时间获取请求发送所述服务器当前的时间信息给所述机器人。
结合第二方面,本发明实施例提供了第二方面的第五种可能的实施方式,其中,所述控制装置包括:
接收模块,用于接收所述服务器发送的携带有第一时间标记的第一指令数据;所述第一指令数据用于控制所述机器人在所述第一时间标记对应的时间执行对应的动作;
控制装置判断模块,用于判断所述接收模块接收的所述第一指令数据中的第一时间标记是否过期;
过期指令数据分析模块,用于在所述控制装置判断模块检测到所述第一时间标记过期时,接收所述服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据用于控制所述机器人在所 述第二时间标记对应的时间执行对应的动作;
数据同步模块,用于根据所述过期指令数据分析模块分析的所述第二指令数据,控制所述机器人在所述第二时间标记对应的时间执行对应的动作,以实现所述机器人和所述服务器发送的指令数据同步。
结合第二方面,本发明实施例提供了第二方面的第六种可能的实施方式,其中,所述过期指令数据分析模块包括:
第一应答指令发送单元,用于在所述控制装置判断模块检测到所述第一时间标记过期时,向所述服务器发送时间标记过期的第一应答指令,以便所述服务器反馈所述第一应答指令对应的指令数据;
第二指令数据接收单元,用于接收所述服务器重新发送的携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据是所述服务器根据所述机器人的当前状态生成的,所述当前状态至少包括所述机器人的以下状态信息中的一种或多种:位置信息、方向信息及交互信息。
结合第二方面,本发明实施例提供了第二方面的第七种可能的实施方式,其中,所述控制装置还包括未过期指令数据分析模块;所述未过期指令数据分析模块包括:
第二应答指令发送单元,用于在所述控制装置判断模块检测到所述第一时间标记未过期时,向所述服务器发送时间标记未过期的第二应答指令;
第三指令数据接收单元,用于按照预设间隔接收所述服务器发送的携带有第三时间标记的第三指令数据;所述第三指令数据用于控制所述机器人在所述第三时间标记对应的时间执行对应与所述第一指令数据执行动作的下一个动作;所述第三指令数据是所述服务器发送的对应于所述第二应答指令发送单元发送的所述第二应答指令的指令数据。
结合第二方面,本发明实施例提供了第二方面的第八种可能的实施方式,其中,所述控制装置判断模块包括:
第一时间标记获取单元,用于获取所述接收模块接收的所述第一指令数据中的第一时间标记;
第一时间标记判断单元,用于判断所述第一时间标记获取单元获取的所述第一时间标记是否大于所述机器人的显示时间;其中,所述机器人的显示时间与所述服务器的显示时间同步;
过期判断单元,用于在所述第一时间标记判断单元判断出所述第一指令数据中的第一时间标记小于所述机器人的显示时间时,判定所述第一时间标记过期;
未过期判断单元,用于在所述第一时间标记判断单元判断出所述第一指令数据中的第一时间标记大于所述机器人的显示时间时,判定所述第一时间标记未过期。
本发明实施例提供的机器人与服务器同步的方法及系统,一方面,通过服务器向机器人发送授时指令,该授时指令中包括服务器当前的时间信息,机器人接收服务器发送的授时指令,使得机器人和服务器之间时间同步;进而机器人包括的控制装置接收服务器发送的携带有第一时间标记的第一指令数据;然后判断第一指令数据中的第一时间标记是否过期;在过期时,收所述服务器重新发送的指 令数据,直至接收到携带的第二时间标记未过期的第二指令数据;最后根据第二指令数据,控制机器人在第二时间标记对应的时间执行对应的动作,实现机器人和服务器发送的指令数据同步,与现有技术中的机器人远程控制方法采用WIFI网络通信的方式,网络信号稳定性差而易受干扰导致的机器人与服务器指令不同步相比,通过控制装置判断服务器发送的第一指令数据中的第一时间标记是否过期,在过期时再次接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据,确保了机器人能够同步服务器设置的规定的时间,并在对应该时间执行规定的动作,提高了机器人的工作效率及多个机器人的工作协调能力。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种机器人与服务器同步的方法的流程图;
图2示出了本发明实施例提供的一种机器人与服务器同步的方法的流程图;
图3示出了本发明实施例提供的一种机器人与服务器同步的方法的流程图;
图4示出了本发明实施例提供的一种机器人与服务器同步的方法的流程图;
图5示出了本发明实施例提供的一种机器人与服务器同步的方法的流程图;
图6示出了本发明实施例提供的一种机器人与服务器同步的系统的结构示意图;
图7示出了本发明实施例提供的控制装置的结构示意图;
图8示出了本发明实施例提供的控制装置中过期指令数据分析模块的结构示意图;
图9示出了本发明实施例提供的控制装置中未过期指令数据分析模块的结构示意图;
图10示出了本发明实施例提供的控制装置中控制装置判断模块的结构示意图。
主要元件符号说明:
1服务器;2机器人;10接收模块;20控制装置判断模块;30过期指令数据分析模块;40数据同步模块;50未过期指令数据分析模块;201第一时间标记获取单元;202第一时间标记判断单元;203过期判断单元;204未过期判断单元;301第一应答指令发送单元;302第二指令数据接收单元;501第二应答指令发送单元;502第三指令数据接收单元。
具体实施方式
本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有技术中,当服务器通过指令来实现机器人的定时工作或者控制机器人的运动状态时,由于服务器和机器人之间的时间不同步,就会导致指令的发送和接收的不同步,从而导致机器人运动的不同步,就会导致机器人之间发生碰撞;以及机器人远程控制方法采用WIFI网络通信的方式,网络信号稳定性差而易受干扰,则服务器端与机器人通信的方法中将存在指令传输延迟的问题而导致机器人不能在规定的时间执行规定的动作,工作效率低下,进一步导致机器人之间动作的相互干扰而不能很好的协调工作,协调能力差等问题,本发明实施例提供了一种机器与服务器同步的方法及系统,使得机器人和服务器之间时间同步,进而确保了机器人能够在规定的时间执行规定的动作,提高了机器人的工作效率及多个机器人的协调工作能力。
下面首先对机器人与服务器同步的方法进行具体的阐述,参见图1,本发明实施例提供了一种机器人与服务器同步的方法。
首先通过服务器向机器人发送授时指令来实现服务器和机器人之间的时间同步。
在服务器上设置有一个机器人地址码信息列表,上面存储着所有机器人的地址码,当服务器需要向某些机器人发送授时指令时,服务器就可以根据该服务器上机器人地址码信息列表中存储的上述机器人的地址码,向该机器人发送授时指令。
其中,上述服务器上的机器人地址码信息列表的生成,具体包括如下步骤:
服务器接收机器人发送的连接请求,该连接请求包括机器人的地址码;
服务器将上述机器人的地址码添加到机器人地址码信息列表中,这样就在服务器上形成了一个包括所有机器人地址码的机器人地址码信息列表。
其中,上述服务器和机器人可以通过无线网络连接,该无线网络可以为WI-FI(Wireless-Fidelity,无线保真),可以为433MHz专用网络,还可以为2.4G无线网络。
本发明实施例提供的机器人与服务器进行同步的方法,具体地,包括如下步骤:
S101:服务器向机器人发送授时指令,该授时指令包括服务器当前的时间信息。
服务器和机器人之间通过无线网络建立连接,服务器可以根据服务器上的机器人地址码信息列表中存储的机器人地址码向机器人发送授时指令,该授时指令包括服务器当前的时间信息,以使服务器和机器人之间保持时间同步。
S102:机器人接收服务器发送的授时指令。
当服务器向机器人发送授时指令之后,机器人会接收服务器发送的授时指令,机器人接收服务器发送的授时指令之后,还包括如下步骤:
机器人记录服务器发送的授时指令中包括的服务器当前的时间信息;
机器人计算上述服务器当前的时间信息与机器人的时间信息的差值;
机器人保存上述差值。
服务器向机器人发送的授时指令中包括服务器当前的时间信息,当机器人接收到服务器发送的授时指令之后,会将该授时指令中包括的服务器当前的时间信息记录下来,并将该服务器当前的时间信息与自身当前的时间信息做比较,计算出服务器当前的时间信息与机器人自身当前的时间信息的差值,并将该差值保存起来。
S103:机器人根据上述授时指令发送应答信息给服务器。
当机器人接收到服务器发送的授时指令后,会发送应答信息给服务器,一方面是为了让服务器知道机器人已经接收到服务器发送的授时指令,另一方面由于服务器和机器人之间授时指令的传输受服务器和机器人之间无线网络信号的影响,该授时指令传输需要的时间长短不定,因此,服务器可以根据接收到的机器人发送的应答信息的时间判断是否对机器人授时成功。
S104:服务器接收机器人发送的应答信息,并根据上述应答信息判断对机器人授时是否成功,如果是,则执行S105,如果否,则执行S107。
当机器人接收到服务器发送的授时指令后,会发送应答信息给服务器,服务器接收机器人发送的应答信息,并根据该应答信息判断对机器人的授时是否成功,具体包括如下步骤:
服务器向机器人发送授时指令后,开始计时;
服务器判断是否在第一预设时间内接收到机器人发送的应答信息,如果是,则判断为对机器人授时成功,如果否,则判断为对机器人授时不成功。
其中,第一预设时间是服务器内存储的一个数值,并且在误差允许范围内。
服务器发送授时指令给机器人,当机器人接收到服务器发送的授时指令后,会发送应答信息给服务器,由于受服务器和机器人之间无线网络信号的影响,从服务器发送授时指令给机器人到服务器接收到机器人发送的应答信息之间会有一定的时间间隔,如果这个时间间隔在误差允许的范围内,那么,就认为服务器对机器人授时成功。有时,服务器和机器人之间的无线网络信号差或者不稳定,就会导致从服务器发送授时指令给机器人到服务器接收到机器人发送的应答信息之间的时间间隔变长,从而导致从服务器发送授时指令给机器人到机器人接收到服务器发送的授时指令之间的时间间隔变长,进而导致当机器人接收到服务器发送的授时指令时,该授时指令中包括的服务器当前的时间信息与机器人接收到服务器发送的授时指令时服务器的时间信息不相同,从而导致服务器对机器人授时不成功。
因此,当服务器向机器人发送授时指令后,就开始计时,如果在第一预设时间内服务器接收到机器人发送的应答信息,则判断为服务器对机器人授时成功,如果服务器在第一预设时间内没有接收到机器人发送的应答信息,则判断为服务器对机器人授时不成功。
S105,发送授时成功信息给机器人。
如果服务器在第一预设时间内接收到机器人发送的应答信息,则判断为服务 器对机器人授时成功,这时,服务器会发送授时成功信息给机器人,以告知机器人服务器此次对机器人的授时是成功的。
S106,机器人接收到服务器发送的授时成功信息后,同步与服务器之间的时间。
当机器人接收到服务器发送的授时成功信息后,会根据上述保存的服务器当前的时间信息与机器人当前的时间信息的差值来调整自己的时钟,如果服务器的时间信息快于机器人的时间信息,则此时,机器人将自己的时间信息加上上述差值,则调整为标准时间,也就是调整为和服务器时间同步,如果服务器的时间信息慢于机器人的时间信息,则这时,机器人将自己的时间信息减去上述差值,即调整为标准时间,也就是调整为和服务器时间同步。
在该步骤中,机器人通过加上或者减去上述保存的时间信息差值来同步与服务器之间的时间。
S107,重新向机器人发送授时指令。
当服务器向机器人发送授时指令后,就开始计时,如果在第一预设时间内服务器没有接收到机器人发送的应答信息,则判断为服务器对机器人授时不成功,此时,服务器重新向机器人发送授时指令。
为了保持服务器和机器人之间的时间同步,服务器每间隔第二预设时间向机器人发送一次授时指令。
其中,第二预设时间为服务器内存储的预先设置好的数值。
上述介绍的都是服务器主动对机器人授时,而机器人只能被动的接收服务器发送的授时指令,只能每间隔第二预设时间才能接收一次服务器发送的授时指令,但是由于在工作场地上的机器人很多,并且每个机器人以及服务器上的时钟各不相同,因此,工作一段时间后,服务器和机器人之间的时间又不同步,导致机器人之间相互碰撞,但是服务器只能每间隔第二预设时间才能对机器人发送一次授时指令,如果在两次发送授时指令之间,出现机器人的时间不同步,也会导致机器人发生碰撞的情况,这时,由于还没有达到间隔的第二预设时间,是不能够实现机器人的时间同步的。
因此,在本发明实施例中,机器人每间隔第三预设时间向服务器发送标准时间获取请求,该标准时间获取请求包括机器人的地址码,以使服务器根据该标准时间获取请求发送服务器当前的时间信息给机器人。
其中,第三预设时间为存储在机器人内预先设置好的数值。
机器人通过无线网络向服务器发送标准时间获取请求,该标准时间获取请求中包括机器人的地址码,当服务器接收到机器人发送的标准时间获取请求后,会将服务器当前的时间信息发送给机器人,服务器当前的时间信息就是标准时间,如果机器人在第四预设时间内接收到服务器发送的服务器当前的时间信息,则将服务器当前的时间信息记录下来,并存储为标准时间,这样机器人和服务器之间的时间保持一致,即机器人时间同步成功,如果机器人在第四预设时间内没有接收到服务器发送的服务器当前的时间信息,则再次向服务器发送标准时间获取请求。
其中,上述第四预设时间为机器人内预先设置的一个时间值,并且在误差允 许范围内。
本发明实施例提供的机器人与服务器进行同步的方法,通过服务器向机器人发送授时指令,该授时指令中包括服务器当前的时间信息,机器人接收服务器发送的授时指令,使得机器人和服务器之间时间同步,确保了指令发送和接收的同步,避免机器人之间发生碰撞。
进一步地,机器人包括与服务器通信连接的控制装置,控制装置控制机器人与服务器进行指令同步。
具体地,如图2所示,本发明实施例提供的一种机器人和服务器同步的方法的流程图,还包括如下步骤:
S201.控制装置接收服务器发送的携带有第一时间标记的第一指令数据;其中,第一指令数据用于控制机器人在第一时间标记对应的时间执行对应的动作。
具体的,考虑到现有技术中的机器人远程控制方法存在的指令传输延迟而导致机器人不能在规定的时间执行规定的动作所产生的机器人与服务器指令不同步的问题,本发明实施例中,控制装置接收的是服务器发送的携带有第一时间标记的第一指令数据,其中,第一时间标记记录的是第一条指令数据的执行时间,而第一指令数据能够控制机器人在上述第一时间标记对应的时间执行对应的动作。
另外,上述第一指令数据可以是服务器发送给对应的机器人的一个瞬间动作的控制执行指令,也可以是一串包含行走信息的控制执行指令,其中所述行走信息包括直行、左拐、右拐等对应的动作信息。
S202、判断第一指令数据中的第一时间标记是否过期。
具体的,为了保证上述第一指令数据中的第一时间标记的有效性,在进行机器人与服务器指令同步之前,控制装置首先判断第一指令数据中的第一时间标记是否过期,即是通过该第一时间标记所记录的第一指令数据的执行时间与机器人本身的显示时间的比较进行对应的判断。
S203、若检测到第一时间标记过期,则接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,第二指令数据用于控制机器人在第二时间标记对应的时间执行对应的动作。
具体的,在第一时间标记所记录的第一指令数据的执行时间已经超过了机器人本身的显示时间,即判断出第一时间标记过期时,上述控制装置会抛弃整个第一指令数据,然后继续接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据。
具体的,所述第二指令数据用于控制所述机器人在所述第二时间标记对应的时间执行对应的动作;其中,第二指令数据控制机器人执行的对应的动作与第一指令数据控制机器人执行的对应的动作可以相同,也可以不同,而这两个指令数据对应的执行动作是否相同是根据被控制的机器人的当前状态所决定的,并且上述的第二指令数据所携带的第二时间标记与第一指令数据所携带的第一时间标记并不相同。由于本发明实施例所提供机器人与服务器指令同步的控制方法在服务器获知第一时间标记过期时,在预设的间隔时间会再次发送指令数据,直至接收到携带的第二时间标记未过期的第二指令数据,从而保证了机器人与服务器指令的实时同步。
具体的,上述指令数据是一个泛指的概念,即是该指令数据可以是一个与携带有过期的第一时间标记的第一指令数据相对应的指令数据,也可以是多个与携带有过期的第一时间标记的第一指令数据相对应的指令数据。如果第一个指令数据携带的时间标记未过期,则服务器将停止发送与携带有未过期的时间标记的第一指令数据相对应的其他指令数据;如果第一个指令数据携带的时间标记已过期,则服务器会根据被控制的机器人的当前状态再次发送与携带有过期的第一时间标记的第一指令数据相对应的指令数据,直至控制装置判断出接收的第二指令数据所携带的第二时间标记未过期,服务器在获知第二时间标记未过期时,不再重新发送与携带有未过期的第二时间标记的第二指令数据相对应的其他指令数据,机器人则根据上述第二指令数据在上述未过期的第二时间标记对应的时间执行对应的动作。考虑到指令数据延迟问题的随机性,本发明实施例在具体阐述的方法中,以控制装置第一次接收的第一指令数据过期而通信不成功,第二次接收的第二指令数据未过期而通信成功做具体的说明,第一通信不成功、第二次通信不成功……第N次通信成功的数据同步原理与上述方法类型,在此不再赘述。
另外,上述第二指令数据也可以是服务器发送给对应的机器人的一个瞬间动作的控制执行指令,也可以是一串包含行走信息的控制执行指令,其中所述行走信息包括直行、左拐、右拐等对应的动作信息。
S204、根据第二指令数据,控制机器人在第二时间标记对应的时间执行对应的动作,以实现机器人和服务器发送的指令数据同步。
具体的,上述控制装置根据其携带有第二时间标记未过期的第二指令数据,控制机器人在第二时间标记对应的时间执行对应的动作,以实现机器人和所述服务器发送的指令数据同步。
其中,上述指令数据同步是指机器人能够在第二时间标记记录的执行时间下执行服务器发送的第二指令数据的控制动作。本发明实施提供的机器人与服务器指令同步的控制方法即是在第一条指令数据中的第一时间已经过期的前期下,还能够继续接收服务器发送的指令数据,直到该指令数据中的时间标记未过期时才执行相应的动作,其中,上述指令数据是服务器根据机器人的当前状态,综合权衡该机器人周围的其他机器人对其动作的影响所发出的控制指令,通过上述循环方法,保证了机器人与服务器指令同步。
本发明实施例提供的机器人与服务器指令同步的方法,与现有技术中的机器人远程控制方法采用WIFI网络通信的方式,网络信号稳定性差而易受干扰导致的机器人与服务器指令不同步相比,通过控制装置判断服务器发送的第一指令数据中的第一时间标记是否过期,在过期时再次接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据,确保了机器人能够同步服务器设置的规定的时间,并在对应该时间执行规定的动作,提高了机器人的工作效率及多个机器人的协调工作能力。
为了实现控制装置对接收的携带有第一时间标记的过期第一指令数据的进一步处理,上述步骤203的过期指令数据分析方法,具体通过如下步骤实现,参见图3所示的流程图,所述方法还包括:
S211、控制装置在检测到第一时间标记过期时,向服务器发送时间标记过期 的第一应答指令,以便服务器反馈第一应答指令对应的指令数据;
S212、接收服务器重新发送的携带的第二时间标记未过期的第二指令数据;其中,第二指令数据是服务器根据机器人的当前状态生成的,上述当前状态至少包括机器人的以下状态信息中的一种或多种:位置信息、方向信息及交互信息。
具体的,控制装置在检测到第一时间标记过期时,会抛弃该第一时间标记对应的第一指令数据,且向服务器发送时间标记过期的第一应答指令,然后,服务器接收上述第一应答指令,并由此应答指令对应的应答结果判断出本次数据通讯已经失败,通过上述判断结果服务器将立即向机器人重新发送指令数据,该指令数据是服务器根据机器人的当前状态,综合权衡该机器人周围的其他机器人对其动作的影响所发出的控制指令,最后,控制装置接收上述指令数据并进行指令数据中携带的时间标记是否过期的判断,直至接收携带的第二时间标记未过期的第二指令数据,服务器便不再发送与携带有未过期的第二时间标记的第二指令数据相对应的指令数据,控制装置也不再接收。
其中,考虑到控制一个或多个机器人的服务器的主控制装置将给所有的被控制机器人分配相应的子控制装置,即每一个子控制装置对应控制一个相应的机器人,则本发明实施例所提供的机器人与服务器指令同步的控制方法可以通过服务器控制一个机器人同步,也可以控制多个机器人同步。所以,服务器在接收到机器人发送的第一应答指令后,将综合考虑当前所有机器人的位置信息、方向信息、及机器人之间的交互信息给当前发送第一应答指令对应的该机器人再次发送指令数据,直至发送出的该指令数据为携带的第二时间标记未过期的第二指令数据,同样的,上述第二指令数据也是服务器综合考虑所有相关的机器人位置信息、方向信息、及机器人之间的交互信息生成的。
另外,本发明实施例所提供的机器人与服务器同步的方法在服务器发送上述指令数据或者第二指令数据时,还可以在确知的地点(如拐弯)预留出一定的延迟时间,使得上述指令同步方法更具有鲁棒性。
对应于上述过期指令数据分析方法,本发明实施例所提供的机器人与服务器指令同步的方法还包括有对未过期指令数据的分析方法,具体通过如下步骤实现,参见图4所示的流程图,所述方法还包括如下步骤:
S221、控制装置检测到第一时间标记未过期时,向服务器发送时间标记未过期的第二应答指令;
S222、按照预设间隔接收服务器发送的携带有第三时间标记的第三指令数据;其中,第三指令数据用于控制机器人在第三时间标记对应的时间执行对应与第一指令数据执行动作的下一个动作;上述第三指令数据是服务器发送的对应于第二应答指令的指令数据。
具体的,控制装置在检测到第一时间标记未过期时,将向服务器发送时间标记过期的第二应答指令,然后,服务器接收上述第一应答指令,并由此应答指令对应的应答结果判断出本次数据通讯已经成功,通过上述判断结果服务器将按照预设时间间隔向机器人发送第三指令数据,第三指令数据用于控制机器人在第三时间标记对应的时间执行对应与第一指令数据执行动作的下一个动作,即上述第三指令数据是在第一指令数据未过期时的下一条新的指令数据,同样的,控制装 置也将对该第三指令数据进行时间第三时间标记是否过期的判断,具体判断方法与判断第一指令数据中的第一时间标记是否过期类似,在此不再赘述。
另外,上述第三指令数据也可以是服务器发送给对应的机器人的一个瞬间动作的控制执行指令,也可以是一串包含行走信息的控制执行指令,其中所述行走信息包括直行、左拐、右拐等对应的动作信息。
为了确保在网络传输方法中相关指令数据应用的最佳性能,本发明实施例所提供的机器人与服务器指令同步的方法定期的将处于同一网络通信中的机器人和服务器进行精确的时间同步。本发明实施例提供的上述控制方法即是基于上述时间同步进行的第一指令数据中的第一时间标记是否过期的判断,参见图5,上述判断方法具体包括如下步骤:
S231、获取第一指令数据中的第一时间标记;
S232、判断第一时间标记是否大于机器人的显示时间;其中,机器人的显示时间与服务器的显示时间同步。
具体的,本发明实施例提供的控制流程首先获取第一指令数据中的第一时间标记,再进行该第一时间标记与机器人的当前显示时间的比较。其中,机器人的当前显示时间与服务器的当前显示时间同步,而第一时间标记是服务器发送的第一指令数据携带的指令执行时间,通过两者时间信息的比较,更具有通信成功与否判断的可信度。
S233、在第一指令数据中的第一时间标记小于机器人的显示时间时,判定第一时间标记过期。
在第一指令数据中的第一时间标记小于机器人的显示时间时,即是机器人接收到该第一指令数据所对应的显示时间已经超过了第一指令数据对应的执行时间,判断出第一时间标记过期,则无法按照该第一指令数据对应的执行时间执行相应的动作。
S234、在第一指令数据中的第一时间标记大于机器人的显示时间时,判定第一时间标记未过期。
在第一指令数据中的第一时间标记大于机器人的显示时间时,即是第一指令数据对应的执行时间大于机器人接收到该第一指令数据所对应的显示时间,判断出第一时间标记未过期,则机器人由当前的显示时间等待至执行时间以按照该第一指令数据对应的执行时间执行相应的动作。
本发明实施例提供的机器人与服务器同步的方法,通过服务器向机器人发送授时指令,该授时指令中包括服务器当前的时间信息,机器人接收服务器发送的授时指令,使得机器人和服务器之间时间同步;进而与现有技术中的机器人远程控制方法采用WIFI网络通信的方式,网络信号稳定性差而易受干扰导致的机器人与服务器指令不同步相比,通过控制装置判断服务器发送的第一指令数据中的第一时间标记是否过期,在过期时再次接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据,确保了机器人能够同步服务器设置的规定的时间,并在对应该时间执行规定的动作,提高了机器人的工作效率及多个机器人的工作协调能力。
本发明实施例还提供了机器人与服务器同步的系统,所述系统用于执行上述 机器人与服务器同步的方法,参见图6,所述系统包括服务器1和机器人2,
机器人2,用于接收服务器1发送的授时指令;用于根据授时指令发送应答信息给服务器1;还用于接收到服务器1发送的授时成功信息后,同步与服务器1之间的时间;
服务器1,用于机器人2发送授时指令,授时指令包括服务器1当前的时间信息;还用于接收机器人2发送的应答信息,并根据应答信息判断对机器人2授时是否成功;还用于如果对机器人2授时成功,则发送授时成功信息给机器人2;如果对机器人2授时不成功,则重新向机器人2发送授时指令;
机器人2包括与服务器1通信连接的控制装置,控制装置,用于接收服务器1发送的携带有第一时间标记的第一指令数据;第一指令数据用于控制机器人2在第一时间标记对应的时间执行对应的动作;判断第一指令数据中的第一时间标记是否过期;若检测到第一时间标记过期,则接收服务器1重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,第二指令数据用于控制机器人2在第二时间标记对应的时间执行对应的动作;根据第二指令数据,控制机器人2在第二时间标记对应的时间执行对应的动作,以实现机器人2和服务器1发送的指令数据同步;
服务器1,还用于向控制装置发送携带有第一时间标记的第一指令数据;在第一时间标记过期时,重新发送第二指令数据,直至发送的第二指令数据携带的第二时间标记未过期。
如图6所示,上述系统包括多个机器人2,其中多个为大于1的任意整数,本发明实施例不限制上述多个的具体数值。
其中,服务器1和机器人2通过无线网络连接,该无线网络可以为WI-FI,可以为433MHz专用网络,还可以为2.4G无线网络。
在本发明实施例中,服务器1向机器人2发送授时指令,该授时指令中包括服务器1当前的时间信息,当机器人2接收到服务器1发送的授时指令后,会发送应答信息给服务器1,服务器1接收到机器人2发送的应答信息后,会根据该应答信息判断对机器人2的授时是否成功,如果对机器人2的授时成功,则发送授时成功信息给机器人2,机器人2接收到服务器1发送的授时成功信息后,同步与服务器1之间的时间,如果服务器1对机器人2授时不成功,服务器1会重新向机器人发送授时指令。
其中,作为一个实施例,服务器1可以包括:
计时模块和服务器判断模块。
计时模块,用于向机器人2发送授时指令后,开始计时;
服务器判断模块,用于判断是否在第一预设时间内接收到机器人2发送的应答信息,如果是,则判断为对机器人2授时成功,如果否,则判断为对机器人2授时不成功。
服务器1向机器人2发送授时指令后,计时模块就开始计时,当机器人2接收到服务器1发送的授时指令后,会发送应答信息给服务器1,服务器判断模块会判断服务器1是否在第一预设时间内接收到机器人2发送的应答信息,如果服务器1在第一预设时间内接收到机器人2发送的应答信息,则判断为对机器人2授时成功,如 果服务器1在第一预设时间内没有接收到机器人2发送的应答信息,则判断为对机器人2授时不成功,服务器1会重新向机器人2发送授时指令。
其中,作为一个实施例,机器人2可以包括:
记录模块、计算模块和保存模块。
记录模块,用于记录服务器1发送的授时指令中包括的服务器1当前的时间信息;
计算模块,用于计算服务器1当前的时间信息与机器人2的时间信息的差值;
保存模块,用于保存上述差值。
在本发明实施例中,服务器1向机器人2发送授时指令,该授时指令中包括服务器1当前的时间信息,当机器人2接收到服务器1发送的授时指令后,机器人2中的记录模块会记录服务器1当前的时间信息,计算模块会计算上述记录的服务器1当前的时间信息与机器人2的时间信息的差值,并将该差值发送给保存模块,由保存模块保存该差值。
其中,作为一个实施例,服务器1还可以包括第一发送模块。
第一发送模块,用于每间隔第二预设时间向机器人2发送一次授时指令。
当服务器1向机器人2授时成功后,服务器1发送授时成功信息给机器人2,机器人2接收到服务器1发送的授时成功的信息后,根据上述保存的差值,调整自身的时钟,使得自身的时间与服务器1的时间同步,此时服务器1和机器人2之间的时间是相同的,但是由于服务器1和机器人2上的时钟不同,可能间隔一定时间后,服务器1和机器人2之间的时间会再次出现不同步,因此,服务器1中的第一发送模块每间隔第二预设时间向机器人2发送一次授时指令。
其中,作为一个实施例,机器人2还可以包括第二发送模块。
第二发送模块,用于每间隔第三预设时间向服务器1发送标准时间获取请求,该标准时间获取请求包括机器人2的地址码,以使服务器1根据上述标准时间获取请求发送服务器1当前的时间信息给机器人2。
在本发明实施例中,机器人2除了可以被动接受服务器1发送的授时指令,还可以通过第二发送模块每间隔第三预设时间主动向服务器1发送标准时间获取请求,其中,该标准时间就是服务器1当前的时间信息,当服务器1接收到第二发送模块发送的标准时间获取请求后,会将服务器1当前的时间信息发送给机器人2,如果机器人2在第四预设时间内接收到服务器1发送的服务器当前的时间信息,则将该时间信息记录下来,并保存为标准时间,这样,实现服务器1和机器人2之间的时间同步,如果机器人2在第四预设时间内没有接收到服务器1发送的服务器1当前的时间信息,则再次向服务器1发送标准时间获取请求。
进一步地,参见图7,所述控制装置包括:
接收模块10,用于接收服务器发送的携带有第一时间标记的第一指令数据;其中,第一指令数据用于控制机器人在第一时间标记对应的时间执行对应的动作;
控制装置判断模块20,用于判断接收模块10接收的第一指令数据中的第一时间标记是否过期;
过期指令数据分析模块30,用于在控制装置判断模块20检测到第一时间标记过期时,接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过 期的第二指令数据;其中,第二指令数据用于控制机器人在第二时间标记对应的时间执行对应的动作;
数据同步模块40,用于根据过期指令数据分析模块30分析的第二指令数据,控制机器人在第二时间标记对应的时间执行对应的动作,以实现机器人和服务器21发送的指令数据同步。
其中,上述第一指令数据和第二指令数据均可以是服务器发送给对应的机器人的一个瞬间动作的控制执行指令,也可以是一串包含行走信息的控制执行指令,其中所述行走信息包括直行、左拐、右拐等对应的动作信息。
为了实现控制装置对接收的携带有第一时间标记的过期第一指令数据的进一步处理,参见图8,上述过期指令数据分析模块30包括第一应答指令发送单元301和第二指令数据接收单元302,其中,
第一应答指令发送单元301,用于在控制装置判断模块20检测到第一时间标记过期时,向服务器1发送时间标记过期的第一应答指令,以便服务器反馈第一应答指令对应的指令数据;
第二指令数据接收单元302,用于接收服务器重新发送的携带的第二时间标记未过期的第二指令数据;其中,第二指令数据是服务器根据机器人的当前状态生成的,其中,当前状态至少包括机器人的以下状态信息中的一种或多种:位置信息、方向信息及交互信息。
对应于上述过期指令数据分析模块30,参见图9,本发明实施例所提供的控制装置还包括有对未过期指令数据进行分析的未过期指令数据分析模块50,其包括第二应答指令发送单元501和第三指令数据接收单元502,其中,
第二应答指令发送单元501,用于在控制装置判断模块20检测到第一时间标记未过期时,向服务器发送时间标记未过期的第二应答指令;第三指令数据接收单元502,用于按照预设间隔接收服务器发送的携带有第三时间标记的第三指令数据;其中,第三指令数据用于控制机器人在第三时间标记对应的时间执行对应与第一指令数据执行动作的下一个动作;第三指令数据是服务器发送的对应于第二应答指令发送单元501发送的第二应答指令的指令数据。
为了确保在网络传输方法中相关指令数据应用的最佳性能,本发明实施例所提供的控制装置定期的将处于同一网络通信中的机器人和服务器进行精确的时间同步。本发明实施例提供的上述控制装置的控制装置判断模块20基于上述时间同步进行的第一指令数据中的第一时间标记是否过期的判断,参见图10,上述控制装置判断模块20包括:第一时间标记获取单元201,用于获取接收模块10接收的第一指令数据中的第一时间标记;
第一时间标记判断单元201,用于判断第一时间标记获取单元201获取的第一时间标记是否大于机器人的显示时间;其中,机器人的显示时间与服务器的显示时间同步;
过期判断单元203,用于在第一时间标记判断单元201判断出第一指令数据中的第一时间标记小于机器人的显示时间时,判定第一时间标记过期;
未过期判断单元204,用于在第一时间标记判断单元201判断出第一指令数据中的第一时间标记大于机器人的显示时间时,判定第一时间标记未过期。
本发明实施例提供的机器人与服务器进行同步的系统,通过服务器向机器人发送授时指令,该授时指令中包括服务器当前的时间信息,机器人接收服务器发送的授时指令,使得机器人和服务器之间时间同步;进而与现有技术中的机器人远程控制采用WIFI网络通信的方式,网络信号稳定性差而易受干扰导致的机器人与服务器指令不同步相比,通过控制装置判断服务器发送的第一指令数据中的第一时间标记是否过期,在过期时再次接收服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据,确保了机器人能够同步服务器设置的规定的时间,并在对应该时间执行规定的动作,提高了机器人的工作效率及多个机器人的工作协调能力。
本发明实施例所提供的进行机器人与服务器同步的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作方法,可以参考前述方法实施例中的对应方法,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (19)

  1. 一种机器人与服务器同步的方法,包括:
    所述服务器向所述机器人发送授时指令,所述授时指令包括所述服务器当前的时间信息;
    所述机器人接收所述服务器发送的授时指令;
    所述机器人根据所述授时指令发送应答信息给所述服务器;
    所述服务器接收所述机器人发送的应答信息,并根据所述应答信息判断对所述机器人授时是否成功;
    如果所述服务器对所述机器人授时成功,则发送授时成功信息给所述机器人;
    所述机器人接收到所述服务器发送的授时成功信息后,同步与所述服务器之间的时间;
    如果所述服务器对所述机器人授时不成功,则重新向所述机器人发送授时指令。
  2. 根据权利要求1所述的方法,其特征在于,所述服务器根据所述应答信息判断对所述机器人授时是否成功,包括:
    所述服务器向所述机器人发送授时指令后,开始计时;
    所述服务器判断是否在第一预设时间内接收到所述机器人发送的应答信息,如果是,则判断为对所述机器人授时成功,如果否,则判断为对所述机器人授时不成功。
  3. 根据权利要求1所述的方法,其特征在于,所述机器人接收所述服务器发送的授时指令之后,还包括:
    所述机器人记录所述服务器发送的授时指令中包括的所述服务器当前的时间信息;
    所述机器人计算所述服务器当前的时间信息与所述机器人的时间信息的差值;
    所述机器人保存所述差值。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述服务器每间隔第二预设时间向所述机器人发送一次授时指令。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述机器人每间隔第三预设时间向所述服务器发送标准时间获取请求,所述标准时间获取请求包括机器人的地址码,以使所述服务器根据所述标准时间获取请求发送所述服务器当前的时间信息给所述机器人。
  6. 根据权利要求1-5中任一项所述的方法,其特征在于,所述机器人包括与所述服务器通信连接的控制装置,所述控制装置控制所述机器人与所述服务器进行指令同步,所述方法还包括:
    所述控制装置接收所述服务器发送的携带有第一时间标记的第一指令数据;所述第一指令数据用于控制所述机器人在所述第一时间标记对应的时间执行对应的动作;
    判断所述第一指令数据中的第一时间标记是否过期;
    若检测到所述第一时间标记过期,则接收所述服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据用于控制所述机器人在所述第二时间标记对应的时间执行对应的动作;
    根据所述第二指令数据,控制所述机器人在所述第二时间标记对应的时间执行对应的动作,以实现所述机器人和所述服务器发送的指令数据同步。
  7. 根据权利要求6所述的方法,其特征在于,所述控制装置在检测到所述第一时间标记过期时,则接收所述服务器重新发送的第二指令数据,包括:
    所述控制装置在检测到所述第一时间标记过期时,向所述服务器发送时间标记过期的第一应答指令,以便所述服务器反馈所述第一应答指令对应的指令数据;
    接收所述服务器重新发送的携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据是所述服务器根据所述机器人的当前状态生成的,所述当前状态至少包括所述机器人的以下状态信息中的一种或多种:位置信息、方向信息及交互信息。
  8. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    在所述控制装置检测到所述第一时间标记未过期时,向所述服务器发送时间标记未过期的第二应答指令。
  9. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    按照预设间隔接收所述服务器发送的携带有第三时间标记的第三指令数据;所述第三指令数据用于控制所述机器人在所述第三时间标记对应的时间执行对应于所述第一指令数据执行动作的下一个动作;所述第三指令数据是所述服务器发送的对应于所述第二应答指令的指令数据。
  10. 根据权利要求6所述的方法,其特征在于,所述判断所述第一指令数据中的第一时间标记是否过期,包括:
    获取所述第一指令数据中的第一时间标记;
    判断所述第一时间标记是否大于所述机器人的显示时间;其中,所述机器人的显示时间与所述服务器的显示时间同步;
    在所述第一指令数据中的第一时间标记小于所述机器人的显示时间时,判定所述第一时间标记过期;
    在所述第一指令数据中的第一时间标记大于所述机器人的显示时间时,判定所述第一时间标记未过期。
  11. 一种机器人与服务器同步的系统,其特征在于,包括
    机器人,用于接收所述服务器发送的授时指令;用于根据所述授时指令发送应答信息给所述服务器;还用于接收到所述服务器发送的授时成功信息后,同步与所述服务器之间的时间;
    服务器,用于向所述机器人发送授时指令,所述授时指令包括服务器当前的时间信息;还用于接收所述机器人发送的应答信息,并根据所述应答信息判断对所述机器人授时是否成功;还用于如果对所述机器人授时成功,则发送授时成功信息给所述机器人;如果对所述机器人授时不成功,则重新向所述机器人发送授时指令;
    所述机器人包括与所述服务器通信连接的控制装置,所述控制装置,用于接 收所述服务器发送的携带有第一时间标记的第一指令数据;所述第一指令数据用于控制所述机器人在所述第一时间标记对应的时间执行对应的动作;判断所述第一指令数据中的第一时间标记是否过期;若检测到所述第一时间标记过期,则接收所述服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据用于控制所述机器人在所述第二时间标记对应的时间执行对应的动作;根据所述第二指令数据,控制所述机器人在所述第二时间标记对应的时间执行对应的动作,以实现所述机器人和所述服务器发送的指令数据同步;
    所述服务器,还用于向所述控制装置发送携带有第一时间标记的第一指令数据;在所述第一时间标记过期时,重新发送第二指令数据,直至发送的所述第二指令数据携带的第二时间标记未过期。
  12. 根据权利要求11所述的系统,其特征在于,所述服务器包括:
    计时模块,用于向机器人发送授时指令后,开始计时;
    服务器判断模块,用于判断是否在第一预设时间内接收到所述机器人发送的应答信息,如果是,则判断为对所述机器人授时成功,如果否,则判断为对所述机器人授时不成功。
  13. 根据权利要求11所述的系统,其特征在于,所述机器人还包括:
    记录模块,用于记录所述服务器发送的授时指令中包括的服务器当前的时间信息;
    计算模块,用于计算所述服务器当前的时间信息与机器人的时间信息的差值;
    保存模块,用于保存所述差值。
  14. 根据权利要求11所述的系统,其特征在于,所述服务器还包括:
    第一发送模块,用于每间隔第二预设时间向所述机器人发送一次授时指令。
  15. 根据权利要求11所述的系统,其特征在于,所述机器人还包括:
    第二发送模块,用于每间隔第三预设时间向所述服务器发送标准时间获取请求,所述标准时间获取请求包括机器人的地址码,以使所述服务器根据标准时间获取请求发送所述服务器当前的时间信息给所述机器人。
  16. 根据权利要求11-15中任一项所述的系统,其特征在于,所述控制装置包括:
    接收模块,用于接收所述服务器发送的携带有第一时间标记的第一指令数据;所述第一指令数据用于控制所述机器人在所述第一时间标记对应的时间执行对应的动作;
    控制装置判断模块,用于判断所述接收模块接收的所述第一指令数据中的第一时间标记是否过期;
    过期指令数据分析模块,用于在所述控制装置判断模块检测到所述第一时间标记过期时,接收所述服务器重新发送的指令数据,直至接收到携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据用于控制所述机器人在所述第二时间标记对应的时间执行对应的动作;
    数据同步模块,用于根据所述过期指令数据分析模块分析的所述第二指令数据,控制所述机器人在所述第二时间标记对应的时间执行对应的动作,以实现所 述机器人和所述服务器发送的指令数据同步。
  17. 根据权利要求16所述的系统,其特征在于,所述过期指令数据分析模块包括:
    第一应答指令发送单元,用于在所述控制装置判断模块检测到所述第一时间标记过期时,向所述服务器发送时间标记过期的第一应答指令,以便所述服务器反馈所述第一应答指令对应的指令数据;
    第二指令数据接收单元,用于接收所述服务器重新发送的携带的第二时间标记未过期的第二指令数据;其中,所述第二指令数据是所述服务器根据所述机器人的当前状态生成的,所述当前状态至少包括所述机器人的以下状态信息中的一种或多种:位置信息、方向信息及交互信息。
  18. 根据权利要求16所述的系统,其特征在于,所述控制装置还包括未过期指令数据分析模块;所述未过期指令数据分析模块包括:
    第二应答指令发送单元,用于在所述控制装置判断模块检测到所述第一时间标记未过期时,向所述服务器发送时间标记未过期的第二应答指令;
    第三指令数据接收单元,用于按照预设间隔接收所述服务器发送的携带有第三时间标记的第三指令数据;所述第三指令数据用于控制所述机器人在所述第三时间标记对应的时间执行对应与所述第一指令数据执行动作的下一个动作;所述第三指令数据是所述服务器发送的对应于所述第二应答指令发送单元发送的所述第二应答指令的指令数据。
  19. 根据权利要求16所述的系统,其特征在于,所述控制装置判断模块包括:
    第一时间标记获取单元,用于获取所述接收模块接收的所述第一指令数据中的第一时间标记;
    第一时间标记判断单元,用于判断所述第一时间标记获取单元获取的所述第一时间标记是否大于所述机器人的显示时间;其中,所述机器人的显示时间与所述服务器的显示时间同步;
    过期判断单元,用于在所述第一时间标记判断单元判断出所述第一指令数据中的第一时间标记小于所述机器人的显示时间时,判定所述第一时间标记过期;
    未过期判断单元,用于在所述第一时间标记判断单元判断出所述第一指令数据中的第一时间标记大于所述机器人的显示时间时,判定所述第一时间标记未过期。
PCT/CN2016/093124 2016-01-04 2016-08-03 机器人与服务器同步的方法及系统 WO2017118002A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US15/326,409 US10341413B2 (en) 2016-01-04 2016-08-03 Method and system for synchronizing robot with server
EP16883135.2A EP3402106B1 (en) 2016-01-04 2016-08-03 Method and system for synchronization between robot and server
JP2018553279A JP6594567B2 (ja) 2016-01-04 2016-08-03 ロボットとサーバーとの間の同期化方法及びシステム
KR1020187019187A KR102132105B1 (ko) 2016-01-04 2016-08-03 로봇과 서버 사이의 동기화 방법 및 시스템

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201610005093.6 2016-01-04
CN201610005093.6A CN105610536B (zh) 2016-01-04 2016-01-04 一种机器人的时间同步方法及系统
CN201610008091.2A CN105610553A (zh) 2016-01-04 2016-01-04 机器人终端与服务器指令同步的控制方法、装置及系统
CN201610008091.2 2016-01-04

Publications (1)

Publication Number Publication Date
WO2017118002A1 true WO2017118002A1 (zh) 2017-07-13

Family

ID=59273534

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/093124 WO2017118002A1 (zh) 2016-01-04 2016-08-03 机器人与服务器同步的方法及系统

Country Status (5)

Country Link
US (1) US10341413B2 (zh)
EP (1) EP3402106B1 (zh)
JP (1) JP6594567B2 (zh)
KR (1) KR102132105B1 (zh)
WO (1) WO2017118002A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818019B (zh) * 2016-09-12 2019-01-15 北京百度网讯科技有限公司 用于机器人操作系统的数据同步方法和装置
CN107247634A (zh) * 2017-06-06 2017-10-13 广州视源电子科技股份有限公司 一种机器人动态异步远程过程调用的方法和装置
CN107819572B (zh) * 2017-09-29 2021-01-22 北京比特大陆科技有限公司 命令传输方法、装置及电子设备
US11110606B2 (en) * 2019-01-02 2021-09-07 The Boeing Company Coordinating work within a multi-robot cell
CN110032380A (zh) * 2019-02-14 2019-07-19 安徽云之迹信息技术有限公司 机器人休眠状态配置方法、服务器、机器人及系统
CN111984059B (zh) * 2020-07-31 2022-08-26 许继集团有限公司 一种授时模块进行对时的pps跳变侦测方法及系统
WO2023136757A1 (en) * 2022-01-17 2023-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Distribution of data packets for controlling of industrial devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207432A (zh) * 2006-12-19 2008-06-25 华为技术有限公司 一种实现时间自动同步的方法和系统
WO2011021115A1 (en) * 2009-08-17 2011-02-24 Koninklijke Philips Electronics, N.V. System and method to synchronize a patient monitoring device with a central server
CN105188128A (zh) * 2015-08-21 2015-12-23 北京北方烽火科技有限公司 一种无线授时和空口同步方法、基站、通讯设备及系统
CN105610536A (zh) * 2016-01-04 2016-05-25 杭州亚美利嘉科技有限公司 一种机器人的时间同步方法及系统
CN105610553A (zh) * 2016-01-04 2016-05-25 杭州亚美利嘉科技有限公司 机器人终端与服务器指令同步的控制方法、装置及系统

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6363238A (ja) * 1986-09-04 1988-03-19 Matsushita Commun Ind Co Ltd ネツトワ−クシステムの時刻合わせ装置
JPH04273737A (ja) * 1991-02-28 1992-09-29 Toshiba Corp Lanの時刻同期装置
US5428645A (en) * 1992-11-03 1995-06-27 International Business Machines Corporation Anonymous time synchronization method
US5887143A (en) * 1995-10-26 1999-03-23 Hitachi, Ltd. Apparatus and method for synchronizing execution of programs in a distributed real-time computing system
US6769032B1 (en) * 1998-05-15 2004-07-27 E.Piphany, Inc. Augmented processing of information objects in a distributed messaging framework in a computer network
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US20030121027A1 (en) * 2000-06-23 2003-06-26 Hines Kenneth J. Behavioral abstractions for debugging coordination-centric software designs
US20030005407A1 (en) * 2000-06-23 2003-01-02 Hines Kenneth J. System and method for coordination-centric design of software systems
JP2002175129A (ja) * 2000-12-07 2002-06-21 Nissin Electric Co Ltd 時刻整合機能を持つコンピュータ及びネットワークシステム
JP2002328851A (ja) * 2001-04-27 2002-11-15 Sony Corp 制御方法及び伝送装置
US7584019B2 (en) * 2003-12-15 2009-09-01 Dako Denmark A/S Systems and methods for the automated pre-treatment and processing of biological samples
JP4144864B2 (ja) * 2003-02-28 2008-09-03 キヤノン株式会社 情報処理方法及び装置
JP2006050121A (ja) * 2004-08-03 2006-02-16 Nec Corp 時刻設定方法およびシステム
US7983769B2 (en) * 2004-11-23 2011-07-19 Rockwell Automation Technologies, Inc. Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
US8060251B2 (en) * 2004-12-06 2011-11-15 Honda Motor Co., Ltd. Interface for robot motion control
KR100497310B1 (ko) * 2005-01-10 2005-06-23 주식회사 아이오. 테크 네트워크 기반의 로봇 시스템에서 동작 정보 포함멀티미디어 콘텐츠의 선택 및 재생 방법
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
US7596711B2 (en) * 2005-08-19 2009-09-29 Dspace Digital Signal Processing And Control Engineering Gmbh Method and network for synchronistic processing and providing data using an extrapolation data set including at least one update time point
EP1815972B1 (en) * 2006-02-06 2013-12-18 ABB Research Ltd. Press line system and method
JP2007237300A (ja) * 2006-03-07 2007-09-20 Toyota Motor Corp 制御装置、ロボット・システム及びロボット制御方法
KR101298640B1 (ko) * 2006-09-22 2013-09-16 삼성전자주식회사 전송 스트림 패킷을 전송하는 방법 및 장치
US20080095196A1 (en) * 2006-10-20 2008-04-24 Rockwell Automation Technologies, Inc. Unit to unit transfer synchronization
US8639666B2 (en) * 2008-09-05 2014-01-28 Cast Group Of Companies Inc. System and method for real-time environment tracking and coordination
US8647287B2 (en) * 2008-12-07 2014-02-11 Andrew Greenberg Wireless synchronized movement monitoring apparatus and system
FR2962048A1 (fr) * 2010-07-02 2012-01-06 Aldebaran Robotics S A Robot humanoide joueur, methode et systeme d'utilisation dudit robot
JP2012034224A (ja) * 2010-07-30 2012-02-16 Hitachi Cable Ltd 中継機器
JP5184597B2 (ja) * 2010-09-06 2013-04-17 株式会社日立産機システム 通信制御装置及び通信・制御システム
US8874266B1 (en) * 2012-01-19 2014-10-28 Google Inc. Enhancing sensor data by coordinating and/or correlating data attributes
US8565689B1 (en) * 2012-06-13 2013-10-22 All Purpose Networks LLC Optimized broadband wireless network performance through base station application server
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
JP6481807B2 (ja) * 2014-03-07 2019-03-13 日本電気株式会社 時刻同期方法、ネットワークシステム、cpu、中継機器、およびユーザ機器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207432A (zh) * 2006-12-19 2008-06-25 华为技术有限公司 一种实现时间自动同步的方法和系统
WO2011021115A1 (en) * 2009-08-17 2011-02-24 Koninklijke Philips Electronics, N.V. System and method to synchronize a patient monitoring device with a central server
CN105188128A (zh) * 2015-08-21 2015-12-23 北京北方烽火科技有限公司 一种无线授时和空口同步方法、基站、通讯设备及系统
CN105610536A (zh) * 2016-01-04 2016-05-25 杭州亚美利嘉科技有限公司 一种机器人的时间同步方法及系统
CN105610553A (zh) * 2016-01-04 2016-05-25 杭州亚美利嘉科技有限公司 机器人终端与服务器指令同步的控制方法、装置及系统

Also Published As

Publication number Publication date
JP2019504588A (ja) 2019-02-14
KR102132105B1 (ko) 2020-07-09
EP3402106A1 (en) 2018-11-14
US10341413B2 (en) 2019-07-02
EP3402106B1 (en) 2019-12-04
KR20180091044A (ko) 2018-08-14
US20180302461A1 (en) 2018-10-18
JP6594567B2 (ja) 2019-10-23
EP3402106A4 (en) 2019-01-09

Similar Documents

Publication Publication Date Title
WO2017118002A1 (zh) 机器人与服务器同步的方法及系统
US9848069B2 (en) Device synchronization over bluetooth
EP3213569B1 (en) Method und apparatus for determining distance or angle between electronic devices connected wirelessly
US10334545B2 (en) Synchronizing time among two or more devices
WO2018120218A1 (zh) 图像处理方法与设备
WO2023160400A1 (zh) 数据传输方法、蓝牙通信装置、存储介质及程序产品
WO2018040572A1 (zh) 一种天线控制方法、装置及计算机存储介质
CN109996325B (zh) 一种无线传感器网络的时钟同步系统及方法
JP4869055B2 (ja) サブフレームによる同期多重化
CN103516588A (zh) 一种客户端进行后台处理的方法和系统
CN105610536A (zh) 一种机器人的时间同步方法及系统
CN107104822B (zh) 服务器备灾处理方法、装置、存储介质及电子设备
US9781691B2 (en) Wireless communication device, non-transitory computer readable medium, and wireless communication system
JP6251886B2 (ja) 中継装置、および中継装置の制御方法
JP2018524837A (ja) ネットワークイベントタイマの最適化技術
JP6240635B2 (ja) 無線通信方法及び無線通信システム
JP6384318B2 (ja) 通信装置、通信装置の同期方法、通信プログラム及び通信システム
CN105406955A (zh) 数据输出的控制方法和系统
CN113133097B (zh) 一种无线通信方法和系统
CN109586832B (zh) 无线同步方法、无线从机、无线主机和无线同步系统
CN114126028A (zh) 一种差动保护方法、装置、通信单元和存储介质
CN104901986B (zh) 多实例消息的同步方法及装置
JP2002344455A (ja) 通信装置、通信方法および記録媒体
JP2590635B2 (ja) データ送信処理方法
KR20160097848A (ko) 사물 인터넷 운영 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 15326409

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16883135

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20187019187

Country of ref document: KR

Kind code of ref document: A

Ref document number: 2018553279

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020187019187

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016883135

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016883135

Country of ref document: EP

Effective date: 20180806