WO2020259524A1 - Robot obstacle avoidance method, apparatus, and system - Google Patents

Robot obstacle avoidance method, apparatus, and system Download PDF

Info

Publication number
WO2020259524A1
WO2020259524A1 PCT/CN2020/097871 CN2020097871W WO2020259524A1 WO 2020259524 A1 WO2020259524 A1 WO 2020259524A1 CN 2020097871 W CN2020097871 W CN 2020097871W WO 2020259524 A1 WO2020259524 A1 WO 2020259524A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
information
sample information
moment
time
Prior art date
Application number
PCT/CN2020/097871
Other languages
French (fr)
Chinese (zh)
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
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2020259524A1 publication Critical patent/WO2020259524A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Definitions

  • This application relates to the field of electronic equipment, and in particular to a method, device and system for robot obstacle avoidance.
  • Robots such as sweeping robots have been widely used in people's daily lives. Because the robot's work is almost completely autonomous, it often encounters some trapped situations in the process of work. At present, machine learning methods can be used to train robots to recognize dilemmas and avoid obstacles.
  • the more common machine learning methods include supervised learning and reinforcement learning.
  • supervised learning it is necessary to manually collect a large amount of sample data, and manually label these sample data with corresponding trapped or untrapped labels, and then perform supervised learning model training on the labeled sample data to obtain the corresponding model. So that the robot judges whether it needs to avoid obstacles according to the model.
  • the robot is a cleaning robot
  • the sample data is environment information where the cleaning robot is located.
  • the environmental information as shown in Fig. 1A, because the cleaning robot is trapped by the connection line of the plug-in row and cannot move freely, therefore, the sample data can be manually labeled as trapped.
  • the cleaning robot is not trapped by the plug-in row and its connecting line, and can move freely. Therefore, the sample data can be manually labeled as not trapped.
  • the sweeping robot is at an angle between the wall and the fixed object and cannot continue to move freely. Therefore, the sample data can be manually labeled as trapped.
  • the environment shown in FIG. 1A the environment shown in FIG.
  • the sweeping robot is at a position far away from the wall and the fixed object, and can continue to move freely. Therefore, the sample data can be manually labeled as not trapped.
  • the sweeping robot is in the gap between the fixed object and the ground and cannot continue to move freely. Therefore, the sample data can be manually labeled as trapped.
  • the robot is far away from the fixed object and the gap between the fixed object and the ground, and can move freely, so the sample data can be manually labeled as not trapped.
  • the corresponding model can be obtained by training the supervised learning model for obstacle avoidance of the sweeping robot.
  • Reinforcement learning refers to a method in which robots learn in a "trial and error” manner. Based on the large amount of sample data collected manually, and the trapped or untrapped labels manually labeled by the sample data, the robot determines the behavior that rewards the most environmental feedback through constant trial and error. Mark according to the reward result and the trial and error method corresponding to the reward result, as a reference for the next work.
  • sample data need to be collected manually, such as obtained through web crawler search.
  • the state of the robot corresponding to the collected sample data such as whether it is in a trapped state
  • This will bring a lot of labor costs.
  • the quality of collected sample data is difficult to control, which will result in low labeling quality, such as labeling errors.
  • the sample data collected through the web crawler such as the above environmental information, are mostly environmental pictures taken from the user's perspective, which cannot intuitively and accurately reflect the environment where the robot is located. These will lead to inaccurate training models.
  • the embodiments of the present application provide a robot obstacle avoidance method, device, and system, which solves the problem of large labor costs and low accuracy of trained models in the process of using machine learning methods for dilemma recognition.
  • a method for avoiding obstacles for a robot includes: the robot obtains sample information at N times during the movement of the robot, where N is an integer greater than 0; wherein, each of the N times
  • the sample information of includes: environmental image information indicating the environment in which the robot is located at the moment, position information indicating the position of the robot in the environment indicated by the environmental image information at that moment, and tags indicating the state of the robot at that moment Information; the tag information includes the first tag or the second tag.
  • the first tag is used to indicate that the robot is in an untrapped state
  • the second tag is used to indicate that the robot is in a trapped state
  • the sample information is sent to the server, and M is a positive integer less than or equal to N
  • the robot receives the dilemma recognition model from the server, and the dilemma recognition model is trained from the sample information collected by one or more robots; the robot performs the movement according to the dilemma recognition model Avoidance.
  • the robot autonomously collects environmental image information and location information, and obtains 100% correct label information for identifying whether the robot is trapped according to the current state, which ensures the accuracy of the sample information while avoiding a lot of manpower Invest.
  • the robot sends the sample information at N times to the server, and obtains the dilemma recognition model after training, which is used to guide the robot's movement to avoid obstacles. Since the accuracy of the sample information can be guaranteed, the accuracy of the dilemma recognition model is also obtained. Significantly improved, which can guide the robot to avoid obstacles more accurately.
  • the environmental image information at each moment includes: in the environment where the robot is located at that moment, the information on the robot's moving route and the surrounding objects on the moving route Image information. In this way, it can be ensured that the environment image information can include information about objects that are most likely to become obstacles to the movement of the robot.
  • the position information at each moment includes: in the environment indicated by the environmental image information at that moment, the robot and the robot's moving route and moving route Relative position information of surrounding objects. In this way, the specific location of the robot in the environment at that moment can be determined, so that the robot can accurately predict the location of the robot in the environment at the next moment.
  • the robot sends the sample information of M time out of the N time to the server, including: the robot determines the sample information of the N time, the first The label information included in the sample information at the N time is used to indicate that the machine is in a trapped state at the N time; the robot combines the sample information at the M-1 time before the N time and the sample information at the N time Send to the server.
  • the quality of the trapped sample information and the sample information for a period of time before the trapping is higher, so that while ensuring the transmission of high-quality sample information, the system is reduced.
  • the total amount of information transmission reduces the communication load of the system.
  • the robot avoids obstacles during the movement according to the dilemma recognition model, including: the robot obtains the environment image information at the current moment and the current location Information; the robot obtains the environment image information at the next time and the location information at the next time according to the environment image information at the current time, the location information at the current time, and the movement direction and speed of the robot at the current time; Environmental image information, location information at the next moment, and the dilemma recognition model determine the probability of the robot being trapped at the next moment; the robot determines that the probability of the robot being trapped at the next moment is greater than the preset threshold, and the robot changes its motion strategy to avoid obstacles .
  • a second aspect of the embodiments of the present application provides an obstacle avoidance device, which may include: an acquisition unit, a communication unit, and an obstacle avoidance unit.
  • the acquisition unit is used to acquire sample information at N times during the movement of the robot, where N is an integer greater than 0; wherein, the sample information at each of the N times includes: an environment image used to indicate the environment where the robot is located at that moment Information, position information indicating the position of the robot in the environment indicated by the environmental image information at that moment, and tag information indicating the state of the robot at that moment; the tag information includes the first tag or the second tag, and the first tag is used for To indicate that the robot is in an untrapped state, the second tag is used to indicate that the robot is in a trapped state; the communication unit is used to send the sample information at M times out of N times to the server, where M is less than or equal to N A positive integer; the communication unit is also used to receive the dilemma recognition model from the server.
  • the dilemma recognition model is trained from the sample information collected by one or more robot
  • the environmental image information at each moment includes: in the environment where the robot is located at that moment, the information on the robot's moving route and the surrounding objects on the moving route Image information.
  • the location information at each time includes: the environment indicated by the environmental image information at that time, on the movement line and the movement line of the robot and the robot Relative position information of surrounding objects.
  • the determining unit is configured to determine the sample information at the N time, and the label information included in the sample information at the N time is used to indicate the machine In the trapped state at the Nth time; the communication unit is used to send the sample information of the M time in the N time to the server, including: the communication unit is used to send the first M-1 information at the Nth time The sample information at time and the sample information at the Nth time are sent to the server.
  • the acquiring unit is also used to acquire environmental image information at the current moment, and location information at the current moment, according to the environmental image information at the current moment, The position information at the current moment, and the moving direction and speed of the robot at the current moment, to obtain the image information of the environment at the next moment and the location information at the next moment;
  • the obstacle avoidance unit is used to avoid the robot during the movement of the robot according to the dilemma recognition model Obstacles, including: obstacle avoidance unit, used to determine the probability of the robot being trapped at the next moment according to the environmental image information at the next moment, the location information at the next moment, and the dilemma recognition model, and to determine the next moment the robot is trapped If the probability is greater than the preset threshold, change the robot's motion strategy to avoid obstacles.
  • a third aspect of the embodiments of the present application provides a robot obstacle avoidance system.
  • the system may include: one or more robots and a server.
  • the robot is used to obtain the sample information at N times during the robot movement, and send the sample information at the N times to the server; where N is an integer greater than 0, and the sample information at each of the N times includes: The environment image information indicating the environment where the robot is located at that moment, the position information indicating the position of the robot in the environment indicated by the environment image information at that moment, and the label information indicating the state of the robot at that moment;
  • the label information includes the first Tag or second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state;
  • the server is used to receive sample information from one or more robots,
  • the sample information of one or more robots is trained to obtain a dilemma recognition model, and the dilemma recognition model is sent to the robot;
  • the robot is also used to receive the dilemma recognition
  • the sample information received by the server includes the first type of sample information and the second type of sample information; the server is used to verify the received one or more
  • the robot's sample information is trained to obtain the dilemma recognition model, including: the server is used to train the first type of sample information to obtain the initial model, and verify the accuracy of the initial model based on the second type of sample information. If the verification is accurate If the rate is greater than the preset threshold, the initial model is determined to be the dilemma recognition model.
  • the server receives new sample information sent by the robot, and continues training based on the new sample information and the initial model, and According to the second type of sample information, the model obtained by continuing training is verified until the verification accuracy is greater than the preset threshold, and the model with the verification accuracy greater than the preset threshold is determined as the dilemma recognition model; where, if the second type is The state of whether the robot is trapped indicated by the result of inputting the environmental image information and position information in the sample information into the initial model is the same as the state of whether the robot is trapped indicated by the tag information in the second type of sample information, then it is determined The verification of the sample information is accurate; if the environment image information and position information of each sample information in the second type of sample information are input into the initial model, the result indicated whether the robot is trapped or not is the same as the second type of sample information If the robot is trapped in different states indicated by the tag information, it is determined that the verification of the sample information is not accurate; the verification accuracy is determined according to the verification result of each sample
  • an embodiment of the present application provides a robot.
  • the robot may include a processor, which is configured to be connected to a memory and call a program stored in the memory to execute any of the first aspect or the possible implementation manners of the first aspect.
  • an embodiment of the present application provides a computer-readable storage medium, including: computer software instructions; when the computer software instructions run in the obstacle avoidance device, the obstacle avoidance device can execute the first aspect or the first aspect.
  • the embodiments of the present application provide a computer program product, which when the computer program product runs on a computer, causes the computer to execute the robot obstacle avoidance method as in the first aspect or any of the possible implementations of the first aspect .
  • the obstacle avoidance device of the second aspect, the robot obstacle avoidance system of the third aspect, the robot of the fourth aspect, the computer-readable storage medium of the fifth aspect, and the computer program product of the sixth aspect provided above are all used for The corresponding method provided above is executed. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above, which will not be repeated here.
  • Figure 1A is a schematic diagram of an environment during the movement of the robot
  • Figure 1B is a schematic diagram of another environment during the movement of the robot
  • Figure 2A is a schematic diagram of another environment during the movement of the robot
  • Figure 2B is a schematic diagram of another environment during the movement of the robot
  • Figure 3A is a schematic diagram of another environment during the movement of the robot
  • Figure 3B is a schematic diagram of another environment during the movement of the robot
  • FIG. 4 is a simplified schematic diagram of a robot obstacle avoidance system provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of the composition of a robot provided in this application.
  • FIG. 6 is a schematic flowchart of a method for avoiding obstacles for a robot according to an embodiment of the application
  • FIG. 7 is a schematic flowchart of another obstacle avoidance method for a robot according to an embodiment of the application.
  • FIG. 8 is a schematic diagram of the composition of a dilemma recognition model provided by an embodiment of the application.
  • FIG. 9 is a schematic diagram of robot obstacle avoidance provided by an embodiment of the application.
  • FIG. 10 is a simplified schematic diagram of an obstacle avoidance device provided by an embodiment of the application.
  • the robot is a sweeping robot as an example for description.
  • the robot is in the position shown in Figure 3A, people can think that the sweeping robot is stuck in the gap between the fixed object and the ground and cannot continue to move when viewed from the angle shown in Figure 3A. Manually tag them as trapped.
  • the sweeping robot may not be blocked by the gap and can continue to work in the gap. In this way, the label information of the sample data may be incorrectly labeled.
  • most of the currently collected sample data are environmental pictures taken from the perspective of the user, which cannot intuitively and accurately reflect the environment where the robot is located. These will lead to inaccurate dilemma recognition models obtained by training.
  • the present application provides a robot obstacle avoidance method, the basic principle of which is that the robot obtains sample information at N (N is an integer greater than 0) time during its movement, and sends the sample information at the N time to the server.
  • the robot receives the dilemma recognition model from the server, where the dilemma recognition model is trained on sample information collected by one or more robots.
  • the robot can avoid obstacles in the process of moving according to the dilemma recognition model.
  • the sample information corresponding to each of the aforementioned N times includes environmental image information of the environment in which the robot is located at that time, and position information of the position of the robot in the environment indicated by the environmental image information at that time. This information is collected by the robot, which can accurately identify the environment where the robot is at that time.
  • each sample information also includes tag information used to indicate whether the robot is trapped at that moment.
  • the tag information is also marked by the robot according to its own recognition of the current state, which can also accurately reflect the current state of the robot. In this way, by sending such sample information to the server for the server to train the dilemma recognition model, the accuracy of the dilemma recognition model can be improved.
  • a large amount of labor cost is saved.
  • FIG. 4 is a simplified schematic diagram of a robot obstacle avoidance system provided by an embodiment of this application.
  • the robot obstacle avoidance system may include a robot 401 and a server 402.
  • the aforementioned robot 401 may include one or more robots, such as robot 1-robot n shown in FIG. 4.
  • each of the above-mentioned robots 401 can be used to obtain sample information at N times during its own movement, and send the obtained sample information at N times to the server 402 through wireless communication.
  • the sample information at each time may include: environmental image information at that time, location information at that time, and tag information at that time.
  • the environment image information is used to indicate the environment where the robot is at that moment.
  • the location information is used to indicate the location of the robot in the environment indicated by the environment image information at that moment.
  • the tag information is used to indicate whether the robot is trapped at that moment.
  • the above-mentioned server 402 may train the received sample information of one or more robots according to the sample information received from one or more robots, obtain the dilemma recognition model, and send the dilemma recognition model to each robot. In this way, the robot 401 can avoid obstacles during the movement according to the received dilemma recognition model.
  • the process in which the server 402 obtains the dilemma recognition model through sample information can be implemented by the following method: the server 402 can divide the obtained sample information into two types, such as the first type of sample information and the second type of sample information.
  • the first type of sample information can be used for training of the dilemma recognition model, and the second type of sample information can be used to detect the trained dilemma recognition model to determine the accuracy of the trained dilemma recognition model.
  • the process of obtaining the dilemma recognition model by the server 402 will be described in detail in the following embodiments, and will not be repeated here.
  • the aforementioned robot 401 may be an electronic device that can move autonomously, such as a cleaning robot, a self-service robot provided by a service industry such as a bank, and the like.
  • the robot 500 may include an image acquisition module 501, a sensor 502, a processor 503, a memory 504, and a communication module 505.
  • the processor 503 may include one or more processing units.
  • the processor 503 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), and an image signal.
  • AP application processor
  • GPU graphics processing unit
  • ISP image signal processor
  • controller memory
  • video codec digital signal processor
  • DSP digital signal processor
  • baseband processor baseband processor
  • NPU neural-network processing unit
  • the controller may be the nerve center and command center of the robot 500.
  • the controller can generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
  • a memory may also be provided in the processor 503 for storing instructions and data.
  • the memory in the processor is a cache memory.
  • the memory can store instructions or data that the processor has just used or recycled. If the processor needs to use the instruction or data again, it can be directly called from the memory. Repeated access is avoided, the waiting time of the processor 503 is reduced, and the efficiency of the system is improved.
  • the processor 503 may include one or more interfaces. Interfaces may include integrated circuit (I2C) interface, universal asynchronous receiver/transmitter (UART) interface, mobile industry processor interface (MIPI), general input and output (general -purpose input/output, GPIO) interface, subscriber identity module (SIM) interface, and/or universal serial bus (universal serial bus, USB) interface, etc.
  • I2C integrated circuit
  • UART universal asynchronous receiver/transmitter
  • MIPI mobile industry processor interface
  • general input and output general -purpose input/output, GPIO
  • SIM subscriber identity module
  • USB universal serial bus
  • the interface is a bidirectional synchronous serial bus, which includes a serial data line (SDA) and a serial clock line (SCL).
  • the processor may include multiple sets of I2C buses. The processor can couple sensors, cameras, etc. separately through different I2C bus interfaces.
  • the UART interface is a universal serial data bus used for asynchronous communication.
  • the bus can be a two-way communication bus. It converts the data to be transmitted between serial communication and parallel communication.
  • the UART interface is usually used to connect the processor 503 and the communication module 505.
  • the processor 503 communicates with the Bluetooth module in the wireless communication module through the UART interface to realize the Bluetooth function.
  • the MIPI interface can be used to connect peripheral devices such as processors and cameras.
  • MIPI interface includes camera serial interface (camera serial interface, CSI) and so on.
  • the processor and the camera communicate through a CSI interface to realize the shooting function of the robot 500.
  • the GPIO interface can be configured through software.
  • the GPIO interface can be configured as a control signal or as a data signal.
  • the GPIO interface can be used to connect the processor and camera, wireless communication module, sensor module, etc.
  • GPIO interface can also be configured as I2C interface, UART interface, MIPI interface, etc.
  • the USB interface is an interface that complies with the USB standard specifications, and can be a Mini USB interface, a Micro USB interface, and a USB Type C interface.
  • the USB interface can be used to connect a charger to charge the robot 500, and can also be used to transfer data between the robot 500 and peripheral devices. This interface can also be used to connect other robots 500 and so on.
  • the image collection module 501 can collect image information around the robot 500, for example, taking photos or videos.
  • the robot 500 can implement image acquisition functions through ISP, camera, video codec, GPU, and application processor.
  • ISP is used to process the data fed back from the camera. For example, when taking a picture, the shutter is opened, the light is transmitted to the photosensitive element of the camera through the lens, the light signal is converted into an electrical signal, and the photosensitive element of the camera transfers the electrical signal to the ISP for processing and is converted into an image visible to the naked eye.
  • ISP can also optimize algorithms for image noise and brightness. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera.
  • the camera is used to capture still images or videos.
  • the object generates an optical image through the lens and projects it to the photosensitive element.
  • the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • ISP outputs digital image signals to DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other formats.
  • the robot 500 may include 1 or N cameras, and N is a positive integer greater than one.
  • the sensor 502 can obtain information such as the moving speed, the moving direction, and the distance to surrounding objects of the robot 500.
  • the sensor 502 may include a gyroscope sensor, a speed sensor, an acceleration sensor, a distance sensor, and the like.
  • the gyroscope sensor can be used to determine the movement posture of the robot 500.
  • the angular velocity of the robot 500 around three axes ie, x, y, and z axes
  • the gyroscope sensor can be used for shooting anti-shake.
  • the gyroscope sensor detects the angle of the robot 500 shaking, and calculates the distance that the lens module needs to compensate according to the angle, so that the lens can counteract the shaking of the robot 500 through reverse movement to achieve anti-shake .
  • the gyro sensor can also be used for navigation and to determine whether the robot 500 is trapped or not.
  • the speed sensor is used to measure the moving speed.
  • the robot 500 uses a speed sensor to measure the moving speed at the current moment, and the distance sensor may be combined with the distance sensor to predict the environment where the robot 500 is located at the next moment, etc.
  • the acceleration sensor can detect the magnitude of the acceleration of the robot 500 in various directions (generally three axes). When the robot 500 is stationary, the magnitude and direction of gravity can be detected.
  • the robot 500 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the robot 500 may use a distance sensor to measure the distance to achieve fast focusing.
  • the memory 504 may include external memory and internal memory.
  • the external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the robot 500.
  • the external memory card communicates with the processor through the external memory interface to realize the data storage function. For example, save the sample information file in an external memory card.
  • the internal memory may be used to store computer executable program code, the executable program code including instructions.
  • the processor executes various functional applications and data processing of the robot 500 by running instructions stored in the internal memory.
  • the internal memory can include a program storage area and a data storage area. Among them, the storage program area can store the operating system and at least one application program required by the function.
  • the data storage area can store data created during the use of the robot 500.
  • the internal memory may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (UFS), and the like.
  • the wireless communication function of the robot 500 can be implemented by the communication module 505.
  • the robot 500 can realize communication with other devices, such as communication with a server.
  • the communication module 505 may include antenna 1, antenna 2, mobile communication module, wireless communication module, modem processor, baseband processor, and so on.
  • the antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in the robot 500 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
  • antenna 1 can be multiplexed as a diversity antenna of a wireless local area network.
  • the antenna can be used in combination with a tuning switch.
  • the mobile communication module can provide wireless communication solutions including 2G/3G/4G/5G and other wireless communication solutions applied to the robot 500.
  • the mobile communication module may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc.
  • the mobile communication module can receive electromagnetic waves by the antenna 1, and perform processing such as filtering and amplifying the received electromagnetic waves, and then transmitting them to the modem processor for demodulation.
  • the mobile communication module can also amplify the signal modulated by the modem processor, and convert it into electromagnetic wave radiation by the antenna 1.
  • at least part of the functional modules of the mobile communication module may be provided in the processor.
  • at least part of the functional modules of the mobile communication module and at least part of the modules of the processor may be provided in the same device.
  • the wireless communication module can provide applications on the robot 500 including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), and global navigation satellite systems ( Global navigation satellite system, GNSS), infrared technology (infrared, IR) and other wireless communication solutions.
  • WLAN wireless local area networks
  • BT Bluetooth
  • GNSS global navigation satellite systems
  • infrared technology infrared, IR
  • the wireless communication module may be one or more devices integrating at least one communication processing module.
  • the wireless communication module receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor.
  • the wireless communication module can also receive the signal to be sent from the processor, perform frequency modulation, amplify, and radiate electromagnetic waves through the antenna 2.
  • the antenna 1 of the robot 500 is coupled with the mobile communication module, and the antenna 2 is coupled with the wireless communication module, so that the robot 500 can communicate with the server and other devices through wireless communication technology.
  • the wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite-based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite-based augmentation systems
  • the structure illustrated in this embodiment does not constitute a specific limitation on the robot 500.
  • the robot 500 may include more or fewer components than shown, or combine certain components, or split certain components, or arrange different components.
  • the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
  • the obstacle avoidance methods for the robot provided by the embodiments of the present application can be implemented in the system shown in FIG. 4 and the robot shown in FIG. 5.
  • FIG. 6 is a schematic flowchart of a method for avoiding obstacles for a robot according to an embodiment of the application. Please refer to FIG. 6, the method may include S601-S605.
  • the robot obtains sample information at N times during the movement, where N is an integer greater than 0.
  • the sample information at each time includes environmental image information used to indicate the environment in which the robot is located at that time, position information used to indicate the position of the robot in the environment indicated by the environmental image information at that time, and position information used to indicate the robot at that time
  • the tag information includes the first tag or the second tag. The first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state.
  • the robot can obtain the environmental image information and position information of the environment where the robot is located through a module provided on the robot.
  • the robot can determine whether it is trapped according to the current state of movement to obtain the tag information at that moment. For example, when the robot cannot continue to move, it is judged that it is trapped at the current moment, and the tag information at that moment can be obtained as the second tag. Otherwise, it is determined that the robot is in an untrapped state at the current moment, and the label information at that moment can be obtained as the first label. In this way, by acquiring this information in real time during the movement of the robot, the sample information at N times during the movement of the robot can be obtained. Wherein, N is an integer greater than zero.
  • S602 The robot sends the sample information of M time in N time to the server, where M is a positive integer less than or equal to N.
  • the robot can send all acquired samples at N times to the server, that is, M is equal to N.
  • the robot may send the sample information of the moment to the server in real time after acquiring the sample information of the moment, or may send the sample information of the N moments to the server together.
  • the robot can obtain a large amount of sample information in the process of moving, and some of the sample information is of high quality, so the robot can send some high-quality information in the obtained sample information to the robot, namely Send the sample information of M time in N time, M is a positive integer less than N.
  • the robot may send the sample information when it is trapped and the sample information that is not trapped before the robot is trapped to the server. In this way, the information quality can be improved while ensuring sufficient sample information and the system information load can be reduced.
  • S603 The server trains the sample information collected from one or more robots to obtain a dilemma recognition model.
  • the server can perform model training based on the received sample information collected by multiple robots to obtain a more accurate dilemma recognition model.
  • the robot receives the dilemma recognition model from the server.
  • the server may send the dilemma recognition model trained based on the sample information obtained by one or more robots to the robot in real time, or it may send the dilemma recognition model to the robot at a predetermined time interval.
  • the robot can receive the dilemma recognition model through the communication module and store it in the memory.
  • S605 The robot avoids obstacles during the movement process according to the dilemma recognition model.
  • the robot can obtain the current direction and speed of movement, and predict the environment image information and location information of the environment where the robot is located at the next moment based on the environment image information and location information at the current moment. So that the robot can determine whether the robot will be trapped in the next moment according to the dilemma recognition model, or determine the probability of the robot being trapped in the next moment. In this way, the robot can determine whether obstacle avoidance is needed at the next moment according to the determined result.
  • the environment image information and position information of the environment in which the robot is located at the next moment are used as input to the dilemma recognition model to determine whether the robot will be trapped in the next moment.
  • the robot determines that the robot will be trapped at the next moment, the robot can avoid obstacles at the current moment to avoid being trapped at the next moment.
  • the environment image information and location information of the environment where the robot is located at the next moment are used as input to the dilemma recognition model to determine the probability of the robot being trapped at the next moment.
  • the robot determines that the probability of the robot being trapped at the next moment is greater than the preset threshold, the robot can perform obstacle avoidance operations.
  • the robot collects environment image information and position information at N times during its movement, and can accurately identify the environment where the robot is located at each of the N personal times.
  • the robot autonomously judges whether it is in a trapped state to automatically label the environment at the corresponding time according to the judgment result, which can accurately reflect whether the robot is trapped at the corresponding time.
  • the robot sends this information as sample information to the server for training the dilemma recognition model on the server, which can improve the accuracy of the dilemma recognition model.
  • a large amount of labor cost is saved.
  • FIG. 7 is another obstacle avoidance method for a robot provided by an embodiment of this application. As shown in Figure 7, the method may include S701-S706.
  • the robot obtains sample information at N moments in the movement process, where the sample information at each moment of the N moments includes environmental image information at that moment, position information at that moment, and tag information at that moment.
  • the environment image information at that moment is used to indicate the environment where the robot is located at that moment.
  • the position information at this time is used to indicate the position of the robot in the environment indicated by the environment image information at that time.
  • the tag information at this moment is used to indicate the state of the robot at that moment.
  • the tag information includes a first tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state.
  • the robot Since the robot is constantly moving when it is working, at different times, the robot may be in a different environment, the location may be different, and whether it is trapped or not may also be different.
  • the robot can obtain sample information at N times during its movement according to the environment, location and whether it is trapped during the movement. Wherein, N is an integer greater than zero.
  • the following takes the robot acquiring sample information at the first moment in the movement process as an example to illustrate the process of acquiring sample information at a certain moment.
  • the first moment is any one of the above N moments.
  • the robot obtains the environmental image information of the environment where the robot is located at the first moment.
  • the robot 500 may obtain environment image information of the environment in which it is located through an image acquisition module 501 including a camera provided on the robot 500.
  • the environment image information may be a photo of the environment in which the robot is located at the first moment.
  • the robot will use video recording to record the working status or feed back work information to the user during the work. Therefore, in some other embodiments, the robot may use the image at the first moment in the recorded video as the environment image information of the environment in which the robot is located. It is understandable that the video can be decomposed into multiple consecutive images in the time domain. A video corresponds to a period of playing time. Therefore, each image in a video can correspond to a moment in the playing time. Then, each image corresponding to the time can be used as the environment image information of the environment where the robot is at that time. For example, suppose that the video recorded by the robot includes image A at time 1, image B at time 2, and image C at time 3.
  • the robot can use image A as the environment image information 1 of the environment the robot is in at the first moment. Similarly, take image B as the environment image information B of the environment where the robot is at other times, such as the second time, and take image C as the environment image information C of the environment where the robot is at other times, such as the third time.
  • the environment image information is directly obtained by the robot, it can more accurately reflect the environment the robot is in.
  • the environmental image information obtained by the robot can include the moving line or the surrounding area. Image information of the object.
  • the moving route of the robot can be determined according to the current moment, such as the moving direction and moving speed of the robot at the first moment mentioned above.
  • the movement route of the robot can be planned in advance, and the robot can also obtain information about the movement route by querying the planned movement route in advance.
  • the robot obtains the position information of the robot in the environment at the first moment.
  • the position information of the robot in the environment at the first moment may be relative position information between the robot and other objects in the environment where the robot is located at the first moment.
  • the environment where the robot is located at the first moment may refer to the environment indicated by the environment image information at the first moment.
  • the robot 500 can obtain the relative position information between the robot and other objects in the environment at the first moment through the sensor 502 provided on the robot 500.
  • the relative position information may be distance information between the robot 500 and the aforementioned object.
  • the distance information may include the distance between the robot and objects on or around the moving line at the first moment.
  • the robot 500 may also obtain the latitude and longitude information, altitude information or altitude information of the robot at the current moment (such as the first moment) through the sensor 502, and these information may also be used as the aforementioned position information. In this way, the robot can more accurately determine the position of the robot at that moment based on the position information. Then, when the robot is at another time (such as the second time), when the acquired position information is the same as the above-mentioned position information, it can accurately determine the environment where the robot is at the second time and the robot at the first time. The environment is exactly the same.
  • the dilemma recognition model used as the robot's obstacle avoidance guidance is obtained by training the information including the sample information collected by the robot at the first moment. Therefore, the robot can use the dilemma recognition model to identify the environment that the robot is in at the second moment. Make a more accurate judgment (that is, judge whether the robot will be trapped at the second moment).
  • the robot obtains the tag information indicating the state of the robot at the first moment.
  • the label information may include the above-mentioned first label or the above-mentioned second label.
  • the robot can accurately recognize whether it is trapped at the current moment (such as the first moment). For example, when the robot is stuck in wheels, trapped around, or spinning in a fixed place within a certain period of time, the robot can be considered to be trapped. The trapped information thus obtained can accurately identify the current state of the robot. Similarly, when the robot is not trapped, for example, the robot does not appear to be trapped in the first moment, then the robot can accurately determine the current state. After the robot determines that it is trapped or not trapped at the first moment, it can obtain the tag information corresponding to the state of the robot at the first moment. Then, we can think that the robot automatically tags the environment image information (such as surrounding picture information) and location information (such as distance information) collected by the robot at the first moment.
  • the environment image information such as surrounding picture information
  • location information such as distance information
  • the robot After obtaining the environmental image information at the first moment, the location information at the first moment, and the label information at the first moment, the robot can use these information as the sample information at the first moment. Similarly, by repeating the above process during the movement, the sample information at N times during the movement of the robot can be obtained.
  • the robot sends the sample information of M moments out of N moments to the server, where M is a positive integer less than or equal to N.
  • M may be equal to N.
  • the robot can send the acquired sample information at N times to the server. In this way, it can be guaranteed that the server can train based on enough sample information to obtain an accurate dilemma recognition model.
  • the robot is not trapped most of the time when it is moving. Therefore, the number of sample information with the first label may be much larger than the number of sample information with the second label.
  • the untrapped sample information for a period of time before the robot is trapped has high value. Therefore, in this embodiment of the present application, the robot can filter the sample information at N times before sending it to the server. . In other words, the robot can select the sample information of M out of the N times and send it to the server. Among them, the robot is trapped at the Nth moment, and the robot is not trapped at M-1 moments before this moment.
  • M may be less than N.
  • the robot can send sample information of M time with higher value among the N time to the server. In this way, it is possible to effectively reduce the amount of communication data between the robot and the server while ensuring that the server can obtain an accurate dilemma recognition model.
  • the label information included in the sample information of the N time is used to indicate that the machine is in a trapped state at the N time, that is, the sample information at the N time It may include a second tag identifying that the robot is trapped at that moment.
  • the robot sends the sample information of the first M-1 time and the sample information of the Nth time to the server.
  • the memory of the robot can be a buffer.
  • the robot can store the sample information acquired during the movement in the buffer, and monitor whether the label information in the sample information acquired at the current time is the second label.
  • the label information in the sample information of is the second label, then the robot sends the sample information in the buffer to the server. If the label information in the sample information obtained at the current moment does not include the second label, the robot can continue to obtain the sample information and store it in the buffer until the robot obtains the sample information with the second label. For example, suppose the buffer of the robot can store up to 10 sample information. If the 10th sample information in the buffer includes the second tag, the robot can send the 10 sample information in the buffer to the server.
  • the robot can continue to obtain the sample information, delete the earliest sample information among the 10 sample information already in the buffer, and replace the new The sample information is stored in the buffer, and so on, until the sample information including the second label appears.
  • the robot can clear the buffer after sending sample information to the server.
  • the robot can send the acquired sample information to the server in various forms.
  • the robot can send multiple sample information to the server together.
  • the robot can send multiple sample information to the server several times.
  • the robot can send multiple sample information to the server at a certain time interval.
  • the robot can store the sample information in the memory provided on the robot. After the robot resumes communication with the server, the robot can send the sample information stored in the memory to the server.
  • the server trains sample information collected from one or more robots to obtain a dilemma recognition model.
  • the server may divide the acquired sample information into two parts (such as the first type of sample information and the second type of sample information).
  • the first type of sample information can be used to train and obtain the dilemma recognition model
  • the second type of sample information can be used to detect whether the detection result of the dilemma recognition model is accurate.
  • the environmental image information and location information in each sample information of Y second-type sample information can be input into the dilemma recognition model to perform the initial model Detect and check the accuracy of the dilemma recognition model. For example, if the environment image information and position information of a certain sample information in the second type of sample information are input into the state of whether the robot is trapped or not indicated by the result obtained by the initial model, and the label information in the second type of sample information indicates Whether the robots are trapped in the same state, it is determined that the verification of the initial model for the sample information is accurate; if the environmental image information and position information of a certain sample information in the second type of sample information are input into the initial model The state of whether the robot is trapped indicated by the result is different from the state of whether the robot is trapped indicated by the tag information in the second type of sample information, and it is determined that the verification result for the sample information is inaccurate.
  • the verification accuracy of the initial model can be obtained by integrating the accuracy of the initial model after each test.
  • the accuracy rate is greater than the preset threshold
  • the initial model can be used as a dilemma recognition model.
  • the accuracy rate is less than the preset threshold, it can be considered that the initial model is not accurate enough and training needs to be continued.
  • the server can add new sample information from the robot to the training, and further train the above-mentioned initial model to obtain a model with higher accuracy.
  • the server can determine a model with an accuracy rate greater than a preset threshold, and send the model to the robot as a dilemma recognition model.
  • training the X pieces of first-type sample information may be training according to a loss function (loss function) or a cost function (cost function).
  • the loss function or cost function is a function that maps the value of a random event or its related random variable to a non-negative real number to express the "risk” or "loss" of the random event.
  • it can be solved by minimizing the loss function (cost function).
  • the gradient descent method can be used to solve it step by step to obtain the minimized loss function and model parameter values, so as to realize the acquisition of the dilemma recognition model (initial model).
  • the dilemma recognition model obtained through training may be a model based on a convolutional neural network.
  • the dilemma recognition model may include an input layer, a volume base layer, a pooling layer, a fully connected layer, and an output layer. It should be noted that the figure only illustrates two convolutional layers, two pooling layers and one fully connected layer.
  • the dilemma recognition model in the embodiment of the present application may include multiple convolutional layers, multiple pooling layers, and multiple fully connected layers.
  • the sample information may be sample information obtained during one movement of one robot, sample information obtained during multiple movements of one robot, or sample information obtained during multiple movements of multiple robots.
  • the embodiments of the application are not limited here.
  • the robot receives the dilemma recognition model from the server.
  • the server trains and obtains the dilemma recognition model according to multiple sample information sent by one or more robots, and sends the dilemma recognition model to the robot.
  • the robot 500 can receive the dilemma recognition model through the communication module 505 provided on the robot, and store the dilemma recognition model in the memory 504. To use the stored dilemma recognition model to avoid obstacles, such as performing the following S705-S706.
  • S705 The robot obtains the moving direction and moving speed of the robot at the current moment.
  • the robot can predict the environment the robot will be in at the next moment.
  • the robot can obtain the moving direction and moving speed of the robot at the current moment through a sensor provided on the robot. And get the environmental image information and location information at the current moment.
  • the robot's processor can obtain the environment image information of the environment where the robot is located at the next moment and the location information in the environment according to the robot's current moving direction, moving speed, and current environment image information and location information.
  • the position of the robot at the current moment is the position shown in (a) of FIG. 9, and the robot is moving in direction 1.
  • the first position information of the robot at the current moment such as the distance information between the robot and the object 1 and the distance information between the robot and the object 2, the moving direction and the moving speed
  • the second position information of the robot at the next time can be obtained, and according to The position information and the image information of the environment where the robot is located at the current moment are triangulated to obtain the image information of the environment where the robot is located at the second moment, for example, as shown in (b) in FIG. 9.
  • the robot obtains P1 (such as a picture of the environment in which the robot is located) through the image acquisition module of the environment image information, and the position information obtained through the sensor is S1 (such as the robot and the objects in the environment). distance).
  • the robot can obtain the current moving direction and moving speed through sensors.
  • S1 is the distance of the robot from the front object at the current moment
  • S2 is the physical distance of the robot from the front at the next moment
  • t is the time interval between the current moment and the next moment
  • V is the moving speed of the robot at the current moment.
  • the robot can also calculate and obtain the image information P2 of the environment where the robot is located at the next time by using a triangle transformation based on the distance (such as S1-S2) that it moves from the current time to the next time.
  • the robot obtains the environment image information P2 of the environment where the robot is located at the next time and the position information S2 of the environment where the robot is located at the next time.
  • S706 The robot predicts whether it will be trapped at the next moment according to the environment image information, location information, and the dilemma recognition model of the environment in the next moment, and performs obstacle avoidance.
  • the robot can use the image information P2 and the position information S2 of the environment where the robot is located at the next moment as the input of the dilemma recognition model, and obtain the probability that the robot is trapped at the next moment through calculation.
  • the robot can compare the probability of being trapped with a preset threshold. When the robot determines that the probability of being trapped at the next moment is greater than the preset threshold, the robot can change the current motion strategy (such as the direction of motion at the current moment) to avoid Obstacle to avoid the situation that the robot is trapped during the movement. When the robot determines that the probability of being trapped at the next moment is less than the preset threshold, it can be considered that the robot will not be trapped at the next moment, and the robot can continue to execute the current motion strategy and move.
  • the dilemma recognition model can also output a certain prediction result of whether the robot will be trapped at the next moment, that is, it will be trapped at the next moment or will not be trapped at the next moment.
  • the robot can change the current motion strategy (such as the current motion direction, etc.) to avoid obstacles to avoid the situation where the robot is trapped during the movement. .
  • the robot can continue to execute the current motion strategy and move.
  • the process of the robot performing the above S701-S706 is not a single pass, but can be cyclic.
  • the robot can continuously obtain sample information at different times and send the sample information to the server, so that the server obtains an updated dilemma recognition model through incremental training based on the updated sample information and the dilemma recognition model.
  • the process of incremental training is similar to the process of initial training, except that in the process of incremental training, the loaded model is the previously trained model, and the weight of the loaded model is also trained. In the initial training, the weight of the loaded model is the default value. After the incremental training is completed, use the second type of sample information to detect the model.
  • the server can deliver the newly trained model to the robot, so that the robot can recognize the model according to the updated dilemma, and use it to guide the subsequent movement for more effective obstacle avoidance.
  • the robot can autonomously acquire the sample information at N times, and the sample information corresponding to each of the above N times includes the environment image information of the environment where the robot is at that time, and the robot at that time in the environment indicated by the environment image information.
  • Location information of the location Since these information is collected by the robot, it can accurately identify the environment where the robot is at that time.
  • each sample information also includes tag information used to indicate whether the robot is trapped at that moment.
  • the tag information is also marked by the robot according to its own recognition of the current state, which can also accurately reflect the current state of the robot.
  • the robot can improve the accuracy of the dilemma recognition model by sending such sample information to the server for the server to train the dilemma recognition model.
  • the server can also perform incremental training on the dilemma recognition model based on the updated sample information to obtain a more accurate dilemma recognition model and send it to the robot. In this way, the robot can continuously obtain sample information and send it to the server during the movement.
  • the obtained and updated dilemma recognition model provides more accurate obstacle avoidance guidance for the robot's movement process.
  • the robot includes hardware structures and/or software modules corresponding to each function, and these hardware structures and/or software modules corresponding to each function may constitute a robot.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
  • the embodiment of the application can divide the functional modules of the robot according to the above method examples.
  • the robot can include an obstacle avoidance device, which can divide each functional module corresponding to each function, or divide two or more functions into one.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 10 shows a schematic diagram of a possible composition of the obstacle avoidance device involved in the above embodiment.
  • the obstacle avoidance device includes: an acquiring unit 1001 , The communication unit 1003, the obstacle avoidance unit 1004.
  • the acquisition unit 1001 may also be the image acquisition module 501 and the sensor 502 as shown in FIG. 5
  • the communication unit 1003 may also be the communication module 505 as shown in FIG. 5
  • the obstacle avoidance unit 1004 may also be as shown in FIG. Processor 503.
  • the obtaining unit 1001 is used to obtain sample information at N times during the movement of the robot, and N is an integer greater than zero.
  • the sample information at each of the N times includes: environmental image information indicating the environment in which the robot is located at that instant, position information indicating the position of the robot in the environment indicated by the environmental image information at that instant, and Tag information indicating the state of the robot at that moment;
  • the tag information includes a first tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state.
  • the acquiring unit 1001 may be used to execute S601 of the obstacle avoidance method for the robot shown in FIG. 6.
  • the acquiring unit 1001 may also be used to execute S701 of the robot obstacle avoidance method shown in FIG. 7.
  • the communication unit 1003 is configured to send the sample information of M time in the N time to the server, and M is a positive integer less than or equal to N.
  • the communication unit 1003 may be used to execute S602 of the robot obstacle avoidance method shown in FIG. 6 above.
  • the communication unit 1003 may also be used to execute S702 of the obstacle avoidance method for the robot shown in FIG. 7.
  • the communication unit 1003 is also configured to receive a dilemma recognition model from a server, and the dilemma recognition model is trained on sample information collected by one or more robots. Exemplarily, the communication unit 1003 may also be used to execute S604 of the robot obstacle avoidance method shown in FIG. 6 above. The communication unit 1003 may also be used to execute S704 of the robot obstacle avoidance method shown in FIG. 7 above.
  • the obstacle avoidance unit 1004 is used to avoid obstacles during the movement of the robot according to the dilemma recognition model. Exemplarily, the obstacle avoidance unit 1004 may also be used to execute S605 of the robot obstacle avoidance method shown in FIG. 6. The obstacle avoidance unit 1004 may also be used to execute S706 of the robot obstacle avoidance method shown in FIG. 7.
  • the above obstacle avoidance device may further include: a determining unit 1002.
  • the determining unit 1002 is configured to determine the sample information at the N time, and the label information included in the sample information at the N time is used to indicate that the machine is in a trapped state at the N time.
  • the obstacle avoidance device provided by the embodiment of the present application is used to implement the above-mentioned robot obstacle avoidance method, and therefore can achieve the same effect as the above-mentioned robot obstacle avoidance method.
  • another possible composition of the obstacle avoidance device involved in the foregoing embodiment may include: a collection module, a processing module, and a communication module.
  • the collection module is used to collect information needed by the robot to avoid obstacles.
  • the collection module is used to support the robot to execute S601 in FIG. 6, S701 and S705 in FIG. 7 and/or other processes used in the technology described herein.
  • the processing module is used to control and manage the actions of the robot.
  • the processing module is used to support the robot to execute S605 in FIG. 6, S706 in FIG. 7 and/or other processes used in the technology described herein.
  • the communication module is used to support communication between the robot and other network entities, such as the communication between the server and other functional modules or network entities shown in FIG. 6 or FIG. 7.
  • the robot may also include a storage module for storing sample information of the robot, a dilemma recognition model, and other program codes and data.
  • the obstacle avoidance device provided by the embodiment of the present application is used to implement the above-mentioned robot obstacle avoidance method, and therefore can achieve the same effect as the above-mentioned robot obstacle avoidance method.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only illustrative, for example, the division of modules or units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another device, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separate, and the components displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed to multiple different places. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium.
  • the technical solutions of the embodiments of the present application are essentially or the part that contributes to the prior art, or all or part of the technical solutions can be embodied in the form of software products, which are stored in a storage medium It includes several instructions to make a device (may be a single-chip microcomputer, a chip, etc.) or a processor (processor) execute all or part of the steps of the methods in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Abstract

