Robot fall prevention method, robot, and readable storage medium
By combining fall protection sensors with camera image recognition or robot localization and scene mapping, the problem of robot error in fall protection judgment in specific scenarios is solved, achieving more efficient safe area judgment and expanding the working range.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SPARKOZ TECH (CHANGSHU) CORP
- Filing Date
- 2021-08-03
- Publication Date
- 2026-04-10
AI Technical Summary
Robots may have difficulty accurately perceiving their environment in certain scenarios, leading to incorrect fall prevention judgments, limiting their working range and reducing efficiency.
By detecting distance using anti-fall sensors and combining this with camera image recognition or robot positioning and scene maps, the system confirms whether it is in a safe area and sends a stop or continue movement command.
It improves the accuracy of the robot's fall prevention judgment in specific scenarios, expands its working range, and enhances its operational efficiency.
Smart Images

Figure CN116372990B_ABST
Abstract
Description
[0001] This application is a divisional application in accordance with the Patent Law Implementation Regulations Article 42, the parent application of which is a Chinese invention application with the application date of August 3, 2021, the application number of 202110886723.6, the invention name of robot anti-falling method, robot and readable storage medium, and the applicant of Tangen Intelligent Technology (Changshu) Co., Ltd. The contents of the parent application are fully incorporated into this application. TECHNICAL FIELD
[0002] The present application relates to the field of robots, in particular to a robot anti-falling method, a robot and a readable storage medium. BACKGROUND
[0003] With the development of robot technology, various robot products such as cleaning robots, security robots, inspection robots, and delivery robots have emerged. In order to ensure that the robot can work safely and reliably in the application scene, the robot needs to have the ability to perceive the surrounding environment and then avoid the scene that may fall such as stairs and platforms.
[0004] Currently, robots generally perceive the surrounding environment by using different types of sensors, such as infrared sensors, ultrasonic sensors, laser sensors, etc. These sensors perceive the environment by emitting energy such as infrared, ultrasonic, laser, etc. to the external environment and receiving the reflected energy. These sensors may have perception problems in some specific scenarios, such as Figures 1 to 4 as shown, Figures 1 to 2 a scene of a drain grate, Figure 3 a scene of a black light-absorbing carpet, Figure 4 a scene of a transparent glass floor, in which the sensors may not be able to accurately perceive, resulting in misjudgment of the robot falling risk. For example, when the laser sensor perceives the drain grate, the laser may be shot into the gap of the drain grate so that the laser sensor cannot receive the reflected laser, and therefore the laser sensor cannot correctly judge the distance between the robot and the drain grate, resulting in the laser sensor misjudging the drain grate as an area where the robot will fall. SUMMARY
[0005] The embodiments of the present application provide a robot anti-falling method, a robot and a readable storage medium, which are used to solve the problem that the anti-falling judgment of the robot is easy to misjudge in a specific scene.
[0006] In a first aspect, the embodiments of the present application provide a robot anti-falling method, which comprises:
[0007] obtaining the distance between the robot and the support surface detected by the anti-falling sensor;
[0008] determine whether the distance satisfies a preset anti-falling condition, wherein the anti-falling condition is used to describe a distance range in which the robot is likely to fall;
[0009] when the distance satisfies the preset anti-falling condition, determine whether the robot is in a safe area in which falling does not occur according to an environment in which the robot is located;
[0010] when the robot is not in the safe area, send a stop motion instruction to the robot.
[0011] In a possible implementation of the first aspect, determining whether the robot is in the safe area in which falling does not occur according to the environment in which the robot is located includes:
[0012] determining whether the robot is in the safe area in which falling does not occur by acquiring an environmental image; or
[0013] determining whether the robot is in the safe area in which falling does not occur by positioning the robot and a safe area calibrated in a scene map.
[0014] In a possible implementation of the first aspect, determining whether the robot is in the safe area in which falling does not occur by acquiring the environmental image includes:
[0015] acquiring an image captured by a camera associated with a motion direction of the robot;
[0016] recognizing the image and determining whether a result of the image recognition satisfies a preset safe scene condition, wherein the safe scene condition is used to describe a scene in which the robot does not fall;
[0017] when the result of the image recognition does not satisfy the preset safe scene condition, determining that the robot is not in the safe area.
[0018] In a possible implementation of the first aspect, recognizing the image includes:
[0019] recognizing the image by using a preset neural network recognition model to obtain an image recognition result, wherein the image recognition result includes an object or an area.
[0020] In a possible implementation of the first aspect, the safe scene condition includes at least one of the following: a drain grate, a black light-absorbing area, and a transparent floor area.
[0021] In a possible implementation of the first aspect, determining whether the robot is in the safe area in which falling does not occur by positioning the robot and the safe area calibrated in the scene map includes:
[0022] acquiring a position of the robot in a current scene;
[0023] determine whether the position is in a safe area calibrated in the scene map;
[0024] when the position is not in the safe area calibrated in the scene map, determine that the robot is not in the safe area.
[0025] In a possible implementation of the first aspect, before determining whether the robot is in the safe area where the falling does not occur according to the environment, the method further includes:
[0026] checking whether there is a valid safety signal;
[0027] when the valid safety signal exists, determining that the robot is in the safe area.
[0028] In a possible implementation of the first aspect, the method further includes:
[0029] when the robot is in the safe area, continuing to execute the motion instruction and setting the safety signal. In a second aspect, the application provides a robot, characterized in that comprising:
[0030] a memory configured to store instructions executed by the first processor or the second processor, and
[0031] the first processor is one of a plurality of processors of the robot, configured to acquire a distance between the robot and a support surface detected by an anti-falling sensor and determine whether the distance satisfies a preset anti-falling condition, wherein the anti-falling condition is used to describe a distance range in which the robot is likely to fall;
[0032] the second processor is one of the plurality of processors of the robot, configured to, when the distance satisfies the preset anti-falling condition, determine whether the robot is in a safe area where the falling does not occur according to an environment, and in a case where the robot is not in the safe area, send a stop motion instruction to the robot;
[0033] at least one anti-falling sensor configured to detect the distance between the robot and the support surface;
[0034] a motion component configured to receive the stop motion instruction sent by the second processor and stop the motion of the robot according to the stop motion instruction, and receive the motion instruction sent by the second processor and continue the motion of the robot according to the motion instruction.
[0035] In a third aspect, the application provides a readable storage medium, and the readable storage medium stores instructions. When the instructions are executed on the robot, the robot executes the robot anti-falling method in the first aspect and any one of the possible implementations of the first aspect.
[0036] The robot fall prevention method in the embodiments of the present application can determine whether the robot is in a safe area by taking an environmental image in the movement direction of the robot through a camera and identifying objects or areas in the image, or by determining whether the robot is in a safe area in a scene map through positioning of the robot, when it is determined that the robot has a risk of falling according to distance data provided by a fall prevention sensor, thereby achieving a second confirmation of the falling risk of the robot, avoiding misjudgment of the falling risk in a specific scene, improving the operation efficiency of the robot, and expanding the working range of the robot. BRIEF DESCRIPTION OF DRAWINGS
[0037] Figure 1 A schematic view of a gutter grate is shown.
[0038] Figure 2 A schematic view of another gutter grate is shown.
[0039] Figure 3 A scene schematic view of a black light-absorbing carpet is shown.
[0040] Figure 4 A scene schematic view of a transparent glass floor is shown.
[0041] Figure 5 According to some embodiments of the present application, a scene schematic view when a robot is moving is shown.
[0042] Figure 6 According to some embodiments of the present application, a hardware structure diagram of a robot is shown.
[0043] Figure 7 According to some embodiments of the present application, a flowchart of a robot fall prevention method is shown.
[0044] Figure 8 According to some embodiments of the present application, a flowchart of another robot fall prevention method is shown. DETAILED DESCRIPTION
[0045] Illustrative embodiments of the present application include, but are not limited to, a robot fall prevention method, a robot, and a readable storage medium.
[0046] It can be understood that, as used herein, the term "module" can refer to or include an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and / or memory executing one or more software or firmware programs, a combinational logic circuit, and / or other suitable hardware components that provide the described functionality and / or as a portion thereof.
[0047] It can be understood that in the embodiments of the present application, the processor can be a microprocessor, a digital signal processor, a microcontroller, etc., and / or any combination thereof. According to another aspect, the processor can be a single-core processor, a multi-core processor, etc., and / or any combination thereof.
[0048] It can be understood that the robot fall prevention method of the present application is applicable to various robots that need to run in different working scenarios.
[0049] In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
[0050] Figure 5 According to some embodiments of the present application, a scenario of robot 100 fall prevention judgment when moving to a target area 200 is provided. As shown in Figure 1 The robot 100 moves in the direction of the target area 200, and the fall prevention sensor of the robot 100 continuously detects the distance between the robot 100 and the support surface, which is a plane or an inclined surface that can provide support to the robot 100, such as the ground, stairs, etc. In the target area, the value detected by the fall prevention sensor of the robot 100 is a large value, which means that the robot may be far away from the bottom of the area. When the value meets the preset fall prevention condition, the robot 100 determines that there is a risk of falling, and can stop advancing to prevent falling.
[0051] The fall sensor of the present application can be a sensor dedicated to detecting the distance between the robot 100 and the support surface, or it can be a part of the function component of the sensor combined with the forward obstacle sensor for detecting the distance between the robot and the support surface.
[0052] Here, the fall prevention sensor of the robot 100 can be, for example, an infrared sensor, an ultrasonic sensor, a laser sensor, etc.
[0053] The target area 200 can be a drain grate, a transparent glass floor, a black light-absorbing carpet, etc.
[0054] The present application will be described in more detail below with the fall prevention sensor of the robot 100 being an infrared sensor and the target area 200 being a black light-absorbing carpet as an example.
[0055] The infrared sensor of the robot 100 continuously emits infrared rays to the ground in front during movement, the ground reflects the infrared rays, and the reflected infrared rays are received by the infrared sensor to calculate the distance between the infrared sensor and the ground in front. After the infrared rays emitted by the infrared sensor of the robot 100 hit the black light-absorbing carpet 200, because the black light-absorbing carpet 200 absorbs a large amount of infrared rays, the infrared sensor basically receives no reflected infrared rays, so the infrared sensor incorrectly judges the distance between the infrared sensor and the black light-absorbing carpet 200 as a large number, so that the robot 100 incorrectly judges the black light-absorbing carpet 200 as a region where the robot 100 will fall according to the incorrect distance provided by the infrared sensor, and then the robot 100 stops moving in the direction of the black light-absorbing carpet 200.
[0056] In fact, the black light-absorbing carpet 200 is not a region that will cause the robot 100 to fall, and the anti-falling sensor of the robot 100 has made a mistake. If only the distance data provided by the anti-falling sensor is used, the working range of the robot 100 will be unnecessarily limited, so the robot 100 needs to further determine whether the current position or environment is a safe region. When it is determined that the robot 100 is in a safe region, the robot 100 continues to move forward to the target region 200. When it is determined that the robot 100 is not in a safe region, the robot 100 stops moving forward to prevent falling.
[0057] To check whether the current environment will cause a possible fall. The robot 100 collects an image of the black light-absorbing carpet 200 through the camera and performs object recognition. After identifying that the image contains a black light-absorbing carpet, the robot 100 determines that the current scene is a safe scene, and the robot 100 can continue to move forward in the direction of the black light-absorbing carpet 200.
[0058] If the anti-falling sensor cannot accurately determine the distance when encountering regions such as black light-absorbing carpets, it will mislead the robot to make incorrect judgments, reduce the working range of the robot, and increase unnecessary movement distance to avoid the misjudged region, thereby reducing the working efficiency of the robot. The same is true for scenes such as drain gratings and transparent glass floors. Here, no further description is given.
[0059] The method provided by the technical scheme of the present application can reduce the influence of incorrect judgments of the anti-falling sensor on the movement of the robot, expand the working range of the robot, and make the working efficiency of the robot higher.
[0060] The determination of the falling sensor and the determination of the safety area can be performed simultaneously or sequentially, and the application does not intend to be particularly limited.
[0061] Figure 6 According to some embodiments of the application, a structural schematic diagram of a robot 100 is shown. Specifically, as shown in the figure, the robot 100 includes a processor 110, an infrared sensor 120, an ultrasonic sensor 130, a laser sensor 140, a camera 150, a memory 160, a motion component 170, and the like. Figure 6
[0062] The processor 110 can be used to read and execute computer readable instructions. In a specific implementation, the processor 110 can mainly include a controller, an arithmetic unit, and a register. Among them, the controller is mainly responsible for instruction decoding and sending control signals for the operation of the instruction. The arithmetic unit is mainly responsible for performing fixed-point or floating-point arithmetic operations, shift operations, and logic operations, etc., and can also perform address operations and conversion. The register is mainly responsible for saving the register operands and intermediate operation results temporarily stored in the instruction execution process, etc. In a specific implementation, the hardware architecture of the processor 110 can be an application-specific integrated circuit (ASIC) architecture, a MIPS architecture, an ARM architecture, or an NP architecture, etc.
[0063] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and / or a neural network processing unit (neural-network processing unit, NPU) and the like. Among them, different processing units can be independent devices, or can be integrated in one or more processors.
[0064] For example, the NPU is a neural network (neural-network, NN) calculation processor, which can quickly process input information by borrowing the structure of a biological neural network, such as borrowing the transmission mode between human brain neurons, and can also constantly self-learn. Through the NPU, the robot 100 can be applied to intelligent cognition, such as image recognition, object recognition, etc.
[0065] In some embodiments of the present application, the NPU can identify the object or object in the moving direction of the robot 100 by image recognition or object recognition on the scene image collected by the camera 150, so as to provide the robot 100 with further judgment on whether the falling will occur.
[0066] In some embodiments of the present application, the processor 110 can be used for real-time processing, such as receiving real-time signals, issuing real-time instructions, etc. Specifically, the processor 110 can be a single-chip microcomputer running a real-time operating system, or a dedicated CPU in a chip set dedicated to processing real-time signals, etc.
[0067] The infrared sensor 120 is a sensor that uses the physical properties of infrared rays to measure distance. The infrared sensor 120 emits infrared rays outward and calculates the distance from the external object according to the reflected infrared rays. The infrared sensor measures without direct contact with the measured object, so there is no friction, and has the advantages of high sensitivity, fast response, etc. The disadvantage of the infrared sensor 120 is that it cannot be used to detect black or transparent objects.
[0068] The ultrasonic sensor 130 is a sensor that uses ultrasonic waves to measure distance. The ultrasonic waves emitted by the ultrasonic sensor 130 are mechanical waves with a vibration frequency higher than 20 kHz. Ultrasonic waves have the characteristics of high frequency, short wavelength, small diffraction, good directionality, and directional propagation as a ray. The ultrasonic sensor 130 can measure transparent obstacles such as glass and water surfaces, but is easily disturbed by echoes, leading to false positives.
[0069] The laser sensor 140 is a sensor that uses laser technology to measure distance. It can achieve non-contact long-distance measurement, with fast speed, high precision, large range, and strong resistance to light and electrical interference. When the laser sensor 140 is working, the laser emitting diode first emits a laser pulse towards the target. After reflection by the target, the laser scatters in all directions. Some of the scattered light returns to the sensor receiver, which is received by the optical system and imaged onto the avalanche photodiode. The avalanche photodiode converts the detected light signal into a corresponding electrical signal. The laser sensor 140 measures the distance by recording and processing the time it takes for the light pulse to be emitted and returned to be received. The disadvantage of the laser sensor 140 is that it is greatly affected by air and can only measure within a small range.
[0070] In some embodiments of the present application, the robot 100 can use the infrared sensor 120, the ultrasonic sensor 130, or the laser sensor 140 to detect the distance between the robot 100 and the ground.
[0071] The camera 150 is configured to capture still images or videos. An object projects an optical image through a lens to a photosensitive element. The photosensitive element can 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, which is then passed to an ISP to convert into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into a standard RGB, YUV, or the like format image signal.
[0072] In some embodiments of the present application, the camera 150 can be a normal camera or a depth camera. The normal camera is configured to obtain images of the environment around the robot 100. The depth camera is configured to obtain images of the environment around the robot 100 and the distance between objects in the environment and the depth camera.
[0073] In some embodiments of the present application, the robot 100 can include at least one camera 150 configured to capture images of a target area or a target object for object recognition.
[0074] The memory 160 is coupled to the processor 110 and configured to store various software programs and / or sets of instructions. The memory 160 can store various instructions in embodiments of the present application, such as a determination instruction configured to determine whether the detected distance from the anti-falling sensor satisfies a preset anti-falling condition, an image recognition instruction configured to perform object recognition on images captured by the camera, a positioning instruction configured to determine the current position of the robot, and a motion instruction or a stop motion instruction. In specific implementations, the memory 160 can include a high-speed random access memory, and can also include a non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 160 can store an operating system, such as an embedded operating system, e.g., uCOS, VxWorks, RTLinux, or the like. The memory 160 can also store a communication program configured to communicate with a mobile phone, one or more servers, or additional devices.
[0075] In some embodiments of the present application, the memory 160 can be configured to store scene map data, in which relevant safe areas are pre-marked. The robot 100 can determine whether it is in a safe area by using the stored scene map data and its own position.
[0076] The motion component 170 is configured to control the motion of the robot 100 according to the instructions from the processor 110. The motion component 170 can include a plurality of motion-related components, such as motors, transmission shafts, wheels, etc. In some embodiments of the present application, the motion component 170 is configured to implement a plurality of motion forms of the robot 100, such as forward motion, backward motion, leftward motion, rightward motion, arc motion, etc.
[0077] It can be understood that, Figure 6 The illustrated structure does not constitute a specific limitation on the robot 100. In some other embodiments of the present application, the robot 100 can include more or fewer components than those illustrated, or combine some components, or split some components, or different arrangement of components. The illustrated components can be implemented by hardware or software, or a combination of software and hardware.
[0078] The above Figure 6 The structure shown, according to Figure 7 and Figure 8 and in combination with a specific scenario, the technical solutions of the present application are described in detail. As Figure 7 shown, the robot anti-falling scheme in some embodiments of the present application includes:
[0079] In step S701, the robot 100 acquires the distance between the robot and the support surface detected by the anti-falling sensor. The anti-falling sensor is arranged on the robot 100 and is configured to detect the distance between the robot and the support surface. Generally, the distance detected by the sensor is the distance between the robot and the ground, or other distances, such as the distance between the robot and a certain level of stairs, etc. The anti-falling sensor can be an infrared sensor, an ultrasonic sensor, a laser sensor, etc. The support surface can be various objects or areas in the current scene that can provide certain support to the robot 100, such as a manhole cover, a staircase, a carpet, etc. During the continuous motion of the robot 100, the anti-falling sensor also continuously detects the distance between the robot 100 and the support surface, and provides the detected distance to the robot 100.
[0080] In some embodiments of the present application, at least one anti-falling sensor is arranged on the robot 100, and a plurality of anti-falling sensors can be uniformly distributed around the body of the robot 100, so as to achieve comprehensive detection of the environment around the robot 100 and avoid the existence of a detection blind area.
[0081] In addition, when multiple anti-falling sensors are arranged on the robot 100, some of the anti-falling sensors are associated with the moving direction of the robot 100, and the other anti-falling sensors are not associated with the moving direction of the robot 100. The distance detection data provided by the anti-falling sensors associated with the moving direction of the robot 100 has greater value for the anti-falling judgment of the robot 100, and the distance detection data provided by the anti-falling sensors not associated with the moving direction of the robot 100 has little or no value for the anti-falling judgment of the robot 100. For example, four anti-falling sensors are arranged on the robot 100, and are respectively distributed at the 2 o'clock direction, the 5 o'clock direction, the 8 o'clock direction and the 11 o'clock direction on the circumference of the robot 100. When the robot 100 moves in the 12 o'clock direction, the anti-falling sensors at the 11 o'clock direction and the 2 o'clock direction located at the front left and the front right of the moving direction of the robot 100 are the anti-falling sensors associated with the moving direction of the robot 100, and the anti-falling sensors at the 8 o'clock direction and the 5 o'clock direction located at the back left and the back right of the moving direction of the robot 100 are the anti-falling sensors not associated with the moving direction of the robot 100.
[0082] In some embodiments of the present application, the robot 100 acquires the distance detection data provided by the anti-falling sensors associated with the moving direction of the robot 100, and the robot 100 can not acquire the distance detection data of the anti-falling sensors not associated with the moving direction of the robot 100, thereby reducing the distance detection data to be processed, saving processing resources, and improving the operation efficiency of the robot 100.
[0083] In step S702, the robot 100 judges whether the distance between the robot and the supporting surface meets the preset anti-falling condition. Here, the anti-falling condition is used to indicate that the robot 100 is in a distance range in which falling is possible. When the detection distance provided by the anti-falling sensor meets the anti-falling condition, for example, the detected distance value is greater than or equal to the preset value, it is judged that the robot 100 is in the distance range in which falling is possible, for example, the detected distance value is less than the preset value, and when the detection distance does not meet the anti-falling condition, it is judged that the robot 100 is not in the distance range in which falling is possible.
[0084] In some embodiments of the present application, the execution of steps S701 and S702 can use one processor, which can be, for example, a single-chip microcomputer running a real-time operating system, or a special CPU in a chip set dedicated to processing real-time signals; and the execution of steps S703 to S707 can use another processor, which has a lower real-time processing requirement than the previous processor, for example, an industrial control computer, a single-chip microcomputer, a CPU, etc.
[0085] In step S703, if the anti-falling condition is met, the robot 100 acquires an image captured by a camera associated with the moving direction of the robot. Here, the detection distance provided by the anti-falling sensor meets the preset anti-falling condition, which means that the robot 100 is in a possible falling scenario. Since the detection distance provided by the anti-falling sensor may be misjudged, in the scheme of the present application, other data is used to confirm the current scenario to obtain a more accurate scenario judgment.
[0086] In some embodiments of the present application, the robot 100 is provided with a camera, which is used to capture an environmental image in the moving direction of the robot 100. The environmental image can include obstacles, ground areas, etc. Here, the camera can be a normal camera or a depth camera. The normal camera is used to capture a two-dimensional image, and the depth camera can be used to capture a three-dimensional image, which further includes distance information between objects and the depth camera.
[0087] In some embodiments of the present application, the camera provided on the robot 100 can be one or multiple. When the camera is one, the camera can be arranged on a rotatable device, so as to realize the capture of the environment around the robot 100 by rotating the camera. When the robot 100 moves, the rotating camera makes the capturing direction of the camera consistent with the moving direction of the robot 100. The camera becomes the camera associated with the moving direction of the robot, and the captured image can be used for further anti-falling judgment of the robot 100.
[0088] When the camera is multiple, the capturing directions of the multiple cameras can be separated, and the capturing direction of each camera is different. The images captured by the multiple cameras can be panoramic images of the environment around the robot 100. At this time, the cameras associated with the moving direction of the robot 100 are those cameras that can capture images in the moving direction of the robot 100.
[0089] In some embodiments of the present application, the robot 100 can also check a relevant safety signal, and determine whether to perform the recognition of the image captured by the camera and the safety scene judgment according to whether the safety signal exists. The safety signal is state data saved by the robot after the robot determines that the robot is currently in a safety scene by performing steps S703 to S705. The safety signal can be used to indicate that the current scene is a safety scene, so as to avoid continuously performing safety scene judgment after it is determined that the current scene is a safety scene, and to reduce unnecessary consumption of computing resources. If the robot 100 checks that the safety signal exists, the recognition of the image captured by the camera and the safety scene judgment can not be performed, and the current scene can be directly determined as a safety scene. If the robot 100 does not check the safety signal, the safety scene judgment needs to be performed. Here, the safety signal can be provided with a timeout mechanism, that is, if a new safety signal is not received within a certain time (for example, 100 milliseconds), the original safety signal is invalid.
[0090] In step S704, the robot 100 identifies the object or region in the captured image. Here, the identification of the object or region in the image can be performed by using a deep learning technology. The deep learning technology is a research direction in the field of machine learning, and is an important part of artificial intelligence technology. The deep learning technology can learn the internal rules and representation levels of sample data, and the information obtained in the learning process can effectively explain data such as text, images and sound. The deep learning technology can enable the machine to have an analysis and learning ability like a human being, so as to identify text, images and sound, etc.
[0091] The deep learning technology mainly involves three types of methods: a neural network system based on convolution operation, a self-encoding neural network based on multiple layers of neurons, and a deep belief network. The neural network system based on convolution operation is a convolutional neural network, and various types of convolutional neural networks have been developed to date, which greatly improves the accuracy of the identification of the object or region in the image. The self-encoding neural network is a neural network that detects the features of sample data in an unsupervised learning manner. The deep belief network is a probabilistic generation neural network model, and the probabilistic generation can establish a joint distribution between sample data and object classification, and is composed of multiple restricted Boltzmann machine (RBM) layers. Compared with the traditional discriminant model neural network, the deep belief network can use a supervised learning manner or an unsupervised learning manner.
[0092] In some embodiments of the present application, the robot 100 uses a pre-trained neural network recognition model to recognize objects such as stairs, steps, walls, doors, etc. or areas such as drain grating, puddle, black light-absorbing carpet, transparent glass floor, etc. from the image captured by the camera. Here, the neural network recognition model is usually trained on an external server and then transplanted to the robot 100. Here, the user can input images containing the above objects or areas as training data into a certain neural network for training, and the obtained neural network after training is the neural network recognition model, which can recognize the above objects or areas from the image.
[0093] Step S705, the robot 100 judges whether the recognition result meets the preset safety scene condition. Here, the recognition result of the neural network recognition model on the image captured by the camera can be an object or area in the current scene such as steps, puddles, walls, doors, etc. The safety scene condition can be a scene in which some anti-falling sensors are prone to misjudgment but actually will not cause the robot to fall, for example, a scene in which there is a drain grating, a black light-absorbing area, a transparent floor area, etc. If the recognition result of the neural network recognition model is consistent with the object or area contained in the safety scene condition, it can be considered that the recognition result meets the safety scene condition, and the robot 100 is currently in a safe scene. For example, the recognition result of the neural network recognition module on the image captured by the camera is a black light-absorbing carpet, and there is a scene with a black light-absorbing area in the safety scene condition, so the recognition result meets the safety scene condition. For another example, the recognition result of the neural network recognition module on the image captured by the camera is a step, and there is no step in the safety scene condition, so the recognition result does not meet the safety scene condition.
[0094] Step S706, if the recognition result does not meet the safety scene condition, the robot 100 sends a stop motion instruction to the motion component 170. Here, the recognition result of the robot 100 on the image captured by the camera also does not support the robot 100 to be in a safe scene, so there is no misjudgment in the detection of the anti-falling sensor, and the robot 100 indeed has the risk of falling. Therefore, the robot 100 sends a stop motion instruction to the motion component 170, so that the motion component 170 stops the motion of the robot 100 according to the instruction, for example, stops power supply to the motor in the motion component 170, brakes the wheels in the motion component 170, etc., so as to stop the motion of the robot 100 in the motion direction.
[0095] In some embodiments of the present application, the stop motion instruction sent by the robot 100 is a stop motion instruction in the motion direction of the robot 100, and the motion component 170 of the robot 100 stops advancing in the motion direction according to the stop motion instruction, and the motion component 170 can execute a motion instruction in other directions except the motion direction, for example, execute a motion instruction in the opposite direction of the motion direction, so that the robot 100 moves backward.
[0096] In step S707, if the recognition result meets the safety scenario condition, the robot 100 continues to execute the motion instruction. Here, the recognition result meeting the safety scenario condition means that the robot 100 is currently in a safety scenario, and the detection of the anti-falling sensor is misjudged. In fact, the robot 100 has no risk of falling, and the robot 100 can continue to advance in the motion direction. Therefore, the robot 100 continues to send the motion instruction to the motion component 170, and the motion component 170 executes the motion instruction to enable the robot 100 to continue to move.
[0097] In addition, the robot 100 also sets a safety signal indicating that the robot 100 is currently in a safety scenario. The robot 100 can set the safety signal in a timed manner, or set the safety signal in a non-timed manner. The frequency of the timed setting can be between 5Hz and 50Hz. The non-timed manner can be, for example, setting after it is judged that the robot 100 is in a safety scenario.
[0098] If the execution of steps S701 and S702 uses one processor, and the execution of steps S703 to S707 uses another processor, the processor executing steps S703 to S707 can send a safety signal to the processor executing steps S701 and S702 in a timed manner or a non-timed manner after it is judged that the robot 100 is in a safety scenario. The safety signal sent in the timed manner can be set to have a certain duration, and the safety signal is no longer sent after the duration expires, so that the safety signal is reset after the robot 100 leaves the safety scenario.
[0099] In some embodiments of the present application, when a plurality of anti-falling sensors are provided on the robot 100, the safety signal sent by the robot 100 can also specify that one or more of the plurality of anti-falling sensors are shielded, so that the robot 100 can not process the distance detection data provided by the shielded anti-falling sensors according to the safety signal, and only process the distance detection data provided by the unshielded anti-falling sensors, so that the robot 100 can not be trapped and can autonomously leave the dangerous area in the unsafe scenario to continue to work.
[0100] Figure 8 Another technical solution of the robot anti-falling in some embodiments of the present application is shown. As shown in Figure 8 The solution includes:
[0101] Steps S801 and S802 are the same as steps S701 and S702 respectively, and the description of steps S801 and S802 can refer to the relevant description of the foregoing steps S701 and S702, which will not be repeated here.
[0102] Similarly, in some embodiments of the application, steps S801 and S802 can be executed using one processor, which can be, for example, a single-chip microcomputer running a real-time operating system, or a dedicated CPU in a chip set dedicated to processing real-time signals; steps S803 to S806 can be executed using another processor, which has a lower real-time processing requirement than the former processor, and can be, for example, an industrial control computer, a single-chip microcomputer, a CPU, etc.
[0103] In step S803, the robot 100 acquires the position in the current scene. Here, determining the position of the robot in the current scene can be achieved by using a robot indoor positioning technology. The robot indoor positioning technology can be roughly divided into three types in principle: proximity information method, scene analysis method and geometric feature method. The proximity information method determines whether a to-be-measured point is in the vicinity of a reference point by using the limited range of signal action, which can only provide approximate positioning information. The scene analysis method determines the position of the robot by comparing the signal strength received at a certain position with the actually measured signal strength of the position saved in the database. The geometric feature method is a positioning method using geometric principles, which needs to use fixed base stations or known base station position information, and can be specifically divided into three-edge positioning method, triangular positioning method and hyperbolic positioning method, etc.
[0104] The main process of indoor positioning is to first set auxiliary nodes with fixed positions in the indoor environment, the positions of these auxiliary nodes are known, and some position information is directly in the auxiliary nodes, such as radio frequency identification (RFID) tags, and some is in the database of a computer terminal, such as infrared and ultrasonic waves; then the distance from the robot to the auxiliary node is measured to determine the relative position.
[0105] In step S804, the robot 100 determines whether the current position is in the safe area in the scene map. Here, a scene map is established for the environment in which the robot 100 operates, and the scene map is a symbolic representation of the environment in which the robot performs a work task, and is used to describe the work environment information of the robot.
[0106] In some embodiments of the present application, the scene map can be established by a Simultaneous Localization And Mapping (SLAM) technique. Current SLAM methods can be roughly divided into two categories: a method based on a probabilistic model and a method based on a non-probabilistic model. The method based on a probabilistic model includes, for example, a complete SLAM based on Kalman filtering, compressed filtering, FastSLAM, etc. The method based on a non-probabilistic model includes, for example, SM-SLAM, scan matching, data fusion, fuzzy logic, etc.
[0107] In addition, the scene map in the robot 100 is also pre-marked with a safety area. The safety area identification information can include the range of the safety area. The range of the safety area can be demarcated in various ways, for example, by a contour line, a polygon, a circle, etc. In addition, the identification of the safety area can be manually marked by a user. For example, the areas covered by the drainage ditch grating, the transparent glass floor, and the black light-absorbing carpet described above are all pre-marked as safety areas of the robot 100 in the scene map.
[0108] In step S805, if the current position of the robot 100 is not in the safety area, the robot 100 sends a stop motion instruction to the motion component 170. The motion component 170 stops the motion of the robot 100 according to the stop motion instruction. The manner of stopping the motion of the robot 100 is similar to the description in step S706 described above, and will not be repeated here.
[0109] In step S806, if the current position of the robot 100 is in the safety area, the robot 100 continues to execute the motion instruction. Similarly, the process of the robot 100 continuing to execute the motion instruction and the manner of setting the safety signal are similar to the description in step S707 described above, and will not be repeated here.
[0110] Embodiments of the mechanism disclosed in the present application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of the present application can be implemented as computer programs or program codes executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memories and / or storage elements), at least one input device, and at least one output device.
[0111] The program code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system that has a processor, such as a Digital Signal Processor (DSP), a microcontroller, an Application Specific Integrated Circuit (ASIC), or a microprocessor.
[0112] The program code can be implemented in a high-level procedural or object-oriented programming language to communicate with a processing system. The program code can be implemented in assembly or machine language, if desired. In fact, the mechanisms described in this application are not limited to any particular programming language. In any case, the language can be a compiled or interpreted language.
[0113] In some cases, the disclosed embodiments can be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments can also be implemented as instructions carried by or stored on one or more transitory or non-transitory machine- readable (e.g., computer-readable) media, which can be read and executed by one or more processors. For example, the instructions can be distributed over the network or by other computer readable media. Thus, a machine-readable medium can include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including without limitation, a floppy disk, an optical disc, an optical disk, a compact disc read-only memory (CD-ROM), a magnetic disk, a read-only memory (ROM), a random access memory (RAM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic or optical card, a flash memory, or a tangible machine-readable storage medium that is suitable for use with a computer. Accordingly, the machine-readable medium includes any type of mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer).
[0114] In the drawings, some of the structures or method features can be shown in particular arrangements and / or orders. However, it should be understood that such specific arrangements and / or orders can not be required. Instead, these features can be arranged in a different manner and / or order than shown in the illustrative drawings, in some embodiments. Additionally, inclusion of a structural or method feature in a particular figure is not meant to imply that such feature is required in all embodiments, and in some embodiments, such feature can not be included or can be combined with other features.
[0115] It should be noted that each unit / module mentioned in the embodiments of the devices of the present application is a logical unit / module, and in physical form, one logical unit / module can be a physical unit / module, or a part of a physical unit / module, or a combination of multiple physical unit / modules, and the physical implementation form of the logical unit / module itself is not the most important, and the combination of the functions implemented by these logical units / modules is the key to solving the technical problems proposed in the present application. In addition, in order to highlight the innovative part of the present application, the above-mentioned embodiments of the devices of the present application do not introduce units / modules that are not closely related to solving the technical problems proposed in the present application, which does not mean that the above-mentioned device embodiments do not have other units / modules.
[0116] It should be noted that in the examples and descriptions of the present patent, relationship terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between the entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including one" does not exclude the presence of another identical element in the process, method, article or device including the element.
[0117] Although the present application has been illustrated and described with reference to certain preferred embodiments thereof, it should be understood by those skilled in the art that various changes in form and details can be made therein without departing from the spirit and scope of the present application.
Claims
1. A robot fall prevention method, characterized by, The method comprises the following steps: acquiring a distance between the robot and a support surface detected by a fall-prevention sensor; determining whether the distance meets a preset fall-prevention condition, wherein the fall-prevention condition is used to describe a distance range in which the robot is likely to fall; when the distance meets the preset fall-prevention condition, determining whether the robot is in a safe area in which the robot is not likely to fall according to an environment in which the robot is located, wherein before determining whether the robot is in the safe area according to the environment in which the robot is located, it is further included that checking whether there is a valid safety signal, wherein the safety signal is used to indicate that a current scene is safe, the safety signal is state data saved by the robot after determining that the robot is in a safe scene, and the safety signal is provided with a timeout mechanism; when it is checked that there is the valid safety signal, determining that the robot is in the safe area; and when it is checked that there is no valid safety signal, needing to determine a safe scene; when it is determined that the robot is not in the safe area according to the environment in which the robot is located, sending a stop motion instruction to the robot.
2. The robotic anti-falling method of claim 1, wherein, The determination of whether the robot is in the safe area according to the environment in which the robot is located comprises: determining whether the robot is in the safe area in which the robot is not likely to fall through positioning of the robot and a safe area marked in a scene map.
3. The robotic anti-falling method of claim 2, wherein, The determination of whether the robot is in the safe area in which the robot is not likely to fall through positioning of the robot and the safe area marked in the scene map comprises: acquiring a position of the robot in a current scene; determining whether the position is in the safe area marked in the scene map; when the position is not in the safe area marked in the scene map, determining that the robot is not in the safe area.
4. The robot anti-falling method according to any one of claims 2 or 3, characterized in that, The safe area marked in the scene map is delimited by a contour line, a polygon or a circle.
5. The robotic anti-falling method of claim 3, wherein, The position of the robot in the current scene is achieved by using a robot indoor positioning technology, and the robot indoor positioning technology comprises one of the following: a proximity information method, a scene analysis method and a geometric feature method.
6. The robotic anti-falling method according to any one of claims 1 to 3, wherein, The safe area at least comprises one of the following: a drain grate, a black light-absorbing area and a transparent floor area.
7. The robotic anti-falling method of claim 1, wherein, It is further included that: when the robot is in the safe area, continuing to execute a motion instruction and setting a safety signal.
8. The robotic anti-falling method of claim 1, wherein, The safety signal comprises shielding one or more of a plurality of fall-prevention sensors, so that the robot can not process distance detection data provided by the shielded fall-prevention sensors according to the safety signal, and only process distance detection data provided by unshielded fall-prevention sensors.
9. The robotic anti-falling method of claim 1, wherein, It is further included that: resetting the safety signal after the robot leaves a safe scene.
10. A readable storage medium, characterized by, The readable storage medium has instructions stored thereon, which, when called, cause the robot to execute and implement the robot fall-prevention method according to any one of claims 1-9.
11. A robot, characterized in that The robot comprises a motion component, and the robot can execute the robot fall-prevention method according to any one of claims 1-9.
Citation Information
Patent Citations
Robot anti-falling method, robot and readable storage medium
CN113524265A