An obstacle avoidance method, comprising: a robot (401) acquires sample information at N moments during the process of movement. The sample information of each moment amongst the N moments comprises: environment image information for indicating the environment in which the robot (401) is located at said moment, position information for indicating the position in which the robot is located (401) at said moment, and label information for indicating whether the robot (401) is in a trapped state at said moment. The robot sends sample information of M moments amongst the N moments to a server (402). The robot (401) receives from the server (402) a predicament recognition model trained on sample information collected from one or a plurality of robots (401). On the basis of the predicament recognition model, the robot (401) implements obstacle avoidance during the process of movement. The present obstacle avoidance method solves the problems of the large labour cost investment and the low accuracy of trained models when using machine learning methods to implement predicament recognition. Also relating to an obstacle avoidance apparatus and system.

Description

一种机器人避障方法、装置和系统Method, device and system for robot avoiding obstacles
本申请要求在2019年6月27日提交中国国家知识产权局、申请号为201910566538.1的中国专利申请的优先权,发明名称为“一种机器人避障方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed with the State Intellectual Property Office of China with application number 201910566538.1 on June 27, 2019, and the priority of the Chinese patent application with the title of “a method, device and system for robot obstacle avoidance” Right, the entire contents of which are incorporated in this application by reference.
技术领域Technical field
本申请涉及电子设备领域,尤其涉及一种机器人避障方法、装置和系统。This application relates to the field of electronic equipment, and in particular to a method, device and system for robot obstacle avoidance.
背景技术Background technique
机器人(例如扫地机器人)已经被广泛应用于人们的日常生活中。由于机器人的工作几乎是完全自主的,因此,在工作的过程中,经常会遇到一些被困的情况。目前,可通过使用机器学习的方法来训练机器人进行识别困境,以进行避障。Robots (such as sweeping robots) have been widely used in people's daily lives. Because the robot's work is almost completely autonomous, it often encounters some trapped situations in the process of work. At present, machine learning methods can be used to train robots to recognize dilemmas and avoid obstacles.
其中,较常见的机器学习方法包括监督学习和强化学习。在监督学习中,需要人工收集大量的样本数据,并人工给这些样本数据打上对应的被困住或未被困住的标签,然后对打上标签的样本数据进行监督学习模型训练,获得对应模型,以便机器人根据该模型判断是否需要进行避障。Among them, the more common machine learning methods include supervised learning and reinforcement learning. In supervised learning, it is necessary to manually collect a large amount of sample data, and manually label these sample data with corresponding trapped or untrapped labels, and then perform supervised learning model training on the labeled sample data to obtain the corresponding model. So that the robot judges whether it needs to avoid obstacles according to the model.
示例性的,以机器人是扫地机器人,样本数据为扫地机器人所处的环境信息为例。如图1A所示的环境信息,因为,扫地机器人被插排的连接线所困,无法自由移动,因此,人工可为该样本数据打上被困住的标签。又如,如图1B所示的环境中,扫地机器人并未插排及其连接线所困,可以自由移动,因此,人工可以为该样本数据打上未被困住的标签。又如,在图2A所示的环境中,扫地机器人处于墙壁以及固定物体的夹角位置,无法继续自由移动,因此,人工可以为将该样本数据打上被困住的标签。又如,在图2B所示的环境中,扫地机器人处于远离墙壁以及固定物体的位置,可以继续自由移动,因此,人工可以为该样本数据打上未被困住的标签。又如,在图3A所示的环境中,扫地机器人处于固定物体与地面之间的缝隙中,无法继续自由移动,因此,人工可以为该样本数据打上被困住的标签。对应的,如图3B所示,机器人远离固定物体以及固定物体与地面之间的缝隙,可以自由移动,那么人工可以为该样本数据打上未被困住的标签。根据大量类似图1A-图3B所示的打上标签后的样本数据,进行监督学习模型训练便可获得对应模型,用于扫地机器人的避障。Exemplarily, it is taken as an example that the robot is a cleaning robot, and the sample data is environment information where the cleaning robot is located. The environmental information as shown in Fig. 1A, because the cleaning robot is trapped by the connection line of the plug-in row and cannot move freely, therefore, the sample data can be manually labeled as trapped. For another example, in the environment shown in FIG. 1B, the cleaning robot is not trapped by the plug-in row and its connecting line, and can move freely. Therefore, the sample data can be manually labeled as not trapped. For another example, in the environment shown in FIG. 2A, the sweeping robot is at an angle between the wall and the fixed object and cannot continue to move freely. Therefore, the sample data can be manually labeled as trapped. For another example, in the environment shown in FIG. 2B, the sweeping robot is at a position far away from the wall and the fixed object, and can continue to move freely. Therefore, the sample data can be manually labeled as not trapped. For another example, in the environment shown in FIG. 3A, the sweeping robot is in the gap between the fixed object and the ground and cannot continue to move freely. Therefore, the sample data can be manually labeled as trapped. Correspondingly, as shown in FIG. 3B, the robot is far away from the fixed object and the gap between the fixed object and the ground, and can move freely, so the sample data can be manually labeled as not trapped. According to a large number of labeled sample data similar to those shown in Figs. 1A-3B, the corresponding model can be obtained by training the supervised learning model for obstacle avoidance of the sweeping robot.
强化学习是指机器人以“试错”的方式进行学习的一种方法。机器人根据人工收集的大量的样本数据,以及人工给这些样本数据打上的被困住或未被困住的标签,通过不断的“试错”,确定出环境反馈的奖赏最大的行为。根据奖赏结果以及奖赏结果对应的试错方法进行标记,以此作为下次工作的参考。Reinforcement learning refers to a method in which robots learn in a "trial and error" manner. Based on the large amount of sample data collected manually, and the trapped or untrapped labels manually labeled by the sample data, the robot determines the behavior that rewards the most environmental feedback through constant trial and error. Mark according to the reward result and the trial and error method corresponding to the reward result, as a reference for the next work.
可以看到,无论使用监督学习,还是强化学习进行困境识别,都需要大量的样本数据。目前这些样本数据都需要人工收集,如通过网络爬虫搜索获得。为了区分收集到的样本数据对应的机器人的状态(如是否处于被困住的状态),需要人工对收集到的样本数据进行识别并打上对应的标签。由此会带来大量的人力成本的投入。另外,由于没有统一的样本数据收集标准,收集到的样本数据质量难以控制,会导致标签的标注质量低,如标注错误等。且通过网络爬虫收集到的样本数据,如上述环境信息,大多是以用户的角度拍摄的环境图片,并不能直观准确的体现机器人所处环境。这些均会导致训练的模型不准确。It can be seen that whether supervised learning or reinforcement learning is used for dilemma recognition, a large amount of sample data is required. At present, these sample data need to be collected manually, such as obtained through web crawler search. In order to distinguish the state of the robot corresponding to the collected sample data (such as whether it is in a trapped state), it is necessary to manually identify the collected sample data and label the corresponding label. This will bring a lot of labor costs. In addition, because there is no uniform sample data collection standard, the quality of collected sample data is difficult to control, which will result in low labeling quality, such as labeling errors. In addition, the sample data collected through the web crawler, such as the above environmental information, are mostly environmental pictures taken from the user's perspective, which cannot intuitively and accurately reflect the environment where the robot is located. These will lead to inaccurate training models.
发明内容Summary of the invention
本申请实施例提供一种机器人避障方法、装置和系统,解决了使用机器学习方法进行 困境识别过程中,人力成本投入大,训练的模型准确性低的问题。The embodiments of the present application provide a robot obstacle avoidance method, device, and system, which solves the problem of large labor costs and low accuracy of trained models in the process of using machine learning methods for dilemma recognition.
为达到上述目的,本申请实施例采用如下技术方案:In order to achieve the foregoing objectives, the following technical solutions are adopted in the embodiments of this application:
本申请实施例的第一方面,提供一种机器人避障方法,该方法包括:机器人获取机器人移动过程中N个时刻的样本信息,N为大于0的整数;其中,N个时刻中每个时刻的样本信息包括:用于指示该时刻机器人所处环境的环境图像信息、用于指示机器人该时刻在环境图像信息指示的环境中的位置的位置信息,以及用于指示机器人该时刻的状态的标签信息;标签信息包括第一标签或第二标签,第一标签用于指示机器人处于未被困住状态,第二标签用于指示机器人处于被困住状态;机器人将N个时刻中M个时刻的样本信息发送给服务器,M为小于或等于N的正整数;机器人从服务器接收困境识别模型,困境识别模型由一个或者多个机器人采集的样本信息训练所得;机器人根据困境识别模型在移动过程中进行避障。In the first aspect of the embodiments of the present application, a method for avoiding obstacles for a robot is provided. The method includes: the robot obtains sample information at N times during the movement of the robot, where N is an integer greater than 0; wherein, each of the N times The sample information of includes: environmental image information indicating the environment in which the robot is located at the moment, position information indicating the position of the robot in the environment indicated by the environmental image information at that moment, and tags indicating the state of the robot at that moment Information; the tag information includes the first tag or the second tag. The first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state; The sample information is sent to the server, and M is a positive integer less than or equal to N; the robot receives the dilemma recognition model from the server, and the dilemma recognition model is trained from the sample information collected by one or more robots; the robot performs the movement according to the dilemma recognition model Avoidance.
这样,通过机器人自主采集环境图像信息以及位置信息,并根据当前状态获取100%正确的用于标识机器人是否处于被困住状态的标签信息,保证了样本信息的准确度的同时避免的大量人力的投入。而机器人将N个时刻的样本信息发送给服务器,经过训练获取困境识别模型,用于对机器人的移动进行避障指导,由于样本信息的准确度可以得到保证,因此困境识别模型的准确度也得到大幅提高,由此可以更加准确的指导机器人进行避障。In this way, the robot autonomously collects environmental image information and location information, and obtains 100% correct label information for identifying whether the robot is trapped according to the current state, which ensures the accuracy of the sample information while avoiding a lot of manpower Invest. The robot sends the sample information at N times to the server, and obtains the dilemma recognition model after training, which is used to guide the robot's movement to avoid obstacles. Since the accuracy of the sample information can be guaranteed, the accuracy of the dilemma recognition model is also obtained. Significantly improved, which can guide the robot to avoid obstacles more accurately.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,每个时刻的环境图像信息包括:在该时刻机器人所处环境中,机器人的移动线路上及移动路线周边物体的图像信息。这样,就能够保证环境图像信息中可以包括最有可能成为机器人移动障碍的物体的信息。Combining the first aspect and the foregoing possible implementation manners, in another possible implementation manner, the environmental image information at each moment includes: in the environment where the robot is located at that moment, the information on the robot's moving route and the surrounding objects on the moving route Image information. In this way, it can be ensured that the environment image information can include information about objects that are most likely to become obstacles to the movement of the robot.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,每个时刻的位置信息包括:该时刻的环境图像信息指示的环境中,机器人与机器人的移动线路上及移动线路周边的物体的相对位置信息。这样,就能够确定机器人在该时刻所处环境中的具体位置,以便机器人能够准确的预测机器人在下一时刻所处环境中的位置。Combining the first aspect and the foregoing possible implementation manners, in another possible implementation manner, the position information at each moment includes: in the environment indicated by the environmental image information at that moment, the robot and the robot's moving route and moving route Relative position information of surrounding objects. In this way, the specific location of the robot in the environment at that moment can be determined, so that the robot can accurately predict the location of the robot in the environment at the next moment.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,机器人将N个时刻中M个时刻的样本信息发送给服务器,包括:机器人确定N个时刻的样本信息中,第N个时刻的样本信息包括的标签信息用于指示机器在第N个时刻处于被困住的状态;机器人将第N个时刻的前M-1个时刻的样本信息和第N个时刻的样本信息发送给服务器。这样,由于对于困境识别模型的训练而言,被困住的样本信息以及被困住之前一段时间的样本信息的质量较高,这样就在保证高质量样本信息的传输的同时,减小了系统信息传输的总量,减小了系统的通信负荷。Combining the first aspect and the foregoing possible implementation manners, in another possible implementation manner, the robot sends the sample information of M time out of the N time to the server, including: the robot determines the sample information of the N time, the first The label information included in the sample information at the N time is used to indicate that the machine is in a trapped state at the N time; the robot combines the sample information at the M-1 time before the N time and the sample information at the N time Send to the server. In this way, for the training of the dilemma recognition model, the quality of the trapped sample information and the sample information for a period of time before the trapping is higher, so that while ensuring the transmission of high-quality sample information, the system is reduced. The total amount of information transmission reduces the communication load of the system.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,机器人根据困境识别模型在移动过程中进行避障,包括:机器人获取当前时刻的环境图像信息,及当前时刻的位置信息;机器人根据当前时刻的环境图像信息,当前时刻的位置信息,以及当前时刻机器人的移动方向和移动速度,获取下一时刻的环境图像信息以及下一时刻的位置信息;机器人根据下一时刻的环境图像信息,下一时刻的位置信息,以及困境识别模型确定下一时刻机器人被困住的概率;机器人确定下一时刻机器人被困住的概率大于预设阈值,机器人改变运动策略,进行避障。这样,通过预测下一时刻机器人所处环境的环境图像信息以及位置信息,结合困境识别模型,就可以较为准确的判断下一时刻机器人是否会被困住,根据该结果进行避障,可以有效的避免机器人在移动过程中被困住的情况出现。Combining the first aspect and the above possible implementations, in another possible implementation, the robot avoids obstacles during the movement according to the dilemma recognition model, including: the robot obtains the environment image information at the current moment and the current location Information; the robot obtains the environment image information at the next time and the location information at the next time according to the environment image information at the current time, the location information at the current time, and the movement direction and speed of the robot at the current time; Environmental image information, location information at the next moment, and the dilemma recognition model determine the probability of the robot being trapped at the next moment; the robot determines that the probability of the robot being trapped at the next moment is greater than the preset threshold, and the robot changes its motion strategy to avoid obstacles . In this way, by predicting the environment image information and position information of the environment where the robot is located at the next moment, combined with the dilemma recognition model, it is possible to more accurately determine whether the robot will be trapped at the next moment, and avoid obstacles based on the result, which can be effective Avoid the situation where the robot gets trapped during the movement.
本申请实施例的第二方面,提供一种避障装置,该装置可以包括:获取单元、通信单元以及避障单元。获取单元,用于获取机器人移动过程中N个时刻的样本信息,N为大于0的 整数;其中,N个时刻中每个时刻的样本信息包括:用于指示该时刻机器人所处环境的环境图像信息、用于指示机器人该时刻在环境图像信息指示的环境中的位置的位置信息,以及用于指示机器人该时刻的状态的标签信息;标签信息包括第一标签或第二标签,第一标签用于指示机器人处于未被困住状态,第二标签用于指示机器人处于被困住状态;通信单元,用于将N个时刻中M个时刻的样本信息发送给服务器,M为小于或等于N的正整数;通信单元,还用于从服务器接收困境识别模型,困境识别模型由一个或者多个机器人采集的样本信息训练所得;避障单元,用于根据困境识别模型在机器人移动过程中进行避障。A second aspect of the embodiments of the present application provides an obstacle avoidance device, which may include: an acquisition unit, a communication unit, and an obstacle avoidance unit. The acquisition unit is used to acquire sample information at N times during the movement of the robot, where N is an integer greater than 0; wherein, the sample information at each of the N times includes: an environment image used to indicate the environment where the robot is located at that moment Information, position information indicating the position of the robot in the environment indicated by the environmental image information at that moment, and tag information indicating the state of the robot at that moment; the tag information includes the first tag or the second tag, and the first tag is used for To indicate that the robot is in an untrapped state, the second tag is used to indicate that the robot is in a trapped state; the communication unit is used to send the sample information at M times out of N times to the server, where M is less than or equal to N A positive integer; the communication unit is also used to receive the dilemma recognition model from the server. The dilemma recognition model is trained from the sample information collected by one or more robots; the obstacle avoidance unit is used to avoid obstacles during the movement of the robot according to the dilemma recognition model .
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,每个时刻的环境图像信息包括:在该时刻机器人所处环境中,机器人的移动线路上及移动路线周边物体的图像信息。Combining the second aspect and the foregoing possible implementation manners, in another possible implementation manner, the environmental image information at each moment includes: in the environment where the robot is located at that moment, the information on the robot's moving route and the surrounding objects on the moving route Image information.
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,每个时刻的位置信息包括:该时刻的环境图像信息指示的环境中,机器人与机器人的移动线路上及移动线路周边的物体的相对位置信息。Combining the second aspect and the foregoing possible implementation manners, in another possible implementation manner, the location information at each time includes: the environment indicated by the environmental image information at that time, on the movement line and the movement line of the robot and the robot Relative position information of surrounding objects.
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,确定单元,用于确定N个时刻的样本信息中,第N个时刻的样本信息包括的标签信息用于指示机器在第N个时刻处于被困住的状态;通信单元,用于将N个时刻中M个时刻的样本信息发送给服务器,包括:通信单元,用于将第N个时刻的前M-1个时刻的样本信息和第N个时刻的样本信息发送给服务器。Combining the second aspect and the foregoing possible implementation manners, in another possible implementation manner, the determining unit is configured to determine the sample information at the N time, and the label information included in the sample information at the N time is used to indicate the machine In the trapped state at the Nth time; the communication unit is used to send the sample information of the M time in the N time to the server, including: the communication unit is used to send the first M-1 information at the Nth time The sample information at time and the sample information at the Nth time are sent to the server.
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,获取单元,还用于获取当前时刻的环境图像信息,及当前时刻的位置信息,根据当前时刻的环境图像信息,当前时刻的位置信息,以及当前时刻机器人的移动方向和移动速度,获取下一时刻的环境图像信息以及下一时刻的位置信息;避障单元,用于根据困境识别模型在机器人移动过程中进行避障,包括:避障单元,用于根据下一时刻的环境图像信息,下一时刻的位置信息,以及困境识别模型确定下一时刻机器人被困住的概率,确定下一时刻机器人被困住的概率大于预设阈值,改变机器人运动策略,进行避障。Combining the second aspect and the foregoing possible implementation manners, in another possible implementation manner, the acquiring unit is also used to acquire environmental image information at the current moment, and location information at the current moment, according to the environmental image information at the current moment, The position information at the current moment, and the moving direction and speed of the robot at the current moment, to obtain the image information of the environment at the next moment and the location information at the next moment; the obstacle avoidance unit is used to avoid the robot during the movement of the robot according to the dilemma recognition model Obstacles, including: obstacle avoidance unit, used to determine the probability of the robot being trapped at the next moment according to the environmental image information at the next moment, the location information at the next moment, and the dilemma recognition model, and to determine the next moment the robot is trapped If the probability is greater than the preset threshold, change the robot's motion strategy to avoid obstacles.
本申请实施例的第三方面,提供一种机器人避障系统,该系统可以包括:一个或多个机器人,以及服务器。机器人,用于获取机器人移动过程中N个时刻的样本信息,将N个时刻的样本信息发送给服务器;其中,N为大于0的整数,N个时刻中每个时刻的样本信息包括:用于指示该时刻机器人所处环境的环境图像信息、用于指示机器人该时刻在环境图像信息指示的环境中的位置的位置信息,以及用于指示机器人该时刻的状态的标签信息;标签信息包括第一标签或第二标签,第一标签用于指示机器人处于未被困住状态,第二标签用于指示机器人处于被困住状态;服务器,用于接收来自一个或多个机器人的样本信息,对接收到的一个或多个机器人的样本信息进行训练,获得困境识别模型,将困境识别模型发送至机器人;机器人,还用于接收困境识别模型,根据困境识别模型在移动过程中进行避障。A third aspect of the embodiments of the present application provides a robot obstacle avoidance system. The system may include: one or more robots and a server. The robot is used to obtain the sample information at N times during the robot movement, and send the sample information at the N times to the server; where N is an integer greater than 0, and the sample information at each of the N times includes: The environment image information indicating the environment where the robot is located at that moment, the position information indicating the position of the robot in the environment indicated by the environment image information at that moment, and the label information indicating the state of the robot at that moment; the label information includes the first Tag or second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state; the server is used to receive sample information from one or more robots, The sample information of one or more robots is trained to obtain a dilemma recognition model, and the dilemma recognition model is sent to the robot; the robot is also used to receive the dilemma recognition model, and avoid obstacles during the movement according to the dilemma recognition model.
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,服务器接收到样本信息包括第一类样本信息和第二类样本信息;服务器用于对接收到的一个或多个机器人的样本信息进行训练,获得困境识别模型,包括:服务器,用于对第一类样本信息进行训练获得初始模型,根据第二类样本信息对初始模型的准确率进行校验,若校验准确率大于预设阈值,则将初始模型确定为困境识别模型,若校验准确率小于预设阈值,则服务器接收机器人发送的新的样本信息,根据新的样本信息以及初始模型继续进行训练,并根据第二类样本信息对继续训练得到的模型进行校验,直到校验准确率大于预设阈值,将校验准确率大于预设阈值 的模型确定为困境识别模型;其中,若将第二类样本信息中环境图像信息和位置信息输入初始模型获得的结果所指示的机器人是否被困住的状态,与第二类样本信息中的标签信息所指示的机器人是否被困住的状态相同,则确定样本信息的校验准确;若将第二类样本信息中每一个样本信息的环境图像信息和位置信息输入初始模型获得的结果所指示的机器人是否被困住的状态,与第二类样本信息中的标签信息所指示的机器人是否被困住的状态不同,则确定样本信息的校验不准确;根据第二类样本信息中每个样本信息的校验结果确定校验准确率。这样,服务器可以通过第一类样本信息以及第二类样本信息的训练和校验,获取准确的困境识别模型并发送给机器人用于进行有效的避障。Combining the third aspect and the foregoing possible implementation manners, in another possible implementation manner, the sample information received by the server includes the first type of sample information and the second type of sample information; the server is used to verify the received one or more The robot's sample information is trained to obtain the dilemma recognition model, including: the server is used to train the first type of sample information to obtain the initial model, and verify the accuracy of the initial model based on the second type of sample information. If the verification is accurate If the rate is greater than the preset threshold, the initial model is determined to be the dilemma recognition model. If the verification accuracy rate is less than the preset threshold, the server receives new sample information sent by the robot, and continues training based on the new sample information and the initial model, and According to the second type of sample information, the model obtained by continuing training is verified until the verification accuracy is greater than the preset threshold, and the model with the verification accuracy greater than the preset threshold is determined as the dilemma recognition model; where, if the second type is The state of whether the robot is trapped indicated by the result of inputting the environmental image information and position information in the sample information into the initial model is the same as the state of whether the robot is trapped indicated by the tag information in the second type of sample information, then it is determined The verification of the sample information is accurate; if the environment image information and position information of each sample information in the second type of sample information are input into the initial model, the result indicated whether the robot is trapped or not is the same as the second type of sample information If the robot is trapped in different states indicated by the tag information, it is determined that the verification of the sample information is not accurate; the verification accuracy is determined according to the verification result of each sample information in the second type of sample information. In this way, the server can obtain an accurate dilemma recognition model and send it to the robot for effective obstacle avoidance through the training and verification of the first type of sample information and the second type of sample information.
第四方面,本申请实施例提供一种机器人,该机器人可以包括处理器,用于与存储器相连,调用存储器中存储的程序,以执行如第一方面或第一方面的可能的实现方式中任一种的机器人避障方法。In a fourth aspect, an embodiment of the present application provides a robot. The robot may include a processor, which is configured to be connected to a memory and call a program stored in the memory to execute any of the first aspect or the possible implementation manners of the first aspect. A method of obstacle avoidance for robots.
第五方面,本申请实施例提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在避障装置中运行时,使得避障装置执行如第一方面或第一方面的可能的实现方式中任一种的机器人避障方法。In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, including: computer software instructions; when the computer software instructions run in the obstacle avoidance device, the obstacle avoidance device can execute the first aspect or the first aspect. The obstacle avoidance method of any one of the implementation modes of the robot.
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面的可能的实现方式中任一种的机器人避障方法。In a sixth aspect, the embodiments of the present application provide a computer program product, which when the computer program product runs on a computer, causes the computer to execute the robot obstacle avoidance method as in the first aspect or any of the possible implementations of the first aspect .
可以理解地,上述提供的第二方面的避障装置、第三方面的机器人避障系统、第四方面的机器人、第五方面的计算机可读存储介质以及第六方面的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。Understandably, the obstacle avoidance device of the second aspect, the robot obstacle avoidance system of the third aspect, the robot of the fourth aspect, the computer-readable storage medium of the fifth aspect, and the computer program product of the sixth aspect provided above are all used for The corresponding method provided above is executed. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above, which will not be repeated here.
附图说明Description of the drawings
图1A为机器人在移动过程中的一种环境示意图;Figure 1A is a schematic diagram of an environment during the movement of the robot;
图1B为机器人在移动过程中的另一种环境示意图;Figure 1B is a schematic diagram of another environment during the movement of the robot;
图2A为机器人在移动过程中的另一种环境示意图;Figure 2A is a schematic diagram of another environment during the movement of the robot;
图2B为机器人在移动过程中的另一种环境示意图;Figure 2B is a schematic diagram of another environment during the movement of the robot;
图3A为机器人在移动过程中的另一种环境示意图;Figure 3A is a schematic diagram of another environment during the movement of the robot;
图3B为机器人在移动过程中的另一种环境示意图;Figure 3B is a schematic diagram of another environment during the movement of the robot;
图4为本申请实施例提供的一种机器人避障系统的简化示意图;4 is a simplified schematic diagram of a robot obstacle avoidance system provided by an embodiment of the application;
图5为本申请提供一种机器人的组成示意图;FIG. 5 is a schematic diagram of the composition of a robot provided in this application;
图6为本申请实施例提供的一种机器人避障方法的流程示意图;FIG. 6 is a schematic flowchart of a method for avoiding obstacles for a robot according to an embodiment of the application;
图7为本申请实施例提供的另一种机器人避障方法的流程示意图;FIG. 7 is a schematic flowchart of another obstacle avoidance method for a robot according to an embodiment of the application;
图8为本申请实施例提供的一种困境识别模型的组成示意图;FIG. 8 is a schematic diagram of the composition of a dilemma recognition model provided by an embodiment of the application;
图9为本申请实施例提供的机器人避障示意图;FIG. 9 is a schematic diagram of robot obstacle avoidance provided by an embodiment of the application;
图10为本申请实施例提供的一种避障装置的简化示意图。FIG. 10 is a simplified schematic diagram of an obstacle avoidance device provided by an embodiment of the application.
具体实施方式Detailed ways
现有的机器人(如扫地机器人)识别困境的方法,需要人工收集样本数据,这些收集到的样本数据还需要人工的打上标签,因此会带来较大人力成本的投入。而人工打标签的过程也可能会出错。示例性的,以机器人为扫地机器人为例进行说明。例如,当扫地机器人处于如图3A所示的位置时,人从如图3A所示的角度观察,可以认为扫地机器人被卡在固定物体与地面之间的缝隙之内,无法继续移动,此时人工会为其打上被困住的标签。然而扫地机器人可能并未被缝隙阻挡,能够继续在该缝隙内工作,这样,就会出现该样本数据的标签信息 标注错误的情况发生。另外,目前收集的样本数据,大多是以用户的角度拍摄的环境图片,并不能直观准确的体现机器人所处环境。这些均会导致训练获得的困境识别模型不准确。Existing robots (such as sweeping robots) need to manually collect sample data. These collected sample data also need to be manually labeled, which will result in a large labor cost. The manual labeling process may also be wrong. Illustratively, the robot is a sweeping robot as an example for description. For example, when the sweeping robot is in the position shown in Figure 3A, people can think that the sweeping robot is stuck in the gap between the fixed object and the ground and cannot continue to move when viewed from the angle shown in Figure 3A. Manually tag them as trapped. However, the sweeping robot may not be blocked by the gap and can continue to work in the gap. In this way, the label information of the sample data may be incorrectly labeled. In addition, most of the currently collected sample data are environmental pictures taken from the perspective of the user, which cannot intuitively and accurately reflect the environment where the robot is located. These will lead to inaccurate dilemma recognition models obtained by training.
本申请提供一种机器人避障方法,其基本原理是:机器人获取在自身移动过程中N个(N为大于0的整数)时刻的样本信息,将N个时刻的样本信息发送给服务器。机器人从服务器接收困境识别模型,其中,困境识别模型由一个或者多个机器人采集的样本信息训练所得。机器人可以根据困境识别模型在移动过程中进行避障。The present application provides a robot obstacle avoidance method, the basic principle of which is that the robot obtains sample information at N (N is an integer greater than 0) time during its movement, and sends the sample information at the N time to the server. The robot receives the dilemma recognition model from the server, where the dilemma recognition model is trained on sample information collected by one or more robots. The robot can avoid obstacles in the process of moving according to the dilemma recognition model.
其中,上述N个时刻的每个时刻对应的样本信息包括该时刻机器人所处环境的环境图像信息、机器人该时刻在环境图像信息指示的环境中的位置的位置信息。这些信息均是由机器人采集得到的,其能够准确的标识机器人当时所在的环境。同时,每个样本信息还包括用于指示机器人该时刻是否处于被困住的状态的标签信息。同样的,标签信息也是机器人根据自身识别出当时的状态标记的,也能准确体现机器人当前的状态。这样,通过将这样的样本信息发送给服务器,用于服务器训练困境识别模型,能够提高困境识别模型的准确性。同时,由于不需要人工收集机器人工作过程中的环境图像信息,也不需要人工对该环境图像信息打标签,因此,节省了大量的人力成本投入。Wherein, the sample information corresponding to each of the aforementioned N times includes environmental image information of the environment in which the robot is located at that time, and position information of the position of the robot in the environment indicated by the environmental image information at that time. This information is collected by the robot, which can accurately identify the environment where the robot is at that time. At the same time, each sample information also includes tag information used to indicate whether the robot is trapped at that moment. Similarly, the tag information is also marked by the robot according to its own recognition of the current state, which can also accurately reflect the current state of the robot. In this way, by sending such sample information to the server for the server to train the dilemma recognition model, the accuracy of the dilemma recognition model can be improved. At the same time, since there is no need to manually collect environmental image information during the robot's working process, and no need to manually label the environmental image information, a large amount of labor cost is saved.
以下结合附图对本申请提供的机器人避障方法进行详细说明。The robot obstacle avoidance method provided by the present application will be described in detail below with reference to the accompanying drawings.
请参考图4,为本申请实施例提供的一种机器人避障系统的简化示意图。如图4所示,该机器人避障系统可以包括:机器人401,以及服务器402。需要说明的是,上述机器人401可以包括一个或多个机器人,如图4所示的机器人1-机器人n。Please refer to FIG. 4, which is a simplified schematic diagram of a robot obstacle avoidance system provided by an embodiment of this application. As shown in FIG. 4, the robot obstacle avoidance system may include a robot 401 and a server 402. It should be noted that the aforementioned robot 401 may include one or more robots, such as robot 1-robot n shown in FIG. 4.
其中,对于上述机器人401中的每个机器人均可以用于,在自身移动过程中,获取N个时刻的样本信息,通过无线通信,分别将各自获得的N个时刻的样本信息发送给服务器402。其中,每个时刻的样本信息可以包括:该时刻的环境图像信息,该时刻的位置信息及该时刻的标签信息。环境图像信息用于指示该时刻机器人所处的环境。位置信息用于指示机器人在该时刻的环境图像信息所指示的环境中的位置。标签信息用于指示该时刻机器人是否被困住的状态。Among them, each of the above-mentioned robots 401 can be used to obtain sample information at N times during its own movement, and send the obtained sample information at N times to the server 402 through wireless communication. Wherein, the sample information at each time may include: environmental image information at that time, location information at that time, and tag information at that time. The environment image information is used to indicate the environment where the robot is at that moment. The location information is used to indicate the location of the robot in the environment indicated by the environment image information at that moment. The tag information is used to indicate whether the robot is trapped at that moment.
上述服务器402,可以根据接收来自一个或多个机器人的样本信息,对接收到的一个或多个机器人的样本信息进行训练,获得困境识别模型,并将困境识别模型发送至每个机器人。以便机器人401能够根据接收到的困境识别模型在移动过程中进行避障。The above-mentioned server 402 may train the received sample information of one or more robots according to the sample information received from one or more robots, obtain the dilemma recognition model, and send the dilemma recognition model to each robot. In this way, the robot 401 can avoid obstacles during the movement according to the received dilemma recognition model.
示例性的,服务器402通过样本信息获取困境识别模型的过程,可以通过以下方法实现:服务器402可以将获得的样本信息分为两类,如称为第一类样本信息和第二类样本信息。第一类样本信息可以用作困境识别模型的训练,第二类样本信息可对训练出的困境识别的模型进行检测,以确定训练出的困境识别模型的准确性。服务器402获取困境识别模型的过程在以下实施例中将详细描述,此处不进行赘述。Exemplarily, the process in which the server 402 obtains the dilemma recognition model through sample information can be implemented by the following method: the server 402 can divide the obtained sample information into two types, such as the first type of sample information and the second type of sample information. The first type of sample information can be used for training of the dilemma recognition model, and the second type of sample information can be used to detect the trained dilemma recognition model to determine the accuracy of the trained dilemma recognition model. The process of obtaining the dilemma recognition model by the server 402 will be described in detail in the following embodiments, and will not be repeated here.
其中,上述机器人401可以是扫地机器人,银行等服务行业提供自助服务的机器人等可以自主移动的电子设备。Wherein, the aforementioned robot 401 may be an electronic device that can move autonomously, such as a cleaning robot, a self-service robot provided by a service industry such as a bank, and the like.
请参考图5,为本申请提供一种机器人500的组成示意图。如图5所示,机器人500可以包括图像采集模块501、传感器502、处理器503、存储器504以及通信模块505。Please refer to FIG. 5, which provides a schematic diagram of the composition of a robot 500 for this application. As shown in FIG. 5, the robot 500 may include an image acquisition module 501, a sensor 502, a processor 503, a memory 504, and a communication module 505.
其中,处理器503可以包括一个或多个处理单元,例如:处理器503可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理 单元可以是独立的器件,也可以集成在一个或多个处理器中。The processor 503 may include one or more processing units. For example, the processor 503 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), and an image signal. Processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit, NPU) and so on. Among them, different processing units can be independent devices or integrated in one or more processors.
其中,控制器可以是机器人500的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。The controller may be the nerve center and command center of the robot 500. The controller can generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
处理器503中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器中的存储器为高速缓冲存储器。该存储器可以保存处理器刚用过或循环使用的指令或数据。如果处理器需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器503的等待时间,因而提高了系统的效率。A memory may also be provided in the processor 503 for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. The memory can store instructions or data that the processor has just used or recycled. If the processor needs to use the instruction or data again, it can be directly called from the memory. Repeated access is avoided, the waiting time of the processor 503 is reduced, and the efficiency of the system is improved.
在一些实施例中,处理器503可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。In some embodiments, the processor 503 may include one or more interfaces. Interfaces may include integrated circuit (I2C) interface, universal asynchronous receiver/transmitter (UART) interface, mobile industry processor interface (MIPI), general input and output (general -purpose input/output, GPIO) interface, subscriber identity module (SIM) interface, and/or universal serial bus (universal serial bus, USB) interface, etc.
接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器可以包含多组I2C总线。处理器可以通过不同的I2C总线接口分别耦合传感器,摄像头等。The interface is a bidirectional synchronous serial bus, which includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor may include multiple sets of I2C buses. The processor can couple sensors, cameras, etc. separately through different I2C bus interfaces.
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器503与通信模块505。例如:处理器503通过UART接口与无线通信模块中的蓝牙模块通信,实现蓝牙功能。The UART interface is a universal serial data bus used for asynchronous communication. The bus can be a two-way communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is usually used to connect the processor 503 and the communication module 505. For example, the processor 503 communicates with the Bluetooth module in the wireless communication module through the UART interface to realize the Bluetooth function.
MIPI接口可以被用于连接处理器与摄像头等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI)等。在一些实施例中,处理器和摄像头通过CSI接口通信,实现机器人500的拍摄功能。The MIPI interface can be used to connect peripheral devices such as processors and cameras. MIPI interface includes camera serial interface (camera serial interface, CSI) and so on. In some embodiments, the processor and the camera communicate through a CSI interface to realize the shooting function of the robot 500.
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器与摄像头,无线通信模块,传感器模块等。GPIO接口还可以被配置为I2C接口,UART接口,MIPI接口等。The GPIO interface can be configured through software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor and camera, wireless communication module, sensor module, etc. GPIO interface can also be configured as I2C interface, UART interface, MIPI interface, etc.
USB接口是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为机器人500充电,也可以用于机器人500与外围设备之间传输数据。该接口还可以用于连接其他机器人500等。The USB interface is an interface that complies with the USB standard specifications, and can be a Mini USB interface, a Micro USB interface, and a USB Type C interface. The USB interface can be used to connect a charger to charge the robot 500, and can also be used to transfer data between the robot 500 and peripheral devices. This interface can also be used to connect other robots 500 and so on.
图像采集模块501可以采集机器人500周边的图像信息,例如,拍摄照片或拍摄视频等。机器人500可以通过ISP,摄像头,视频编解码器,GPU,以及应用处理器等实现图像采集功能。The image collection module 501 can collect image information around the robot 500, for example, taking photos or videos. The robot 500 can implement image acquisition functions through ISP, camera, video codec, GPU, and application processor.
ISP用于处理摄像头反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度等进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头中。ISP is used to process the data fed back from the camera. For example, when taking a picture, the shutter is opened, the light is transmitted to the photosensitive element of the camera through the lens, the light signal is converted into an electrical signal, and the photosensitive element of the camera transfers the electrical signal to the ISP for processing and is converted into an image visible to the naked eye. ISP can also optimize algorithms for image noise and brightness. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera.
摄像头用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在 一些实施例中,机器人500可以包括1个或N个摄像头,N为大于1的正整数。The camera is used to capture still images or videos. The object generates an optical image through the lens and projects it to the photosensitive element. The photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal. ISP outputs digital image signals to DSP for processing. DSP converts digital image signals into standard RGB, YUV and other formats. In some embodiments, the robot 500 may include 1 or N cameras, and N is a positive integer greater than one.
传感器502可以获取机器人500的移动速度、移动方向以及与周边物体之间的距离等信息。示例性的,传感器502可以包括陀螺仪传感器,速度传感器,加速度传感器,距离传感器等。The sensor 502 can obtain information such as the moving speed, the moving direction, and the distance to surrounding objects of the robot 500. Exemplarily, the sensor 502 may include a gyroscope sensor, a speed sensor, an acceleration sensor, a distance sensor, and the like.
其中,陀螺仪传感器可以用于确定机器人500的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定机器人500围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器可以用于拍摄防抖。示例性的,当机器人500在进行图像采集时,陀螺仪传感器检测机器人500抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消机器人500的抖动,实现防抖。陀螺仪传感器还可以用于导航,判断机器人500是否被困等场景。Among them, the gyroscope sensor can be used to determine the movement posture of the robot 500. In some embodiments, the angular velocity of the robot 500 around three axes (ie, x, y, and z axes) can be determined by a gyroscope sensor. The gyroscope sensor can be used for shooting anti-shake. Exemplarily, when the robot 500 is performing image acquisition, the gyroscope sensor detects the angle of the robot 500 shaking, and calculates the distance that the lens module needs to compensate according to the angle, so that the lens can counteract the shaking of the robot 500 through reverse movement to achieve anti-shake . The gyro sensor can also be used for navigation and to determine whether the robot 500 is trapped or not.
速度传感器用于测量移动速度。在一些实施例中,机器人500通过速度传感器测得当前时刻的移动速度,可以结合距离传感器以当前时刻机器人500所处的环境预测下一时刻机器人500所处的环境等。The speed sensor is used to measure the moving speed. In some embodiments, the robot 500 uses a speed sensor to measure the moving speed at the current moment, and the distance sensor may be combined with the distance sensor to predict the environment where the robot 500 is located at the next moment, etc.
加速度传感器可检测机器人500在各个方向上(一般为三轴)加速度的大小。当机器人500静止时可检测出重力的大小及方向。The acceleration sensor can detect the magnitude of the acceleration of the robot 500 in various directions (generally three axes). When the robot 500 is stationary, the magnitude and direction of gravity can be detected.
距离传感器,用于测量距离。机器人500可以通过红外或激光测量距离。在一些实施例中,拍摄场景,机器人500可以利用距离传感器测距以实现快速对焦。Distance sensor, used to measure distance. The robot 500 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the robot 500 may use a distance sensor to measure the distance to achieve fast focusing.
存储器504可以包括外部存储器以及内部存储器。外部存储器接口可以用于连接外部存储卡,例如Micro SD卡,实现扩展机器人500的存储能力。外部存储卡通过外部存储器接口与处理器通信,实现数据存储功能。例如将样本信息文件保存在外部存储卡中。The memory 504 may include external memory and internal memory. The external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the robot 500. The external memory card communicates with the processor through the external memory interface to realize the data storage function. For example, save the sample information file in an external memory card.
内部存储器可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器通过运行存储在内部存储器的指令,从而执行机器人500的各种功能应用以及数据处理。内部存储器可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序。存储数据区可存储机器人500使用过程中所创建的数据。此外,内部存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。The internal memory may be used to store computer executable program code, the executable program code including instructions. The processor executes various functional applications and data processing of the robot 500 by running instructions stored in the internal memory. The internal memory can include a program storage area and a data storage area. Among them, the storage program area can store the operating system and at least one application program required by the function. The data storage area can store data created during the use of the robot 500. In addition, the internal memory may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (UFS), and the like.
机器人500的无线通信功能可以通过通信模块505实现。例如,通过通信模块505,机器人500可实现与其他设备之间的通信,例如与服务器之间的通信。作为一种示例,通信模块505可以包括天线1,天线2,移动通信模块,无线通信模块,调制解调处理器以及基带处理器等。The wireless communication function of the robot 500 can be implemented by the communication module 505. For example, through the communication module 505, the robot 500 can realize communication with other devices, such as communication with a server. As an example, the communication module 505 may include antenna 1, antenna 2, mobile communication module, wireless communication module, modem processor, baseband processor, and so on.
天线1和天线2用于发射和接收电磁波信号。机器人500中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the robot 500 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna can be used in combination with a tuning switch.
移动通信模块可以提供应用在机器人500上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块的至少部分功能模块可以被设置于处理器中。在一些实施例中,移动通信 模块的至少部分功能模块可以与处理器的至少部分模块被设置在同一个器件中。The mobile communication module can provide wireless communication solutions including 2G/3G/4G/5G and other wireless communication solutions applied to the robot 500. The mobile communication module may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module can receive electromagnetic waves by the antenna 1, and perform processing such as filtering and amplifying the received electromagnetic waves, and then transmitting them to the modem processor for demodulation. The mobile communication module can also amplify the signal modulated by the modem processor, and convert it into electromagnetic wave radiation by the antenna 1. In some embodiments, at least part of the functional modules of the mobile communication module may be provided in the processor. In some embodiments, at least part of the functional modules of the mobile communication module and at least part of the modules of the processor may be provided in the same device.
无线通信模块可以提供应用在机器人500上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。无线通信模块还可以从处理器接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。The wireless communication module can provide applications on the robot 500 including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), and global navigation satellite systems ( Global navigation satellite system, GNSS), infrared technology (infrared, IR) and other wireless communication solutions. The wireless communication module may be one or more devices integrating at least one communication processing module. The wireless communication module receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor. The wireless communication module can also receive the signal to be sent from the processor, perform frequency modulation, amplify, and radiate electromagnetic waves through the antenna 2.
在一些实施例中,机器人500的天线1和移动通信模块耦合,天线2和无线通信模块耦合,使得机器人500可以通过无线通信技术与服务器以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。In some embodiments, the antenna 1 of the robot 500 is coupled with the mobile communication module, and the antenna 2 is coupled with the wireless communication module, so that the robot 500 can communicate with the server and other devices through wireless communication technology. The wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc. The GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite-based augmentation systems (SBAS).
可以理解的是,本实施例示意的结构并不构成对机器人500的具体限定。在另一些实施例中,机器人500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。It can be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the robot 500. In other embodiments, the robot 500 may include more or fewer components than shown, or combine certain components, or split certain components, or arrange different components. The illustrated components can be implemented in hardware, software, or a combination of software and hardware.
本申请实施例提供的机器人避障方法都可以在如图4所示的系统中以及图5所示的机器人中实现。The obstacle avoidance methods for the robot provided by the embodiments of the present application can be implemented in the system shown in FIG. 4 and the robot shown in FIG. 5.
图6为本申请实施例提供的一种机器人避障方法的流程示意图。请参考图6所示,该方法可以包括S601-S605。FIG. 6 is a schematic flowchart of a method for avoiding obstacles for a robot according to an embodiment of the application. Please refer to FIG. 6, the method may include S601-S605.
S601、机器人获取移动过程中N个时刻的样本信息,N为大于0的整数。S601. The robot obtains sample information at N times during the movement, where N is an integer greater than 0.
其中,每个时刻的样本信息包括用于指示该时刻机器人所处环境的环境图像信息、用于指示机器人该时刻在环境图像信息指示的环境中的位置的位置信息,以及用于指示机器人该时刻的状态的标签信息,标签信息包括第一标签或第二标签,第一标签用于指示机器人处于未被困住状态,第二标签用于指示机器人处于被困住状态。Among them, the sample information at each time includes environmental image information used to indicate the environment in which the robot is located at that time, position information used to indicate the position of the robot in the environment indicated by the environmental image information at that time, and position information used to indicate the robot at that time The tag information includes the first tag or the second tag. The first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state.
示例性的,机器人可以通过设置在机器人上的模块来获取机器人所处环境的环境图像信息以及位置信息。同时,机器人能够根据当前时刻的移动状态,判断是否被困住,以获得该时刻的标签信息。例如,当机器人无法继续移动时,判断在当前时刻处于被困住的状态,据此可获得该时刻的标签信息为第二标签。反之,则确定机器人在当前时刻处于未被困住的状态,据此可获得该时刻的标签信息为第一标签。这样,机器人在移动过程中,通过实时获取这些信息,便可获得机器人在移动过程中N个时刻的样本信息。其中,N为大于0的整数。Exemplarily, the robot can obtain the environmental image information and position information of the environment where the robot is located through a module provided on the robot. At the same time, the robot can determine whether it is trapped according to the current state of movement to obtain the tag information at that moment. For example, when the robot cannot continue to move, it is judged that it is trapped at the current moment, and the tag information at that moment can be obtained as the second tag. Otherwise, it is determined that the robot is in an untrapped state at the current moment, and the label information at that moment can be obtained as the first label. In this way, by acquiring this information in real time during the movement of the robot, the sample information at N times during the movement of the robot can be obtained. Wherein, N is an integer greater than zero.
S602、机器人将N个时刻中M个时刻的样本信息发送给服务器,M为小于或等于N的正整数。S602: The robot sends the sample information of M time in N time to the server, where M is a positive integer less than or equal to N.
其中,机器人可以将获取的N个时刻的样本全部发送给服务器,即M等于N。示例性的, 机器人可以是在每获取一个时刻的样本信息后便实时将该时刻的样本信息发送给服务器,也可以是将这N个时刻的样本信息一同发给服务器。Among them, the robot can send all acquired samples at N times to the server, that is, M is equal to N. Exemplarily, the robot may send the sample information of the moment to the server in real time after acquiring the sample information of the moment, or may send the sample information of the N moments to the server together.
可以理解的是,机器人可以在移动过程中获取大量的样本信息,而其中的一些样本信息质量较高,那么,机器人就可以将获取的样本信息中的部分质量较高的信息发送给机器人,即发送N个时刻中M个时刻的样本信息,M为小于N的正整数。示例性的,机器人可以将被困住时的样本信息以及机器人被困住之前的未被困住的样本信息发送给服务器。这样就能够在保证样本信息充足的前提下提高信息质量,减小系统信息负荷。It is understandable that the robot can obtain a large amount of sample information in the process of moving, and some of the sample information is of high quality, so the robot can send some high-quality information in the obtained sample information to the robot, namely Send the sample information of M time in N time, M is a positive integer less than N. Exemplarily, the robot may send the sample information when it is trapped and the sample information that is not trapped before the robot is trapped to the server. In this way, the information quality can be improved while ensuring sufficient sample information and the system information load can be reduced.
S603、服务器对来自一个或者多个机器人采集的样本信息进行训练,获得困境识别模型。S603: The server trains the sample information collected from one or more robots to obtain a dilemma recognition model.
其中,由于困境识别模型的训练需要大量的样本信息,因此,在本实施例中,可有多个机器人能够向服务器上报自身采集到的样本信息。这样,服务器便可根据接收到的多个机器人采集的样本信息进行模型训练,以获得更为准确的困境识别模型。Among them, since the training of the dilemma recognition model requires a large amount of sample information, in this embodiment, there may be multiple robots that can report the sample information collected by themselves to the server. In this way, the server can perform model training based on the received sample information collected by multiple robots to obtain a more accurate dilemma recognition model.
S604、机器人从服务器接收困境识别模型。S604. The robot receives the dilemma recognition model from the server.
其中,服务器可以实时地向机器人发送根据一个或多个机器人获取的样本信息训练所得的困境识别模型,也可以是按照预定的时间间隔向机器人发送困境识别模型。机器人可以通过通信模块接收该困境识别模型,并存储在存储器中。Wherein, the server may send the dilemma recognition model trained based on the sample information obtained by one or more robots to the robot in real time, or it may send the dilemma recognition model to the robot at a predetermined time interval. The robot can receive the dilemma recognition model through the communication module and store it in the memory.
S605、机器人根据所述困境识别模型在移动过程中进行避障。S605: The robot avoids obstacles during the movement process according to the dilemma recognition model.
机器人在移动过程中,可以获取当前时刻的移动方向以及移动速度,并根据当前时刻的环境图像信息以及位置信息预测下一时刻机器人所处环境的环境图像信息以及位置信息。以便机器人根据困境识别模型确定下一时刻机器人是否会处于被困住的状态,或者确定下一时刻机器人被困住的概率。这样,机器人便可根据确定的结果来确定下一时刻是否需要避障。During the movement of the robot, it can obtain the current direction and speed of movement, and predict the environment image information and location information of the environment where the robot is located at the next moment based on the environment image information and location information at the current moment. So that the robot can determine whether the robot will be trapped in the next moment according to the dilemma recognition model, or determine the probability of the robot being trapped in the next moment. In this way, the robot can determine whether obstacle avoidance is needed at the next moment according to the determined result.
示例性的,在一些实施例中,以下一时刻机器人所处环境的环境图像信息和位置信息作为困境识别模型的输入,可以确定下一时刻机器人是否会处于被困住的状态。当机器人确定下一时刻机器人会被困住时,机器人可以在当前时刻进行避障,以避免下一时刻被困住。在另一些实施例中,以下一时刻机器人所处环境的环境图像信息和位置信息作为困境识别模型的输入,能够确定下一时刻机器人被困住的概率。当机器人确定下一时刻机器人被困住的概率大于预设阈值时,机器人可以进行避障操作。Exemplarily, in some embodiments, the environment image information and position information of the environment in which the robot is located at the next moment are used as input to the dilemma recognition model to determine whether the robot will be trapped in the next moment. When the robot determines that the robot will be trapped at the next moment, the robot can avoid obstacles at the current moment to avoid being trapped at the next moment. In some other embodiments, the environment image information and location information of the environment where the robot is located at the next moment are used as input to the dilemma recognition model to determine the probability of the robot being trapped at the next moment. When the robot determines that the probability of the robot being trapped at the next moment is greater than the preset threshold, the robot can perform obstacle avoidance operations.
本申请实施例提供的机器人避障方法,机器人采集自身移动过程中N个时刻的环境图像信息和位置信息,能够准确的标识机器人在N个人时刻中的每个时刻所处的环境。同时机器人自主判断是否处于被困住的状态,以根据判断结果自动为对应时刻所处的环境打上标签,这能准确体现机器人在对应时刻是否被困住。机器人通过将这些信息作为样本信息发送给服务器,用于服务器训练困境识别模型,能够提高困境识别模型的准确性。同时,由于不需要人工收集机器人工作过程中的环境图像信息,也不需要人工对该环境图像信息打标签,因此,节省了大量的人力成本投入。In the obstacle avoidance method for the robot provided by the embodiments of the present application, the robot collects environment image information and position information at N times during its movement, and can accurately identify the environment where the robot is located at each of the N personal times. At the same time, the robot autonomously judges whether it is in a trapped state to automatically label the environment at the corresponding time according to the judgment result, which can accurately reflect whether the robot is trapped at the corresponding time. The robot sends this information as sample information to the server for training the dilemma recognition model on the server, which can improve the accuracy of the dilemma recognition model. At the same time, since there is no need to manually collect environmental image information during the robot's working process, and no need to manually label the environmental image information, a large amount of labor cost is saved.
请参考图7,为本申请实施例提供的另一种机器人避障方法。如图7所示,该方法可以包括S701-S706。Please refer to FIG. 7, which is another obstacle avoidance method for a robot provided by an embodiment of this application. As shown in Figure 7, the method may include S701-S706.
S701、机器人获取移动过程中N个时刻的样本信息,该N个时刻中每个时刻的样本信息包括该时刻的环境图像信息、该时刻的位置信息,以及该时刻的标签信息。S701. The robot obtains sample information at N moments in the movement process, where the sample information at each moment of the N moments includes environmental image information at that moment, position information at that moment, and tag information at that moment.
其中,该时刻的环境图像信息用于指示该时刻机器人所处环境。该时刻的位置信息用于指示机器人该时刻在该时刻的环境图像信息指示的环境中的位置。该时刻的标签信息用于指示机器人该时刻的状态。标签信息包括第一标签或第二标签,第一标签用于指示机器人处于未被困住状态,第二标签用于指示机器人处于被困住状态。Among them, the environment image information at that moment is used to indicate the environment where the robot is located at that moment. The position information at this time is used to indicate the position of the robot in the environment indicated by the environment image information at that time. The tag information at this moment is used to indicate the state of the robot at that moment. The tag information includes a first tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state.
由于机器人在工作时是不断移动的,因此在不同时刻,机器人可能会处于不同环境,所在位置也可能不同,是否处于被困住的状态也可能不同。为了能够让服务器获得足够的样本信息进行困境识别模型的训练,机器人可以根据移动过程中所处的环境,所在的位置及是否处于被困住的状态获取自身移动过程中N个时刻的样本信息。其中,N为大于0的整数。Since the robot is constantly moving when it is working, at different times, the robot may be in a different environment, the location may be different, and whether it is trapped or not may also be different. In order to allow the server to obtain enough sample information to train the dilemma recognition model, the robot can obtain sample information at N times during its movement according to the environment, location and whether it is trapped during the movement. Wherein, N is an integer greater than zero.
示例性的,以下以机器人获取移动过程中的第一时刻的样本信息为例,说明某个时刻样本信息的获取过程。该第一时刻为上述N个时刻中的任意一个时刻。Exemplarily, the following takes the robot acquiring sample information at the first moment in the movement process as an example to illustrate the process of acquiring sample information at a certain moment. The first moment is any one of the above N moments.
在移动过程中,机器人获取第一时刻的机器人所处环境的环境图像信息。During the movement, the robot obtains the environmental image information of the environment where the robot is located at the first moment.
示例性的,结合图5,机器人500可以通过设置在机器人500上的包括摄像头的图像采集模块501获取所处环境的环境图像信息。Exemplarily, with reference to FIG. 5, the robot 500 may obtain environment image information of the environment in which it is located through an image acquisition module 501 including a camera provided on the robot 500.
在一些实施例中,该环境图像信息可以是机器人在第一时刻拍摄得到的机器人所处环境的照片。In some embodiments, the environment image information may be a photo of the environment in which the robot is located at the first moment.
一般来说,机器人在工作的过程中会采用录制视频的方式来记录工作状态或者向用户反馈工作信息。因此,在其他一些实施例中,机器人可以将录制的视频中的第一时刻的图像作为该第一时刻机器人所处环境的环境图像信息。可以理解的是,视频可以分解为多个时域连续的图像。而一段视频对应一段播放时间,因此,一段视频中的每个图像可以对应该播放时间中的一个时刻。那么,每一个与时刻对应的图像就可以作为机器人在该时刻下所处环境的环境图像信息。例如,假设机器人录制的视频中包括时刻1的图像A,时刻2的图像B,以及时刻3的图像C。那么,机器人就可以将图像A作为机器人在第一时刻所处环境的环境图像信息1。类似的,将图像B作为机器人在其他时刻,如第二时刻所处环境的环境图像信息B,将图像C作为机器人在其他时刻,如第三时刻所处环境的环境图像信息C。Generally speaking, the robot will use video recording to record the working status or feed back work information to the user during the work. Therefore, in some other embodiments, the robot may use the image at the first moment in the recorded video as the environment image information of the environment in which the robot is located. It is understandable that the video can be decomposed into multiple consecutive images in the time domain. A video corresponds to a period of playing time. Therefore, each image in a video can correspond to a moment in the playing time. Then, each image corresponding to the time can be used as the environment image information of the environment where the robot is at that time. For example, suppose that the video recorded by the robot includes image A at time 1, image B at time 2, and image C at time 3. Then, the robot can use image A as the environment image information 1 of the environment the robot is in at the first moment. Similarly, take image B as the environment image information B of the environment where the robot is at other times, such as the second time, and take image C as the environment image information C of the environment where the robot is at other times, such as the third time.
需要注意的是,由于该环境图像信息是由机器人直接获取的,因此,可以更加准确的反应机器人所处环境。另外,在机器人移动过程中,由于其移动线路上或移动线路周边的物体对机器人的移动造成阻碍的可能性最大,因此,机器人所获取的环境图像信息中可以包括其移动线路上或移动线路周边的物体的图像信息。这样,环境图像信息就可以为机器人是否可能被困住提供更加准确的参考。其中,机器人的移动线路可以根据当前时刻,如上述第一时刻机器人的移动方向以及移动速度确定。在某些场景中,机器人的移动线路可以是提前规划好的,那么机器人也可以通过查询提前规划好的移动线路来获取移动线路的信息。It should be noted that because the environment image information is directly obtained by the robot, it can more accurately reflect the environment the robot is in. In addition, during the movement of the robot, objects on or around the moving line are most likely to hinder the movement of the robot. Therefore, the environmental image information obtained by the robot can include the moving line or the surrounding area. Image information of the object. In this way, the environmental image information can provide a more accurate reference for whether the robot may be trapped. Wherein, the moving route of the robot can be determined according to the current moment, such as the moving direction and moving speed of the robot at the first moment mentioned above. In some scenarios, the movement route of the robot can be planned in advance, and the robot can also obtain information about the movement route by querying the planned movement route in advance.
在移动过程中,机器人获取第一时刻机器人在所处环境中的位置信息。During the movement, the robot obtains the position information of the robot in the environment at the first moment.
其中,第一时刻机器人在所处环境中的位置信息可以是该第一时刻机器人与机器人所处环境中的其他物体之间的相对位置信息。第一时刻机器人所处环境可以是指第一时刻的环境图像信息所指示的环境。Wherein, the position information of the robot in the environment at the first moment may be relative position information between the robot and other objects in the environment where the robot is located at the first moment. The environment where the robot is located at the first moment may refer to the environment indicated by the environment image information at the first moment.
在不同时刻机器人所处的环境不同,因此,机器人在不同时刻与相同物体之间的距离也不同。示例性的,结合图5,机器人500可以通过设置在机器人500上的传感器502在第一时刻时,获取该机器人与其所处环境中的其他物体之间的相对位置信息。例如,该相对位置信息可以是机器人500与上述物体之间的距离信息。其中,该距离信息可以包括机器人在第一时刻与移动线路上或移动线路周边的物体的距离。The environment of the robot at different times is different, therefore, the distance between the robot and the same object at different times is also different. Exemplarily, in conjunction with FIG. 5, the robot 500 can obtain the relative position information between the robot and other objects in the environment at the first moment through the sensor 502 provided on the robot 500. For example, the relative position information may be distance information between the robot 500 and the aforementioned object. Wherein, the distance information may include the distance between the robot and objects on or around the moving line at the first moment.
当然,在一些实施例中,机器人500也可以通过传感器502获取该机器人在当前时刻(如第一时刻)所处的经纬度信息以及高度信息或海拔信息,这些信息也可以作为上述位置信息。这样,机器人就能够根据该位置信息更加准确的确定机器人在该时刻的位置。那么,当机器人在另一时刻(如第二时刻)下,当获取的位置信息与上述位置信息相同时,就能够准确的确定机器人在第二时刻所处的环境与机器人在第一时刻所处的环境完全相同。而作为机器人 避障指导的困境识别模型就是通过包括上述第一时刻机器人所采集的样本信息的信息进行训练获取的,因此,机器人能够通过该困境识别模型对该机器人在第二时刻所处的环境进行更加准确的判断(即,判断机器人在第二时刻是否会被困住)。Of course, in some embodiments, the robot 500 may also obtain the latitude and longitude information, altitude information or altitude information of the robot at the current moment (such as the first moment) through the sensor 502, and these information may also be used as the aforementioned position information. In this way, the robot can more accurately determine the position of the robot at that moment based on the position information. Then, when the robot is at another time (such as the second time), when the acquired position information is the same as the above-mentioned position information, it can accurately determine the environment where the robot is at the second time and the robot at the first time. The environment is exactly the same. The dilemma recognition model used as the robot's obstacle avoidance guidance is obtained by training the information including the sample information collected by the robot at the first moment. Therefore, the robot can use the dilemma recognition model to identify the environment that the robot is in at the second moment. Make a more accurate judgment (that is, judge whether the robot will be trapped at the second moment).
在移动过程中,机器人获取第一时刻表示机器人所处状态的标签信息。如,标签信息可以包括上述第一标签或上述第二标签。During the movement, the robot obtains the tag information indicating the state of the robot at the first moment. For example, the label information may include the above-mentioned first label or the above-mentioned second label.
可以理解的是,机器人能够准确的识别在当前时刻(如第一时刻)是否被困住。例如,当机器人出现轮子被卡住、四周被困住、一定时间内在一个固定的地方打转等情况时,机器人可以认为处于被困住的状态。由此获取的被困住的信息能够准确的标识机器人当前的状态。同样的,机器人在没有被困住的时候,例如机器人在第一时刻并未出现上述被困住的情况,那么,机器人就可以准确的判断当前时刻所处的状态。在机器人确定在第一时刻被困住或未被困住后,就能够获取与机器人在第一时刻所处状态对应的标签信息。那么,我们就可以认为机器人自动的为机器人在第一时刻收集到的环境图像信息(如周围的图片信息)和位置信息(如距离信息)打上了对应的标签。It is understandable that the robot can accurately recognize whether it is trapped at the current moment (such as the first moment). For example, when the robot is stuck in wheels, trapped around, or spinning in a fixed place within a certain period of time, the robot can be considered to be trapped. The trapped information thus obtained can accurately identify the current state of the robot. Similarly, when the robot is not trapped, for example, the robot does not appear to be trapped in the first moment, then the robot can accurately determine the current state. After the robot determines that it is trapped or not trapped at the first moment, it can obtain the tag information corresponding to the state of the robot at the first moment. Then, we can think that the robot automatically tags the environment image information (such as surrounding picture information) and location information (such as distance information) collected by the robot at the first moment.
在获得上述第一时刻的环境图像信息,第一时刻的位置信息,第一时刻的标签信息后,机器人便可将这些信息作为第一时刻的样本信息。类似的,在移动过程中通过重复上述过程,便可获得机器人移动过程中N个时刻的样本信息。After obtaining the environmental image information at the first moment, the location information at the first moment, and the label information at the first moment, the robot can use these information as the sample information at the first moment. Similarly, by repeating the above process during the movement, the sample information at N times during the movement of the robot can be obtained.
S702、机器人将N个时刻中M个时刻的样本信息发送给服务器,其中,M为小于或等于N的正整数。S702. The robot sends the sample information of M moments out of N moments to the server, where M is a positive integer less than or equal to N.
在一些实施例中,M可以等于N。机器人可以将获取的N个时刻的样本信息都发送给服务器。这样,可以保证服务器能够根据足够多的样本信息进行训练,获取准确的困境识别模型。In some embodiments, M may be equal to N. The robot can send the acquired sample information at N times to the server. In this way, it can be guaranteed that the server can train based on enough sample information to obtain an accurate dilemma recognition model.
可以理解的是,机器人在移动的过程中,大部分时间是未被困住的,因此,具有第一标签的样本信息的数量可能会远大于具有第二标签的样本信息的数量。另外,在机器人被困住之前的一段时间的未被困住的样本信息具有较高的价值,因此,在本申请实施例中,机器人可以对N个时刻的样本信息进行筛选之后再发送给服务器。也就是说,机器人可以选取N个时刻中的M个时刻的样本信息发送给服务器。其中,机器人在第N个时刻被困住,该时刻之前的M-1个时刻机器人未被困住。It is understandable that the robot is not trapped most of the time when it is moving. Therefore, the number of sample information with the first label may be much larger than the number of sample information with the second label. In addition, the untrapped sample information for a period of time before the robot is trapped has high value. Therefore, in this embodiment of the present application, the robot can filter the sample information at N times before sending it to the server. . In other words, the robot can select the sample information of M out of the N times and send it to the server. Among them, the robot is trapped at the Nth moment, and the robot is not trapped at M-1 moments before this moment.
因此,在其他一些实施例中,M可以小于N。机器人可以将N个时刻中的具有较高价值的M个时刻的样本信息发送给服务器。这样,可以在保证服务器能够获取准确的困境识别模型的同时,有效的减小机器人与服务器之间的通信的数据量。Therefore, in some other embodiments, M may be less than N. The robot can send sample information of M time with higher value among the N time to the server. In this way, it is possible to effectively reduce the amount of communication data between the robot and the server while ensuring that the server can obtain an accurate dilemma recognition model.
示例性的,机器人确定N个时刻的样本信息中,第N个时刻的样本信息包括的标签信息用于指示机器在第N个时刻处于被困住的状态,即,第N个时刻的样本信息可以包括有标识机器人在该时刻处于被困住状态的第二标签。机器人将第N个时刻的前M-1个时刻的样本信息和第N个时刻的样本信息发送给服务器。Exemplarily, in the sample information of the N time determined by the robot, the label information included in the sample information of the N time is used to indicate that the machine is in a trapped state at the N time, that is, the sample information at the N time It may include a second tag identifying that the robot is trapped at that moment. The robot sends the sample information of the first M-1 time and the sample information of the Nth time to the server.
例如,机器人的存储器可以是缓冲存储器(buffer),机器人可以将移动过程中获取的样本信息存储在buffer中,并监控当前时刻获取的样本信息中的标签信息是否是第二标签,若当前时刻获取的样本信息中的标签信息是第二标签,那么机器人就将buffer中的样本信息发送给服务器。若当前时刻获取的样本信息中的标签信息不包括第二标签,那么机器人就可以继续获取样本信息存储在buffer中,直到机器人获取到具有第二标签的样本信息。例如,假设机器人的buffer最多能够存储10个样本信息,如果buffer中的第10个样本信息包括第二标签,那么机器人就可以将该buffer中的10个样本信息一同发给服务器。如果buffer中存储的10个样本信息均没有包括第二标签的样本信息,那么机器人可以继续获取样本信息, 将已经存在buffer中的10个样本信息中的最早时刻的样本信息删除,并将新的样本信息存储在buffer中,如此循环,直至出现包括第二标签的样本信息。For example, the memory of the robot can be a buffer. The robot can store the sample information acquired during the movement in the buffer, and monitor whether the label information in the sample information acquired at the current time is the second label. The label information in the sample information of is the second label, then the robot sends the sample information in the buffer to the server. If the label information in the sample information obtained at the current moment does not include the second label, the robot can continue to obtain the sample information and store it in the buffer until the robot obtains the sample information with the second label. For example, suppose the buffer of the robot can store up to 10 sample information. If the 10th sample information in the buffer includes the second tag, the robot can send the 10 sample information in the buffer to the server. If none of the 10 sample information stored in the buffer includes the sample information of the second tag, the robot can continue to obtain the sample information, delete the earliest sample information among the 10 sample information already in the buffer, and replace the new The sample information is stored in the buffer, and so on, until the sample information including the second label appears.
可选的,机器人可以在向服务器发送样本信息之后,清空buffer。Optionally, the robot can clear the buffer after sending sample information to the server.
当机器人与服务器处于正常通信状态下时,机器人可以通过多种形式将将获取的样本信息发送给服务器。例如,机器人可以将多个样本信息一同发送给服务器。又如,机器人可以将多个样本信息分几次发送给服务器。又如,机器人可以将多个样本信息按照一定的时间间隔发送给服务器。When the robot and the server are in a normal communication state, the robot can send the acquired sample information to the server in various forms. For example, the robot can send multiple sample information to the server together. For another example, the robot can send multiple sample information to the server several times. For another example, the robot can send multiple sample information to the server at a certain time interval.
当机器人与服务器之间不可通信时,如机器人离线或服务器离线,机器人可以将样本信息存储在设置在机器人上的存储器中。当机器人与服务器恢复通信之后,机器人就可以将存储在存储器中的样本信息发送给服务器。When the communication between the robot and the server is not possible, such as the robot is offline or the server is offline, the robot can store the sample information in the memory provided on the robot. After the robot resumes communication with the server, the robot can send the sample information stored in the memory to the server.
S703、服务器对来自一个或者多个机器人采集的样本信息进行训练,获得困境识别模型。S703. The server trains sample information collected from one or more robots to obtain a dilemma recognition model.
示例性的,服务器可以将获取的样本信息分成两部分(如第一类样本信息和第二类样本信息)。第一类样本信息可以用于训练获取困境识别模型,第二类样本信息可以用于检测困境识别模型的检测结果是否准确。Exemplarily, the server may divide the acquired sample information into two parts (such as the first type of sample information and the second type of sample information). The first type of sample information can be used to train and obtain the dilemma recognition model, and the second type of sample information can be used to detect whether the detection result of the dilemma recognition model is accurate.
例如,假设服务器获得的样本信息包括X个第一类样本信息以及Y个第二类样本信息,其中,X和Y都是大于0的整数,且X+Y=N。以样本信息中包括的环境图像信息以及位置信息作为输入,对X个第一类样本信息进行训练,以机器人在当前环境下是会被困住的概率或具体的是否会被困住的结果作为输出,并将该输出结果与样本信息中包括的标签信息进行比对,如此循环训练,直至比对结果收敛到预期水平,以便获取初始模型。当根据X个第一类样本信息进行训练获取初始模型后,可以将Y个第二类样本信息的每个样本信息中的环境图像信息以及位置信息输入到该困境识别模型中对该初始模型进行检测,检测困境识别模型的准确性。例如,若将第二类样本信息中某个样本信息的环境图像信息和位置信息输入初始模型获得的结果所指示的机器人是否被困住的状态,与第二类样本信息中的标签信息所指示的机器人是否被困住的状态相同,则确定针对该样本信息对初始模型的校验是准确的;若将第二类样本信息中某个样本信息的环境图像信息和位置信息输入初始模型获得的结果所指示的机器人是否被困住的状态,与第二类样本信息中的标签信息所指示的机器人是否被困住的状态不同,则确定针对该样本信息的校验结果是不准确的。由于第二类样本信息可以为多个,因此,综合每次检测后该初始模型的准确性,便可获得该初始模型的校验准确率。当该准确率大于预设阈值时,就可以将该初始模型作为困境识别模型。当该准确率小于预设阈值,那么就可以认为该初始模型不够准确,需要继续训练。那么服务器就可以将新的来自机器人的样本信息加入到训练中,对上述初始模型进行进一步的训练,获取准确率更高的模型。由此,服务器就可以确定准确率大于预设阈值的模型,并将该模型作为困境识别模型发送给机器人。For example, suppose that the sample information obtained by the server includes X pieces of first type sample information and Y pieces of second type sample information, where X and Y are both integers greater than 0, and X+Y=N. Take the environment image information and position information included in the sample information as input, and train X first-type sample information, taking the probability of the robot being trapped in the current environment or the specific result of whether it will be trapped as the result Output, and compare the output result with the label information included in the sample information, and repeat the training until the comparison result converges to the expected level, so as to obtain the initial model. When the initial model is obtained by training based on X first-type sample information, the environmental image information and location information in each sample information of Y second-type sample information can be input into the dilemma recognition model to perform the initial model Detect and check the accuracy of the dilemma recognition model. For example, if the environment image information and position information of a certain sample information in the second type of sample information are input into the state of whether the robot is trapped or not indicated by the result obtained by the initial model, and the label information in the second type of sample information indicates Whether the robots are trapped in the same state, it is determined that the verification of the initial model for the sample information is accurate; if the environmental image information and position information of a certain sample information in the second type of sample information are input into the initial model The state of whether the robot is trapped indicated by the result is different from the state of whether the robot is trapped indicated by the tag information in the second type of sample information, and it is determined that the verification result for the sample information is inaccurate. Since the second type of sample information can be multiple, the verification accuracy of the initial model can be obtained by integrating the accuracy of the initial model after each test. When the accuracy rate is greater than the preset threshold, the initial model can be used as a dilemma recognition model. When the accuracy rate is less than the preset threshold, it can be considered that the initial model is not accurate enough and training needs to be continued. Then the server can add new sample information from the robot to the training, and further train the above-mentioned initial model to obtain a model with higher accuracy. Thus, the server can determine a model with an accuracy rate greater than a preset threshold, and send the model to the robot as a dilemma recognition model.
示例性的,对X个第一类样本信息进行训练,可以是根据损失函数(loss function)或代价函数(cost function)进行的训练。损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在本申请实施例中,可以通过最小化损失函数(代价函数)求解。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值,以便实现对困境识别模型(初始模型)的获取。Exemplarily, training the X pieces of first-type sample information may be training according to a loss function (loss function) or a cost function (cost function). The loss function or cost function is a function that maps the value of a random event or its related random variable to a non-negative real number to express the "risk" or "loss" of the random event. In the embodiment of the present application, it can be solved by minimizing the loss function (cost function). When solving the minimum value of the loss function, the gradient descent method can be used to solve it step by step to obtain the minimized loss function and model parameter values, so as to realize the acquisition of the dilemma recognition model (initial model).
示例性的,通过训练获取的困境识别模型可以是一种基于卷积神经网络的模型。例如,如图8所示,困境识别模型可以包括输入层、卷基层、池化层、全连接层以及输出层。需要说明的是,图中仅仅是以两个卷积层,两个池化层以及一个全连接层进行说明的。而本申请 实施例中的困境识别模型中可以包括多个卷积层,多个池化层以及多个全连接层。Exemplarily, the dilemma recognition model obtained through training may be a model based on a convolutional neural network. For example, as shown in Figure 8, the dilemma recognition model may include an input layer, a volume base layer, a pooling layer, a fully connected layer, and an output layer. It should be noted that the figure only illustrates two convolutional layers, two pooling layers and one fully connected layer. The dilemma recognition model in the embodiment of the present application may include multiple convolutional layers, multiple pooling layers, and multiple fully connected layers.
需要说明的是,样本信息的种类与数量越大,训练学习获取的困境识别模型也就越准确。因此,该样本信息可以是一个机器人一次移动过程中获取的样本信息,也可以是一个机器人多次移动过程中获取的样本信息,也可以是多个机器人多次移动过程中获取的样本信息。本申请实施例在此不做限制。It should be noted that the larger the type and quantity of sample information, the more accurate the dilemma recognition model obtained by training and learning. Therefore, the sample information may be sample information obtained during one movement of one robot, sample information obtained during multiple movements of one robot, or sample information obtained during multiple movements of multiple robots. The embodiments of the application are not limited here.
S704、机器人从服务器接收困境识别模型。S704. The robot receives the dilemma recognition model from the server.
服务器根据一个或多个机器人发送的多个样本信息,训练获取困境识别模型,并将该困境识别模型下发给机器人。结合图5,机器人500可以通过设置在该机器人上的通信模块505接收该困境识别模型,并将该困境识别模型存储在存储器504中。以利用存储的困境识别模型进行避障,如执行以下S705-S706。The server trains and obtains the dilemma recognition model according to multiple sample information sent by one or more robots, and sends the dilemma recognition model to the robot. 5, the robot 500 can receive the dilemma recognition model through the communication module 505 provided on the robot, and store the dilemma recognition model in the memory 504. To use the stored dilemma recognition model to avoid obstacles, such as performing the following S705-S706.
S705、机器人获取当前时刻机器人的移动方向和移动速度。S705: The robot obtains the moving direction and moving speed of the robot at the current moment.
机器人在移动过程中,可以预测下一时刻机器人所处的环境。示例性的,机器人可以通过设置在机器人上的传感器,获取当前时刻机器人的移动方向以及移动速度。并获取当前时刻的环境图像信息和位置信息。机器人的处理器可根据机器人当前时刻的移动方向、移动速度以及当前时刻的环境图像信息和位置信息,获取下一时刻机器人所处环境的环境图像信息以及在该环境中的位置信息。While the robot is moving, it can predict the environment the robot will be in at the next moment. Exemplarily, the robot can obtain the moving direction and moving speed of the robot at the current moment through a sensor provided on the robot. And get the environmental image information and location information at the current moment. The robot's processor can obtain the environment image information of the environment where the robot is located at the next moment and the location information in the environment according to the robot's current moving direction, moving speed, and current environment image information and location information.
假设机器人在当前时刻所处的位置为图9中的(a)所示的位置,并且,机器人正在沿着方向1移动。那么,根据机器人当前时刻的第一位置信息,例如机器人与物体1的距离信息以及机器人与物体2的距离信息,移动方向以及移动速度,就可以获取机器人在下一时刻的第二位置信息,并根据该位置信息以及当前时刻机器人所处的环境图像信息,进行三角转换,获取第二时刻机器人所处环境的环境图像信息,例如图9中的(b)所示。Assume that the position of the robot at the current moment is the position shown in (a) of FIG. 9, and the robot is moving in direction 1. Then, according to the first position information of the robot at the current moment, such as the distance information between the robot and the object 1 and the distance information between the robot and the object 2, the moving direction and the moving speed, the second position information of the robot at the next time can be obtained, and according to The position information and the image information of the environment where the robot is located at the current moment are triangulated to obtain the image information of the environment where the robot is located at the second moment, for example, as shown in (b) in FIG. 9.
例如,在当前时刻下,机器人通过图像采集模块获取其移动线路上的环境图像信息为P1(如机器人所处环境的照片),通过传感器获取位置信息为S1(如机器人与所处环境中物体的距离)。机器人可以通过传感器获取的当前时刻的移动方向和移动速度。进而就可以根据公式S1–S2=t*V计算出下一时刻的位置信息S2。其中,S1是当前时刻机器人距离前方物体的距离,S2是下一时刻机器人距离前方物理的距离,t是当前时刻与下一时刻的时间间隔,V是当前时刻机器人的移动速度。For example, at the current moment, the robot obtains P1 (such as a picture of the environment in which the robot is located) through the image acquisition module of the environment image information, and the position information obtained through the sensor is S1 (such as the robot and the objects in the environment). distance). The robot can obtain the current moving direction and moving speed through sensors. Furthermore, the position information S2 at the next moment can be calculated according to the formula S1-S2=t*V. Among them, S1 is the distance of the robot from the front object at the current moment, S2 is the physical distance of the robot from the front at the next moment, t is the time interval between the current moment and the next moment, and V is the moving speed of the robot at the current moment.
另外,机器人还可以根据从当前时刻到下一时刻移动的距离(如S1-S2),利用三角转换,计算获取机器人在下一时刻所处环境的图像信息P2。In addition, the robot can also calculate and obtain the image information P2 of the environment where the robot is located at the next time by using a triangle transformation based on the distance (such as S1-S2) that it moves from the current time to the next time.
这样,机器人就获取了下一时刻所处环境的环境图像信息P2以及机器人在下一时刻所处环境中的位置信息S2。In this way, the robot obtains the environment image information P2 of the environment where the robot is located at the next time and the position information S2 of the environment where the robot is located at the next time.
S706、机器人根据下一时刻所处环境的环境图像信息、位置信息以及困境识别模型预测下一时刻是否会被困住,并进行避障。S706: The robot predicts whether it will be trapped at the next moment according to the environment image information, location information, and the dilemma recognition model of the environment in the next moment, and performs obstacle avoidance.
结合上述S705中的示例,机器人可以将下一时刻机器人所处环境图像信息P2以及位置信息S2作为困境识别模型的输入,通过计算,获取机器人在下一时刻是被困住的概率。机器人可以将该被困住的概率与预设阈值对比,当机器人确定下一时刻被困住的概率大于预设阈值时,机器人可以改变当前的运动策略(如当前时刻的运动方向等)进行避障,以避免机器人在移动的过程中被困住的情况出现。当机器人确定下一时刻被困住的概率小于预设阈值时,可以认为下一时刻机器人不会被困住,那么机器人就可以继续执行当前的运动策略,进行移动。Combining the example in S705 above, the robot can use the image information P2 and the position information S2 of the environment where the robot is located at the next moment as the input of the dilemma recognition model, and obtain the probability that the robot is trapped at the next moment through calculation. The robot can compare the probability of being trapped with a preset threshold. When the robot determines that the probability of being trapped at the next moment is greater than the preset threshold, the robot can change the current motion strategy (such as the direction of motion at the current moment) to avoid Obstacle to avoid the situation that the robot is trapped during the movement. When the robot determines that the probability of being trapped at the next moment is less than the preset threshold, it can be considered that the robot will not be trapped at the next moment, and the robot can continue to execute the current motion strategy and move.
示例性的,结合图9,假设当前时刻机器人处于如图9中的(a)所示的环境下,当机器 人根据困境识别模型判断下一时刻会被困住,那么机器人就可以在该时刻改变原有的运动策略,例如将原有的沿方向1进行移动改变为如图9中的(c)所示的沿方向2进行移动,以避免下一时刻机器人被困住。Exemplarily, in conjunction with Figure 9, assuming that the robot is in the environment shown in Figure 9(a) at the current moment, when the robot judges that it will be trapped at the next moment according to the dilemma recognition model, then the robot can change at that moment The original movement strategy, for example, changes the original movement in direction 1 to movement in direction 2 as shown in (c) in FIG. 9 to avoid the robot being trapped in the next moment.
需要说明的是,以上S706是以困境识别模型输出为下一时刻被困住的概率为例进行说明的。本申请实施例中,困境识别模型还可以输出下一时刻机器人是否会被困住的确定的预测结果,即下一时刻会被困住或下一时刻不会被困住。当机器人根据困境识别模型确定下一时刻会被困住时,机器人可以改变当前的运动策略(如当前时刻的运动方向等)进行避障,以避免机器人在移动的过程中被困住的情况出现。当机器人根据困境识别模型确定下一时刻不会被困住时,机器人可以继续执行当前的运动策略,进行移动。It should be noted that the above S706 is described by taking the output of the dilemma recognition model as the probability of being trapped at the next moment as an example. In the embodiment of the present application, the dilemma recognition model can also output a certain prediction result of whether the robot will be trapped at the next moment, that is, it will be trapped at the next moment or will not be trapped at the next moment. When the robot determines that it will be trapped at the next moment according to the dilemma recognition model, the robot can change the current motion strategy (such as the current motion direction, etc.) to avoid obstacles to avoid the situation where the robot is trapped during the movement. . When the robot determines that it will not be trapped at the next moment according to the dilemma recognition model, the robot can continue to execute the current motion strategy and move.
本申请实施例提供的机器人避障方法中,机器人执行上述S701-S706的过程并非是单程的,而是可以循环的。例如机器人可以不断的获取不同时刻的样本信息并将该样本信息发送给服务器,以便服务器根据该更新的样本信息与困境识别模型,经过增量训练获取更新的困境识别模型。其中,增量训练的过程同初次训练的过程类似,只是在增量训练的过程中,加载的模型是之前训练好的模型,加载的模型的权值也是训练好的。而在初次训练的时候,加载的模型的权值是默认值。增量训练完成后,使用第二类样本信息检测模型,如果检测出来的准确率比之前高,就说明增量训练出来的模型质量高。此时服务器可以将新训练出的模型下发给机器人,以便机器人能够根据更新后的困境识别模型,用于对之后的移动进行指导,以进行更有效的避障。In the obstacle avoidance method for the robot provided by the embodiment of the present application, the process of the robot performing the above S701-S706 is not a single pass, but can be cyclic. For example, the robot can continuously obtain sample information at different times and send the sample information to the server, so that the server obtains an updated dilemma recognition model through incremental training based on the updated sample information and the dilemma recognition model. Among them, the process of incremental training is similar to the process of initial training, except that in the process of incremental training, the loaded model is the previously trained model, and the weight of the loaded model is also trained. In the initial training, the weight of the loaded model is the default value. After the incremental training is completed, use the second type of sample information to detect the model. If the accuracy of the detection is higher than before, it means that the quality of the incremental training model is high. At this time, the server can deliver the newly trained model to the robot, so that the robot can recognize the model according to the updated dilemma, and use it to guide the subsequent movement for more effective obstacle avoidance.
这样,机器人可以自主获取N个时刻的样本信息,而上述N个时刻的每个时刻对应的样本信息包括该时刻机器人所处环境的环境图像信息、机器人该时刻在环境图像信息指示的环境中的位置的位置信息。由于这些信息均是由机器人采集得到的,因此能够准确的标识机器人当时所在的环境。同时,每个样本信息还包括用于指示机器人该时刻是否处于被困住的状态的标签信息。同样的,标签信息也是机器人根据自身识别出当时的状态标记的,也能准确体现机器人当前的状态。机器人通过将这样的样本信息发送给服务器,用于服务器训练困境识别模型,能够提高困境识别模型的准确性。同时,由于不需要人工收集机器人工作过程中的环境图像信息,也不需要人工对该环境图像信息打标签,因此,节省了大量的人力成本投入。服务器还可以根据更新的样本信息对该困境识别模型进行增量训练以获取更准确的困境识别模型并发送给机器人,这样,机器人就能够在移动过程中不断的获取样本信息并发送给服务器,以此获取更新困境识别模型对机器人的移动过程进行更加准确的避障指导。In this way, the robot can autonomously acquire the sample information at N times, and the sample information corresponding to each of the above N times includes the environment image information of the environment where the robot is at that time, and the robot at that time in the environment indicated by the environment image information. Location information of the location. Since these information is collected by the robot, it can accurately identify the environment where the robot is at that time. At the same time, each sample information also includes tag information used to indicate whether the robot is trapped at that moment. Similarly, the tag information is also marked by the robot according to its own recognition of the current state, which can also accurately reflect the current state of the robot. The robot can improve the accuracy of the dilemma recognition model by sending such sample information to the server for the server to train the dilemma recognition model. At the same time, since there is no need to manually collect environmental image information during the robot's working process, and no need to manually label the environmental image information, a large amount of labor cost is saved. The server can also perform incremental training on the dilemma recognition model based on the updated sample information to obtain a more accurate dilemma recognition model and send it to the robot. In this way, the robot can continuously obtain sample information and send it to the server during the movement. The obtained and updated dilemma recognition model provides more accurate obstacle avoidance guidance for the robot's movement process.
以上说明主要从机器人的角度对本申请实施例提供的方案进行了介绍。可以理解的是,机器人为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块,这些执行各个功能相应的硬件结构和/或软件模块可以构成一个机器人。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。The above description mainly introduces the solution provided by the embodiment of the present application from the perspective of a robot. It can be understood that, in order to realize the above-mentioned functions, the robot includes hardware structures and/or software modules corresponding to each function, and these hardware structures and/or software modules corresponding to each function may constitute a robot. Those skilled in the art should easily realize that in combination with the algorithm steps of the examples described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
本申请实施例可以根据上述方法示例对机器人进行功能模块的划分,例如,机器人可以包括避障装置,该避障装置可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiment of the application can divide the functional modules of the robot according to the above method examples. For example, the robot can include an obstacle avoidance device, which can divide each functional module corresponding to each function, or divide two or more functions into one. Integrated in a processing module. The above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中涉及的避障装置的一种可能的组成示意图,如图10所示,该避障装置包括:获取单元1001,通信单元1003,避障单元1004。例如,获取单元1001也可以是如图5所示图像采集模块501以及传感器502,通信单元1003也可以是如图5所示的通信模块505,避障单元1004也可以是如图5所示的处理器503。In the case of dividing each functional module corresponding to each function, FIG. 10 shows a schematic diagram of a possible composition of the obstacle avoidance device involved in the above embodiment. As shown in FIG. 10, the obstacle avoidance device includes: an acquiring unit 1001 , The communication unit 1003, the obstacle avoidance unit 1004. For example, the acquisition unit 1001 may also be the image acquisition module 501 and the sensor 502 as shown in FIG. 5, the communication unit 1003 may also be the communication module 505 as shown in FIG. 5, and the obstacle avoidance unit 1004 may also be as shown in FIG. Processor 503.
其中,获取单元1001,用于获取机器人移动过程中N个时刻的样本信息,N为大于0的整数。其中,N个时刻中每个时刻的样本信息包括:用于指示该时刻机器人所处环境的环境图像信息、用于指示机器人该时刻在环境图像信息指示的环境中的位置的位置信息,以及用于指示机器人该时刻的状态的标签信息;标签信息包括第一标签或第二标签,第一标签用于指示机器人处于未被困住状态,第二标签用于指示机器人处于被困住状态。示例性的,获取单元1001可以用于执行上述图6所示机器人避障方法的S601。获取单元1001还可以用于执行上述图7所示机器人避障方法的S701。Wherein, the obtaining unit 1001 is used to obtain sample information at N times during the movement of the robot, and N is an integer greater than zero. Among them, the sample information at each of the N times includes: environmental image information indicating the environment in which the robot is located at that instant, position information indicating the position of the robot in the environment indicated by the environmental image information at that instant, and Tag information indicating the state of the robot at that moment; the tag information includes a first tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state. Exemplarily, the acquiring unit 1001 may be used to execute S601 of the obstacle avoidance method for the robot shown in FIG. 6. The acquiring unit 1001 may also be used to execute S701 of the robot obstacle avoidance method shown in FIG. 7.
通信单元1003,用于将N个时刻中M个时刻的样本信息发送给服务器,M为小于或等于N的正整数。示例性的,通信单元1003可以用于执行上述图6所示机器人避障方法的S602。通信单元1003还可以用于执行上述图7所示机器人避障方法的S702。The communication unit 1003 is configured to send the sample information of M time in the N time to the server, and M is a positive integer less than or equal to N. Exemplarily, the communication unit 1003 may be used to execute S602 of the robot obstacle avoidance method shown in FIG. 6 above. The communication unit 1003 may also be used to execute S702 of the obstacle avoidance method for the robot shown in FIG. 7.
通信单元1003,还用于从服务器接收困境识别模型,困境识别模型由一个或者多个机器人采集的样本信息训练所得。示例性的,通信单元1003还可以用于执行上述图6所示机器人避障方法的S604。通信单元1003还可以用于执行上述图7所示机器人避障方法的S704。The communication unit 1003 is also configured to receive a dilemma recognition model from a server, and the dilemma recognition model is trained on sample information collected by one or more robots. Exemplarily, the communication unit 1003 may also be used to execute S604 of the robot obstacle avoidance method shown in FIG. 6 above. The communication unit 1003 may also be used to execute S704 of the robot obstacle avoidance method shown in FIG. 7 above.
避障单元1004,用于根据困境识别模型在机器人移动过程中进行避障。示例性的,避障单元1004还可以用于执行上述图6所示机器人避障方法的S605。避障单元1004还可以用于执行上述图7所示机器人避障方法的S706。The obstacle avoidance unit 1004 is used to avoid obstacles during the movement of the robot according to the dilemma recognition model. Exemplarily, the obstacle avoidance unit 1004 may also be used to execute S605 of the robot obstacle avoidance method shown in FIG. 6. The obstacle avoidance unit 1004 may also be used to execute S706 of the robot obstacle avoidance method shown in FIG. 7.
进一步的,上述避障装置,还可以包括:确定单元1002。Further, the above obstacle avoidance device may further include: a determining unit 1002.
确定单元1002,用于确定N个时刻的样本信息中,第N个时刻的样本信息包括的标签信息用于指示机器在第N个时刻处于被困住的状态。The determining unit 1002 is configured to determine the sample information at the N time, and the label information included in the sample information at the N time is used to indicate that the machine is in a trapped state at the N time.
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的避障装置,用于执行上述机器人避障方法,因此可以达到与上述机器人避障方法相同的效果。It should be noted that all relevant content of the steps involved in the foregoing method embodiments can be cited in the functional description of the corresponding functional module, and will not be repeated here. The obstacle avoidance device provided by the embodiment of the present application is used to implement the above-mentioned robot obstacle avoidance method, and therefore can achieve the same effect as the above-mentioned robot obstacle avoidance method.
在采用集成的单元的情况下,上述实施例中所涉及的避障装置的另一种可能的组成中可以包括:采集模块、处理模块和通信模块。In the case of using an integrated unit, another possible composition of the obstacle avoidance device involved in the foregoing embodiment may include: a collection module, a processing module, and a communication module.
采集模块用于采集机器人避障需要的信息,例如,采集模块用于支持机器人执行图6中的S601,图7中的S701、S705和/或用于本文所描述的技术的其它过程。处理模块用于对机器人的动作进行控制管理,例如,处理模块用于支持机器人执行图6中的S605,图7中的S706和/或用于本文所描述的技术的其它过程。通信模块用于支持机器人与其他网络实体的通信,例如与图6或图7中示出服务器以及其他功能模块或网络实体之间的通信。机器人还可以包括存储模块,用于存储机器人的样本信息、困境识别模型以及其他程序代码和数据。The collection module is used to collect information needed by the robot to avoid obstacles. For example, the collection module is used to support the robot to execute S601 in FIG. 6, S701 and S705 in FIG. 7 and/or other processes used in the technology described herein. The processing module is used to control and manage the actions of the robot. For example, the processing module is used to support the robot to execute S605 in FIG. 6, S706 in FIG. 7 and/or other processes used in the technology described herein. The communication module is used to support communication between the robot and other network entities, such as the communication between the server and other functional modules or network entities shown in FIG. 6 or FIG. 7. The robot may also include a storage module for storing sample information of the robot, a dilemma recognition model, and other program codes and data.
本申请实施例提供的避障装置,用于执行上述机器人避障方法,因此可以达到与上述机器人避障方法相同的效果。The obstacle avoidance device provided by the embodiment of the present application is used to implement the above-mentioned robot obstacle avoidance method, and therefore can achieve the same effect as the above-mentioned robot obstacle avoidance method.
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and brevity of the description, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated as needed. It is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed device and method may be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of modules or units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another device, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separate, and the components displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed to multiple different places. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application are essentially or the part that contributes to the prior art, or all or part of the technical solutions can be embodied in the form of software products, which are stored in a storage medium It includes several instructions to make a device (may be a single-chip microcomputer, a chip, etc.) or a processor (processor) execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this, and any changes or substitutions within the technical scope disclosed in this application should be covered within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims (12)

  1. 一种机器人避障方法,其特征在于,所述方法包括:An obstacle avoidance method for a robot, characterized in that the method includes:
    所述机器人获取所述机器人移动过程中N个时刻的样本信息,N为大于0的整数;其中,N个时刻中每个时刻的样本信息包括:用于指示该时刻所述机器人所处环境的环境图像信息、用于指示所述机器人该时刻在所述环境图像信息指示的环境中的位置的位置信息,以及用于指示所述机器人该时刻的状态的标签信息;所述标签信息包括第一标签或第二标签,所述第一标签用于指示所述机器人处于未被困住状态,所述第二标签用于指示所述机器人处于被困住状态;The robot obtains the sample information at N times during the movement of the robot, where N is an integer greater than 0; wherein, the sample information at each of the N times includes: information indicating the environment in which the robot is located at that moment Environmental image information, position information indicating the position of the robot in the environment indicated by the environmental image information at that moment, and label information indicating the state of the robot at that moment; the label information includes first A tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state;
    所述机器人将N个时刻中M个时刻的样本信息发送给服务器,M为小于或等于N的正整数;The robot sends the sample information at M times out of N times to the server, where M is a positive integer less than or equal to N;
    所述机器人从所述服务器接收困境识别模型,所述困境识别模型由一个或者多个机器人采集的样本信息训练所得;The robot receives a dilemma recognition model from the server, and the dilemma recognition model is trained on sample information collected by one or more robots;
    所述机器人根据所述困境识别模型在移动过程中进行避障。The robot avoids obstacles during the movement process according to the dilemma recognition model.
  2. 根据权利要求1所述的方法,其特征在于,The method according to claim 1, wherein:
    每个时刻的环境图像信息包括:在该时刻所述机器人所处环境中,所述机器人的移动线路上及移动路线周边物体的图像信息。The image information of the environment at each moment includes: image information of objects on and around the moving route of the robot in the environment where the robot is located at that moment.
  3. 根据权利要求1或2所述的方法,其特征在于,The method of claim 1 or 2, wherein:
    每个时刻的位置信息包括:该时刻的环境图像信息指示的环境中,所述机器人与所述机器人的移动线路上及移动线路周边的物体的相对位置信息。The position information at each time includes: relative position information of the robot and the objects on and around the moving line of the robot in the environment indicated by the environmental image information at the time.
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述机器人将N个时刻中M个时刻的样本信息发送给服务器,包括:The method according to any one of claims 1 to 3, wherein the robot sending the sample information at M times out of N times to the server, comprising:
    所述机器人确定所述N个时刻的样本信息中,第N个时刻的样本信息包括的标签信息用于指示所述机器在所述第N个时刻处于被困住的状态;The robot determines that in the sample information at the N time, the label information included in the sample information at the N time is used to indicate that the machine is in a trapped state at the N time;
    所述机器人将所述第N个时刻的前M-1个时刻的样本信息和所述第N个时刻的样本信息发送给所述服务器。The robot sends the sample information of the M-1 time before the Nth time and the sample information of the Nth time to the server.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述机器人根据所述困境识别模型在移动过程中进行避障,包括:The method according to any one of claims 1 to 4, wherein the robot avoiding obstacles during movement according to the dilemma recognition model comprises:
    所述机器人获取当前时刻的环境图像信息,及当前时刻的位置信息;The robot obtains the environment image information at the current moment and the location information at the current moment;
    所述机器人根据所述当前时刻的环境图像信息,所述当前时刻的位置信息,以及当前时刻所述机器人的移动方向和移动速度,获取下一时刻的环境图像信息以及下一时刻的位置信息;The robot obtains the environment image information at the next time and the location information at the next time according to the environment image information at the current time, the location information at the current time, and the moving direction and speed of the robot at the current time;
    所述机器人根据所述下一时刻的环境图像信息,所述下一时刻的位置信息,以及所述困境识别模型确定下一时刻所述机器人被困住的概率;The robot determines the probability of the robot being trapped at the next time according to the environmental image information at the next time, the location information at the next time, and the dilemma recognition model;
    所述机器人确定下一时刻所述机器人被困住的概率大于预设阈值,所述机器人改变运动策略,进行避障。The robot determines that the probability of the robot being trapped at the next moment is greater than a preset threshold, and the robot changes its motion strategy to avoid obstacles.
  6. 一种避障装置,其特征在于,应用于机器人,所述装置包括:获取单元、通信单元以及避障单元;An obstacle avoidance device, characterized by being applied to a robot, the device comprising: an acquisition unit, a communication unit, and an obstacle avoidance unit;
    所述获取单元,用于获取所述机器人移动过程中N个时刻的样本信息,N为大于0的整数;其中,N个时刻中每个时刻的样本信息包括:用于指示该时刻所述机器人所处环境的环境图像信息、用于指示所述机器人该时刻在所述环境图像信息指示的环境中的位置的位置信息,以及用于指示所述机器人该时刻的状态的标签信息;所述标签信息包括第一标签或第二 标签,所述第一标签用于指示所述机器人处于未被困住状态,所述第二标签用于指示所述机器人处于被困住状态;The acquiring unit is configured to acquire sample information at N times during the movement of the robot, where N is an integer greater than 0; wherein the sample information at each of the N times includes: the robot at that moment Environment image information of the environment in which it is located, position information indicating the position of the robot in the environment indicated by the environment image information at that moment, and tag information indicating the state of the robot at that moment; the tag The information includes a first tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate that the robot is in a trapped state;
    所述通信单元,用于将N个时刻中M个时刻的样本信息发送给服务器,M为小于或等于N的正整数;The communication unit is configured to send sample information at M time in N time to the server, where M is a positive integer less than or equal to N;
    所述通信单元,还用于从所述服务器接收困境识别模型,所述困境识别模型由一个或者多个机器人采集的样本信息训练所得;The communication unit is further configured to receive a dilemma recognition model from the server, where the dilemma recognition model is trained on sample information collected by one or more robots;
    所述避障单元,用于根据所述困境识别模型在所述机器人移动过程中进行避障。The obstacle avoidance unit is used to avoid obstacles during the movement of the robot according to the dilemma recognition model.
  7. 根据权利要求6所述的装置,其特征在于,The device according to claim 6, wherein:
    每个时刻的环境图像信息包括:在该时刻所述机器人所处环境中,所述机器人的移动线路上及移动路线周边物体的图像信息。The image information of the environment at each moment includes: image information of objects on and around the moving route of the robot in the environment where the robot is located at that moment.
  8. 根据权利要求6或7所述的装置,其特征在于,The device according to claim 6 or 7, characterized in that:
    每个时刻的位置信息包括:该时刻的环境图像信息指示的环境中,所述机器人与所述机器人的移动线路上及移动线路周边的物体的相对位置信息。The position information at each time includes: relative position information of the robot and the objects on and around the moving line of the robot in the environment indicated by the environmental image information at the time.
  9. 根据权利要求6-8中任一项所述的装置,其特征在于,所述装置还包括:确定单元;The device according to any one of claims 6-8, wherein the device further comprises: a determining unit;
    所述确定单元,用于确定所述N个时刻的样本信息中,第N个时刻的样本信息包括的标签信息用于指示所述机器在所述第N个时刻处于被困住的状态;The determining unit is configured to determine that in the sample information at the N time, the label information included in the sample information at the N time is used to indicate that the machine is in a trapped state at the N time;
    所述通信单元,用于将N个时刻中M个时刻的样本信息发送给服务器,包括:The communication unit is configured to send sample information of M time in N time to the server, including:
    所述通信单元,用于将所述第N个时刻的前M-1个时刻的样本信息和所述第N个时刻的样本信息发送给所述服务器。The communication unit is configured to send the sample information of the M-1 time before the Nth time and the sample information of the Nth time to the server.
  10. 根据权利要求6-9中任一项所述的装置,其特征在于,The device according to any one of claims 6-9, wherein:
    所述获取单元,还用于获取当前时刻的环境图像信息,及当前时刻的位置信息,根据所述当前时刻的环境图像信息,所述当前时刻的位置信息,以及当前时刻所述机器人的移动方向和移动速度,获取下一时刻的环境图像信息以及下一时刻的位置信息;The acquiring unit is also used to acquire environment image information at the current moment, and location information at the current moment, according to the environment image information at the current moment, the location information at the current moment, and the moving direction of the robot at the current moment And moving speed to obtain the environment image information at the next moment and the location information at the next moment;
    所述避障单元,用于根据所述困境识别模型在所述机器人移动过程中进行避障,包括:The obstacle avoidance unit is configured to avoid obstacles during the movement of the robot according to the dilemma recognition model, including:
    所述避障单元,用于根据所述下一时刻的环境图像信息,所述下一时刻的位置信息,以及所述困境识别模型确定下一时刻所述机器人被困住的概率,确定下一时刻所述机器人被困住的概率大于预设阈值,改变所述机器人运动策略,进行避障。The obstacle avoidance unit is configured to determine the probability that the robot is trapped at the next moment according to the environmental image information at the next moment, the position information at the next moment, and the dilemma recognition model to determine the next The probability of the robot being trapped is greater than the preset threshold at the moment, and the motion strategy of the robot is changed to avoid obstacles.
  11. 一种机器人避障系统,其特征在于,包括:一个或多个机器人,以及服务器;A robot obstacle avoidance system is characterized by comprising: one or more robots and a server;
    所述机器人,用于获取所述机器人移动过程中N个时刻的样本信息,将所述N个时刻的样本信息发送给所述服务器;其中,N为大于0的整数,N个时刻中每个时刻的样本信息包括:用于指示该时刻所述机器人所处环境的环境图像信息、用于指示所述机器人该时刻在所述环境图像信息指示的环境中的位置的位置信息,以及用于指示所述机器人该时刻的状态的标签信息;所述标签信息包括第一标签或第二标签,所述第一标签用于指示所述机器人处于未被困住状态,所述第二标签用于指示所述机器人处于被困住状态;The robot is configured to obtain sample information at N times during the movement of the robot, and send the sample information at the N times to the server; where N is an integer greater than 0, and each of the N times The sample information at the time includes: environment image information for indicating the environment in which the robot is located at that time, position information for indicating the position of the robot in the environment indicated by the environment image information at that time, and for indicating Tag information of the state of the robot at that moment; the tag information includes a first tag or a second tag, the first tag is used to indicate that the robot is in an untrapped state, and the second tag is used to indicate The robot is in a trapped state;
    所述服务器,用于接收来自所述一个或多个机器人的样本信息,对接收到的所述一个或多个机器人的样本信息进行训练,获得困境识别模型,将所述困境识别模型发送至所述机器人;The server is configured to receive sample information from the one or more robots, train the received sample information of the one or more robots, obtain a dilemma recognition model, and send the dilemma recognition model to all The robot;
    所述机器人,还用于接收所述困境识别模型,根据所述困境识别模型在移动过程中进行避障。The robot is also used for receiving the dilemma recognition model, and avoiding obstacles in the moving process according to the dilemma recognition model.
  12. 根据权利要求11所述的系统,其特征在于,所述服务器接收到样本信息包括第一类样本信息和第二类样本信息;The system according to claim 11, wherein the sample information received by the server includes a first type of sample information and a second type of sample information;
    所述服务器用于对接收到的所述一个或多个机器人的样本信息进行训练,获得困境识别模型,包括:The server is configured to train the received sample information of the one or more robots to obtain a dilemma recognition model, including:
    所述服务器,用于对所述第一类样本信息进行训练获得初始模型,根据所述第二类样本信息对所述初始模型的准确性进行校验,获得校验准确率,若所述校验准确率大于预设阈值,则将所述初始模型确定为所述困境识别模型,若所述校验准确率小于所述预设阈值,则所述服务器接收所述机器人发送的新的样本信息,对所述新的样本信息以及所述初始模型继续进行训练,并根据所述第二类样本信息对继续训练得到的模型的准确性进行校验,直到当前获得的模型的校验准确率大于所述预设阈值,将该模型确定为所述困境识别模型;The server is configured to train the first type of sample information to obtain an initial model, verify the accuracy of the initial model according to the second type of sample information, and obtain a verification accuracy rate. If the verification accuracy rate is greater than the preset threshold, the initial model is determined as the dilemma recognition model, and if the verification accuracy rate is less than the preset threshold, the server receives new sample information sent by the robot , Continue training the new sample information and the initial model, and verify the accuracy of the model obtained by continuing training according to the second type of sample information, until the verification accuracy of the currently obtained model is greater than Determining the preset threshold value as the dilemma recognition model;
    其中,若将所述第二类样本信息中包括的样本信息的环境图像信息和位置信息输入所述初始模型获得的结果所指示的所述机器人是否被困住的状态,与所述样本信息中的标签信息所指示的所述机器人是否被困住的状态相同,则确定所述初始模型准确;若将所述第二类样本信息中包括的样本信息的环境图像信息和位置信息输入所述初始模型获得的结果所指示的所述机器人是否被困住的状态,与所述第二类样本信息中的标签信息所指示的所述机器人是否被困住的状态不同,则确定所述初始模型不准确;根据所述第二类样本信息中每个样本信息对所述初始模型的准确性的校验结果确定所述初始模型的校验准确率。Wherein, if the environment image information and position information of the sample information included in the second type of sample information are input into the state of whether the robot is trapped indicated by the result obtained by the initial model, it is the same as in the sample information Whether the robots are trapped in the same state indicated by the tag information, it is determined that the initial model is accurate; if the environmental image information and position information of the sample information included in the second type of sample information are input into the initial The state of whether the robot is trapped indicated by the result obtained by the model is different from the state of whether the robot is trapped indicated by the tag information in the second type of sample information, then it is determined that the initial model is not Accurate; the verification accuracy rate of the initial model is determined according to the verification result of each sample information in the second type of sample information on the accuracy of the initial model.
PCT/CN2020/097871 2019-06-27 2020-06-24 Robot obstacle avoidance method, apparatus, and system WO2020259524A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910566538.1 2019-06-27
CN201910566538.1A CN110370273B (en) 2019-06-27 2019-06-27 Robot obstacle avoidance method, device and system

Publications (1)

Publication Number Publication Date
WO2020259524A1 true WO2020259524A1 (en) 2020-12-30

Family

ID=68250960

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/097871 WO2020259524A1 (en) 2019-06-27 2020-06-24 Robot obstacle avoidance method, apparatus, and system

Country Status (2)

Country Link
CN (1) CN110370273B (en)
WO (1) WO2020259524A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110370273B (en) * 2019-06-27 2021-04-09 华为技术有限公司 Robot obstacle avoidance method, device and system
CN111339901B (en) * 2020-02-21 2023-06-09 北京容联易通信息技术有限公司 Image-based intrusion detection method and device, electronic equipment and storage medium
CN111633686B (en) * 2020-05-19 2022-04-12 华为技术有限公司 Robot safety protection method and device and robot
CN112286191A (en) * 2020-10-28 2021-01-29 深圳拓邦股份有限公司 Robot escaping control method and device and sweeping robot
CN114518762B (en) * 2022-04-20 2022-07-22 长沙小钴科技有限公司 Robot obstacle avoidance device, obstacle avoidance control method and robot

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013169221A (en) * 2012-02-17 2013-09-02 Sharp Corp Self-propelled cleaner
CN103822625A (en) * 2013-12-01 2014-05-28 兰州大学 Line-tracking navigation method and device for intelligent robot
JP2014203146A (en) * 2013-04-02 2014-10-27 株式会社Ihi Method and device for guiding robot
CN105511478A (en) * 2016-02-23 2016-04-20 百度在线网络技术(北京)有限公司 Robot cleaner, control method applied to same and terminal
CN107808123A (en) * 2017-09-30 2018-03-16 杭州迦智科技有限公司 The feasible area detecting method of image, electronic equipment, storage medium, detecting system
CN109696913A (en) * 2018-12-13 2019-04-30 中国航空工业集团公司上海航空测控技术研究所 A kind of sweeping robot intelligent barrier avoiding system and method based on deep learning
CN110370273A (en) * 2019-06-27 2019-10-25 华为技术有限公司 A kind of Obstacle Avoidance, device and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793620B (en) * 2015-04-17 2019-06-18 中国矿业大学 The avoidance robot of view-based access control model feature binding and intensified learning theory
CN108968811A (en) * 2018-06-20 2018-12-11 四川斐讯信息技术有限公司 A kind of object identification method and system of sweeping robot
CN108921119B (en) * 2018-07-12 2021-10-26 电子科技大学 Real-time obstacle detection and classification method
CN108958263A (en) * 2018-08-03 2018-12-07 江苏木盟智能科技有限公司 A kind of Obstacle Avoidance and robot
CN109446970B (en) * 2018-10-24 2021-04-27 西南交通大学 Transformer substation inspection robot road scene recognition method based on deep learning
CN109934121B (en) * 2019-02-21 2023-06-16 江苏大学 Orchard pedestrian detection method based on YOLOv3 algorithm

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013169221A (en) * 2012-02-17 2013-09-02 Sharp Corp Self-propelled cleaner
JP2014203146A (en) * 2013-04-02 2014-10-27 株式会社Ihi Method and device for guiding robot
CN103822625A (en) * 2013-12-01 2014-05-28 兰州大学 Line-tracking navigation method and device for intelligent robot
CN105511478A (en) * 2016-02-23 2016-04-20 百度在线网络技术(北京)有限公司 Robot cleaner, control method applied to same and terminal
CN107808123A (en) * 2017-09-30 2018-03-16 杭州迦智科技有限公司 The feasible area detecting method of image, electronic equipment, storage medium, detecting system
CN109696913A (en) * 2018-12-13 2019-04-30 中国航空工业集团公司上海航空测控技术研究所 A kind of sweeping robot intelligent barrier avoiding system and method based on deep learning
CN110370273A (en) * 2019-06-27 2019-10-25 华为技术有限公司 A kind of Obstacle Avoidance, device and system

Also Published As

Publication number Publication date
CN110370273B (en) 2021-04-09
CN110370273A (en) 2019-10-25

Similar Documents

Publication Publication Date Title
WO2020259524A1 (en) Robot obstacle avoidance method, apparatus, and system
RU2637838C2 (en) Method to control unmanned air vehicle and device for it
US20220392359A1 (en) Adaptive object detection
US10514708B2 (en) Method, apparatus and system for controlling unmanned aerial vehicle
US20220019244A1 (en) Position-based control of unmanned aerial vehicles
US8417293B2 (en) Electronic device, method of controlling the same, and program
WO2022206179A1 (en) Positioning method and apparatus
US20210389764A1 (en) Relative image capture device orientation calibration
US20210362337A1 (en) Intelligent robot device
CN110021158A (en) A kind of camera shooting meter system and method based on deep learning
JP6098104B2 (en) Auxiliary imaging device and program
CN111566639A (en) Image classification method and device
JPWO2020039897A1 (en) Station monitoring system and station monitoring method
CN109040590A (en) The device and method that real-time control camera takes pictures and returns photo and position
CN207166600U (en) A kind of panorama camera
CN115170990A (en) Artificial intelligent edge computing system and method for unmanned aerial vehicle airborne pod
EP3919374B1 (en) Image capturing method
KR102387642B1 (en) Drone based aerial photography measurement device
WO2021164387A1 (en) Early warning method and apparatus for target object, and electronic device
CN112313944A (en) Image processing method, device, equipment and storage medium
Plata et al. A Recognition Method for Cassava Phytoplasma Disease (CPD) Real-Time Detection based on Transfer Learning Neural Networks
KR20090085990A (en) System and method of providing messenger service between apparatus picturing image
US11830247B2 (en) Identifying antenna communication issues using unmanned aerial vehicles
EP4351129A1 (en) Video management system, video management method, reading device, and information processing device
CN210781097U (en) Map collecting device

Legal Events

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

Ref document number: 20830556

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20830556

Country of ref document: EP

Kind code of ref document: A1