WO2021232933A1 - 机器人的安全防护方法、装置与机器人 - Google Patents

机器人的安全防护方法、装置与机器人 Download PDF

Info

Publication number
WO2021232933A1
WO2021232933A1 PCT/CN2021/082618 CN2021082618W WO2021232933A1 WO 2021232933 A1 WO2021232933 A1 WO 2021232933A1 CN 2021082618 W CN2021082618 W CN 2021082618W WO 2021232933 A1 WO2021232933 A1 WO 2021232933A1
Authority
WO
WIPO (PCT)
Prior art keywords
overload
motor
current
category
robot
Prior art date
Application number
PCT/CN2021/082618
Other languages
English (en)
French (fr)
Inventor
戴正晨
许春晖
胡文
杨中欣
陶志东
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021232933A1 publication Critical patent/WO2021232933A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices

Definitions

  • This application relates to the field of robotics, and in particular to a method, device and robot for safety protection of a robot.
  • HRI Human Robot Interaction
  • the present application provides a robot safety protection method, device, and robot, which are used to improve the robot's anthropomorphic performance ability.
  • an embodiment of the present application provides a method for safety protection of a robot, including:
  • the overload classification of the motor is obtained according to the operating data of the motor and the overload classification model of the motor pre-trained, and the corresponding overload safety processing strategy is executed according to the overload classification.
  • first-order overload detection is performed on each motor.
  • the motor is further processed through the pre-trained overload classification model.
  • the second-order overload detection distinguishes the overload type of the motor, and then adopts the corresponding overload safety handling strategy, which can improve the anthropomorphic performance ability of the robot.
  • the performing overload detection on each motor includes:
  • the first-order overload detection is performed on the motor based on the changed current overload threshold, which can improve the accuracy of the first-order overload detection.
  • the determining the current overload threshold according to the speed of the motor includes:
  • I Thres represents the current overload threshold
  • v Max represents the maximum speed of the motor
  • v represents the acquired speed of the motor
  • I Th1 represents the ideal current that triggers the overload when the motor is stationary
  • I Th2 represents the The ideal current that triggers an overload when the motor reaches its maximum speed.
  • the above formula is used to determine the current overload threshold of the motor, which can improve the accuracy of the determined current overload threshold.
  • the overload category is external cause overload or internal cause overload
  • the overload classification model of the motor is obtained by training based on a training sample set, wherein the training sample set includes multiple
  • the training sample corresponding to the external cause overload, the training sample corresponding to each external cause overload includes the latest M groups of motor operating data obtained when the external cause overload occurs in the motor, and each group of motor operating data includes the operating data of all motors , M is a positive integer;
  • the training method includes: extracting the feature vector of each training sample according to each group of motor operating data in each training sample; using the feature vector of each training sample to train the single classification model to be trained to obtain the overload classification model of the motor;
  • obtaining the overload category of the motor according to the operating data of the motor and the pre-trained overload classification model of the motor includes:
  • the feature vector to be recognized is input into the overload classification model of the motor for recognition, and the overload category of the motor is obtained.
  • the operating data includes the current and position of the motor
  • the feature vector includes the current characteristic and the position characteristic of each motor
  • the current characteristic includes the average value of the current.
  • the location feature includes a plurality of the average value, the standard deviation and the maximum value of the absolute value of the position change.
  • the average, standard deviation, and maximum value of the absolute values of current and position changes can more comprehensively reflect the overall changes of the current and position of the motor.
  • the overload category is an external cause overload or an internal cause overload
  • the execution of a corresponding overload safety processing strategy according to the overload category includes:
  • overload category is an external cause overload
  • the method before the detecting the force of the target motor group, the method further includes:
  • the method further includes:
  • the detecting the force of the target motor group includes:
  • For each motor in the target motor group determine the sum of the absolute value of the position change of the motor according to the position of the motor in the preset time period acquired recently;
  • the overload category is an external cause overload or an internal cause overload
  • the execution of a corresponding overload safety processing strategy according to the overload category includes:
  • the overload information includes multiple types of the following information: the motor number, current, position, and overload occurrence time of the motor.
  • the method further includes: if the motor is continuously overloaded due to internal factors at the same position, prompting the user to check whether the structure of the joint where the motor is located is abnormal. In this way, the abnormally heavy structure can be dealt with in time, and the robot structure can be protected.
  • the overload category is an external cause overload or an internal cause overload
  • the method further includes: for each motor, if a preset detection condition is met, if the If the current of the motor is greater than the preset current threshold and the duration exceeds the second preset duration, the target safety processing strategy is executed, wherein the preset current threshold is greater than the current overload threshold corresponding to the maximum speed of the motor, and is less than all The locked-rotor current of the motor; the preset detection conditions include: the motor overload is not detected, or the overload category of the motor is not obtained, or the overload category of the motor is obtained as an internal cause overload.
  • the preset current threshold value higher than the maximum current overload threshold is used to perform further third-order overload detection on the motor, and the target safety processing strategy is adopted when the motor overload is detected, so that the first-order and second-order overloads can be dealt with. Detect failures and serious internal cause overload situations to improve the safety protection capability of the robot.
  • the overload category is external cause overload or internal cause overload
  • the method further includes:
  • the target safety processing strategy For each motor, when the preset detection conditions are met, if the overload alarm message sent by the motor is received, the target safety processing strategy is executed.
  • the overload alarm message is that the motor detects that the current is greater than
  • the preset current threshold is sent when the duration exceeds a second preset duration, wherein the preset current threshold is greater than the current overload threshold corresponding to the maximum speed of the motor, and is less than the locked-rotor current of the motor
  • the preset detection conditions include: the motor is not detected to be overloaded, or the overload category of the motor is not obtained, or the overload category of the motor obtained is an internal cause overload.
  • the preset current threshold value higher than the maximum current overload threshold is used to perform further third-order overload detection on the motor, and the target safety processing strategy is adopted when the motor overload is detected, so that the first-order and second-order overloads can be dealt with. Detect failures and serious internal overloads to improve the safety protection capability of the robot; and perform three-level overload detection in the motor. Because the motor's operating environment is stable and it is difficult to tamper with the program, the third-level overload detection is performed in the motor. It can improve the safety and stability of the third-order overload detection.
  • the execution target security processing strategy includes:
  • the user is prompted to check whether the structure of the robot is abnormal, and upload the fault data to the server.
  • an embodiment of the present application provides a safety protection device for a robot, including: an acquisition module, a first-order overload detection module, a second-order overload detection module, and an overload safety processing module, wherein:
  • the acquisition module is used to: acquire the operating data of each motor in the robot;
  • the first-order overload detection module is used to: perform overload detection on each motor;
  • the second-order overload detection module is configured to: when the first-order overload detection module detects that the motor is overloaded, obtain the overload category of the motor according to the operating data of the motor and a pre-trained overload classification model of the motor ;
  • the overload safety processing module is configured to execute a corresponding overload safety processing strategy according to the overload category.
  • the first-order overload detection module is specifically configured to:
  • the first-order overload detection module is specifically configured to:
  • I Thres represents the current overload threshold
  • v Max represents the maximum speed of the motor
  • v represents the acquired speed of the motor
  • I Th1 represents the ideal current that triggers the overload when the motor is stationary
  • I Th2 represents the The ideal current that triggers an overload when the motor reaches its maximum speed.
  • the overload category is an external cause overload or an internal cause overload
  • the overload classification model of the motor is obtained by training based on a training sample set, wherein the training sample set includes multiple The training sample corresponding to the external cause overload, the training sample corresponding to each external cause overload includes the latest M groups of motor operating data obtained when the external cause overload occurs in the motor, and each group of motor operating data includes the operating data of all motors , M is a positive integer;
  • the training method includes: extracting the feature vector of each training sample according to each group of motor operating data in each training sample; using the feature vector of each training sample to train the single classification model to be trained to obtain the overload classification model of the motor;
  • the second-order overload detection module is specifically used for:
  • the feature vector to be recognized is input into the overload classification model of the motor for recognition, and the overload category of the motor is obtained.
  • the operating data includes the current and position of the motor
  • the feature vector includes the current characteristic and the position characteristic of each motor
  • the current characteristic includes the average value of the current.
  • the standard deviation and the maximum value and the location feature includes a plurality of the average value, the standard deviation and the maximum value of the absolute value of the position change.
  • the overload category is an external cause overload or an internal cause overload
  • the overload safety processing module is specifically configured to:
  • overload category is an external cause overload
  • the overload safety processing module is further configured to:
  • the overload safety processing module is specifically configured to:
  • For each motor in the target motor group determine the sum of the absolute value of the position change of the motor according to the position of the motor in the preset time period acquired recently;
  • the overload category is an external cause overload or an internal cause overload
  • the overload safety processing module is specifically configured to:
  • the overload information includes multiple types of the following information: the motor number, current, position, and overload occurrence time of the motor.
  • the overload safety processing module is further configured to: if the motor is continuously overloaded due to internal factors at the same position, prompt the user to check whether the structure of the joint where the motor is located is abnormal.
  • the overload category is external cause overload or internal cause overload
  • the device further includes:
  • the third-order overload detection module is used for each motor, when the preset detection conditions are met, if the current of the motor is detected to be greater than the preset current threshold, and the duration exceeds the second preset duration, instruct all the motors
  • the overload safety processing module executes a target safety processing strategy, wherein the preset current threshold is greater than the current overload threshold corresponding to the maximum speed of the motor, and less than the locked-rotor current of the motor; the preset detection conditions include: The motor overload is not detected, or the overload category of the motor is not obtained, or the overload category of the motor obtained is an internal cause overload.
  • the overload category is external cause overload or internal cause overload
  • the device further includes:
  • the third-order overload detection module is used to instruct the overload safety processing module to execute the target safety processing strategy if the overload alarm message sent by the motor is received when the preset detection conditions are met for each motor, where ,
  • the overload alarm message is sent when the motor detects that the current is greater than a preset current threshold and the duration exceeds a second preset duration, wherein the preset current threshold is greater than the maximum speed of the motor
  • the corresponding current overload threshold is less than the locked-rotor current of the motor; the preset detection conditions include: the motor overload is not detected, or the overload category of the motor is not obtained, or the motor's overload category is not obtained.
  • the overload category is internal cause overload.
  • the overload safety processing module is specifically configured to:
  • the user is prompted to check whether the structure of the robot is abnormal, and upload the fault data to the server.
  • an embodiment of the present application provides a robot, including: a memory, a processor, and a motor, the memory is used to store a computer program; the processor is used to execute the first aspect or any implementation of the first aspect when the computer program is invoked In the method described in the mode, the motor is used to feed back operating data to the processor.
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed by a processor, the method described in the first aspect or any one of the first aspects is implemented.
  • an embodiment of the present application provides a computer program product, when the computer program product runs on a robot, the robot executes the method described in the first aspect or any one of the first aspects.
  • an embodiment of the present application provides a chip system, including a processor, the processor is coupled to a memory, and the processor executes a computer program stored in the memory to implement the first aspect or any of the first aspects.
  • the chip system may be a single chip or a chip module composed of multiple chips.
  • FIG. 1 is a schematic diagram of the structure of a robot provided by an embodiment of the application
  • Figure 2 is a schematic diagram of the hardware structure of a robot provided by an embodiment of the application.
  • FIG. 3 is a schematic diagram of the principle of a safety protection method for a robot provided by an embodiment of the application
  • FIG. 4 is a schematic flowchart of a safety protection method for a robot provided by an embodiment of the application
  • FIG. 5 is a schematic diagram of an overload detection time window provided by an embodiment of the application.
  • FIG. 6 is a schematic diagram of the relationship between the current overload threshold and the speed provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of the training principle of the overload classification model provided by an embodiment of the application.
  • FIG. 8 is a schematic flow chart of the external overload safety processing process provided by an embodiment of the application.
  • FIG. 9 is a schematic structural diagram of a safety protection device for a robot provided by an embodiment of the application.
  • FIG. 1 is a schematic diagram of the structure of a robot provided by an embodiment of the application
  • FIG. 2 is a schematic diagram of the hardware structure of a robot provided by an embodiment of the application.
  • the robot can include a body assembly 1, a head assembly 2, an arm assembly 3, and a leg assembly 4.
  • Each of the arm assembly 3 and the leg assembly 4 includes two, the head assembly 2, the arm assembly 3, and the legs.
  • the components 4 are respectively connected to the body component 1, and can rotate relative to the body component 1.
  • Each component can include multiple joints, for example, the arm component 3 can include three joints of the upper arm, the lower arm and the hand, and the leg component 4 can Including three joints of thigh, calf and foot. Of course, this is just an example.
  • the arm assembly 3 and the leg assembly 4 can also include more or fewer joints, and the leg assembly 4 can also be added or changed to drive wheels.
  • each driving wheel can be driven by a motor; the movement of each joint can be driven by at least one motor.
  • the internal circuit modules of the robot may include the following electronic devices: a processor 110, a motor 120, an external memory interface 131, an internal memory 132, a universal serial bus (USB) interface 140, and a charging management module 150, power management module 151, battery 152, wireless communication module 160, audio module 170, speaker 171, microphone 172, sensor module 180, buttons 190, indicator 191, camera 192, display screen 193, etc.
  • the sensor module 180 may include a pressure sensor 181, a gyroscope sensor 182, an acceleration sensor 183, a proximity light sensor 184, an ambient light sensor 185, a fingerprint sensor 186, a temperature sensor 187, a touch sensor 188, and so on.
  • the motor 120 includes multiple, which are located in each joint of the robot; the speaker 171, the microphone 172, the indicator 191, and the camera 192 can be provided in the head assembly 2; the display screen 193 can include multiple, all of which can be provided on the head In component 2, part of it can also be set in body component 1.
  • a display screen for displaying facial expressions or for touch interaction can be provided in head component 2
  • body component 1 can be provided for displaying images and videos.
  • a display screen used for touch interaction; other electronic devices can be set in the body assembly 1.
  • the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the robot.
  • the robot may include more or fewer components than shown, or combine certain components, or split certain components, or arrange different components.
  • the processor 110 may include one or more processing units.
  • the processor 110 may include a central controller and a motor controller, and may also include: an application processor (AP), a graphics processing unit (GPU) ), image signal processor (Image Signal Processor, ISP), video codec, digital signal processor (Digital Signal Processor, DSP), and/or neural network processor (Neural-network Processing Unit, NPU), etc.
  • AP application processor
  • GPU graphics processing unit
  • ISP image Signal Processor
  • video codec Digital Signal Processor
  • DSP Digital Signal Processor
  • NPU neural network Processing Unit
  • the different processing units may be independent devices or integrated in one or more processors.
  • the central controller can be the nerve center and command center of the robot, which can receive data fed back by other processing units and peripheral electronic devices, as well as data sent by other electronic devices, and generate corresponding control instructions.
  • the control instructions may include motion instructions used to control the movement of the motor 120, such as forward instructions, backward instructions, left turn instructions, and right turn instructions.
  • the control instructions may also include other peripheral electronic devices (such as the camera 192 and display). Screen 193, etc.) instructions.
  • the motor controller can control the operation of each motor according to the motion instructions sent by the central controller to drive the corresponding joints to complete the corresponding motion; the motor can feed back the operating data of the motor to the motor controller in a preset sampling period, and the motor controller can follow
  • the running data fed back by the motor determines the running state of the motor and decides the next action of the robot.
  • the operating data of the motor may include: the current, speed, and position of the motor.
  • the motor controller After the motor controller obtains the operation data of the motor, it can perform safety protection processing on the motor according to the operation data of the motor.
  • safety protection processing process please refer to the subsequent method embodiments, which will not be repeated here.
  • the processor 110 may include one or more interfaces.
  • Interfaces can include integrated circuit (Inter-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, and/or Universal Serial Bus (Universal Serial Bus, USB) interface, etc.
  • I2C Inter-Integrated Circuit
  • UART Universal Asynchronous Receiver/Transmitter
  • MIPI Mobile Industry Processor Interface
  • GPIO General Input and Output
  • USB Universal Serial Bus
  • the processor 110 can couple the touch sensor 188, the charger, the camera 192, etc. through different I2C bus interfaces; communicate with the wireless communication module 160 through the UART interface; connect to the display screen 193, the camera 192 and other peripheral devices through the MIPI interface.
  • 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 110 with the camera 192, the display screen 193, the wireless communication module 160, the audio module 170, the sensor module 180, and so on.
  • the USB interface 140 is an interface that complies with the USB standard specification, and specifically may be a Mini USB interface, a Micro USB interface, a USB Type C interface, and so on.
  • the USB interface 140 can be used to connect a charger to charge the robot, and can also be used to transfer data between the robot and peripheral devices.
  • the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic description, and does not constitute a structural limitation of the robot.
  • the robot may also adopt different interface connection modes in the above-mentioned embodiments, or a combination of multiple interface connection modes.
  • the charging management module 150 is used to receive charging input from the charger.
  • the charger can be a wireless charger or a wired charger.
  • the charging management module 150 may receive the charging input of the wired charger through the USB interface 140.
  • the charging management module 150 may receive the wireless charging input through the wireless charging coil of the robot. While the charging management module 150 charges the battery 152, it can also supply power to the electronic device through the power management module 151.
  • the power management module 151 is used to connect the battery 152, the charging management module 150 and the processor 110.
  • the power management module 151 receives input from the battery 152 and/or the charging management module 150, and supplies power to the processor 110, the internal memory 32, the external memory, the display screen 193, the camera 192, and the wireless communication module 160.
  • the power management module 151 can also be used to monitor parameters such as battery capacity, battery cycle times, and battery health status (leakage, impedance).
  • the power management module 151 may also be provided in the processor 110.
  • the power management module 151 and the charging management module 150 may also be provided in the same device.
  • the wireless communication module 160 can provide applications on the robot 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), Frequency Modulation (FM), Near Field Communication (NFC), Infrared Technology (Infrared, IR) and other wireless communication solutions.
  • WLAN Wireless Local Area Networks
  • BT Bluetooth
  • GNSS Global Navigation Satellite System
  • FM Frequency Modulation
  • NFC Near Field Communication
  • Infrared Technology Infrared, IR
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via an antenna, modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110.
  • the wireless communication module 160 may also receive a signal to be sent from the processor 110, perform frequency modulation, amplify it, and convert it into electromagnetic waves to radiate through the antenna.
  • the robot can realize display function through GPU, display screen 193 and application processor, and realize shooting function through ISP, camera 192, video codec, GPU, display screen 193 and application processor.
  • the external memory interface 131 may be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the robot.
  • the external memory card communicates with the processor 110 through the external memory interface 131 to realize the data storage function. For example, save music, video and other files in an external memory card.
  • the internal memory 32 may be used to store computer executable program code, the executable program code including instructions.
  • the processor 110 executes various functional applications and data processing of the robot by running instructions stored in the internal memory 32.
  • the internal memory 32 may include a program storage area and a data storage area.
  • the storage program area can store an operating system, an application program (such as a sound playback function, an image playback function, etc.) required by at least one function, and the like.
  • the data storage area can store data (such as audio data, phone book, etc.) created during the use of the robot.
  • the internal memory 32 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (Universal Flash Storage, UFS), and the like.
  • a non-volatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (Universal Flash Storage, UFS), and the like.
  • the robot can implement audio functions through the audio module 170, the speaker 171, the microphone 172, and the application processor. For example, music playback, voice recognition and recording, etc.
  • the pressure sensor 181 is used to sense a pressure signal, and can convert the pressure signal into an electrical signal.
  • the pressure sensor 181 may be provided in the display screen 193.
  • the pressure sensor 181 may be used together with the gyroscope sensor 182 and the acceleration sensor 183 to determine the movement posture of the robot.
  • the proximity light sensor 184 may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode.
  • the light emitting diode may be an infrared light emitting diode.
  • the robot emits infrared light outwards through light-emitting diodes.
  • the robot uses photodiodes to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the robot. When insufficient reflected light is detected, the robot can determine that there is no object near the robot.
  • the ambient light sensor 185 is used to sense the brightness of the ambient light.
  • the robot can adaptively adjust the brightness of the display screen 193 according to the perceived brightness of the ambient light.
  • the ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures.
  • the fingerprint sensor 186 is used to acquire fingerprints, and the robot can use the acquired fingerprint characteristics to realize fingerprint unlocking and the like.
  • the temperature sensor 187 is used to detect temperature.
  • the robot uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy.
  • the touch sensor 188 is also called a "touch panel”.
  • the touch sensor 188 may be arranged on the display screen 193, and the touch screen is composed of the touch sensor 188 and the display screen 193, which is also called a “touch screen”.
  • the touch sensor 188 is used to detect touch operations acting on or near it.
  • the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
  • the visual output related to the touch operation can be provided through the display screen 193.
  • the touch sensor 188 may also be disposed on the surface of the robot, which is different from the position of the display screen 193.
  • the button 190 includes a power-on button, a volume button, and so on.
  • the button 190 may be a mechanical button or a touch button.
  • the robot can receive key input and generate key signal input related to the robot's user settings and function control.
  • the indicator 191 can be an indicator light, which can be used to indicate the charging status, power change, and can also be used to indicate the robot's working status and notifications.
  • the execution subject of the safety protection method may be the processor in the robot, and the processor may specifically be a motor controller, or it may be another processing unit integrated with the function of the motor controller.
  • the processor Take the motor controller as an example to illustrate.
  • FIG. 3 is a schematic diagram of the principle of the safety protection method of the robot provided by the embodiment of the application.
  • the overload detection process may include the following stages : First-order overload detection, second-order overload detection and third-order overload detection.
  • the first-order overload detection is mainly used to distinguish the normal motion of the motor from the situation of greater resistance. It detects whether the motor is overloaded through the changed current overload threshold to initially screen out the overload event (that is, the situation where the motor is subject to greater resistance).
  • the reasons that cause the motor to receive greater resistance can include external factors and internal factors.
  • the external factors include artificially moving the motor joints or the motor joints hitting external obstacles, etc.
  • the internal factors are usually caused by abnormal internal structures. Cause, such as structure aging, increased friction, wire entanglement or hard foreign matter entering the robot and jamming the transmission structure.
  • overloads caused by different reasons if they are all classified as one type of overload, and the same overload safety treatment strategy is adopted when overload protection is performed, it is easy for the user to unclear why the overload protection is triggered when an internal cause overload occurs (that is, an overload caused by an internal cause). Circumstances, which will reduce the human-computer interaction experience and the robot’s anthropomorphic performance capabilities. Based on this, in this embodiment, the second-order overload detection is used to further distinguish the motor overload situation.
  • the second-level overload detection uses a pre-trained overload classification model to distinguish whether the overload event of the first-level overload detection is an internal or external overload, and adopts different overload safety treatment strategies for different overload categories, that is, when an internal overload occurs , Carry out internal cause overload safety treatment; in the event of external cause overload, carry out external cause overload safety treatment.
  • the overload category includes internal and external cause overload as examples for exemplification, which is not used to limit the application; in specific implementation, more overload categories can also be divided according to needs.
  • the motor operating data of the overload category pre-trains the corresponding overload classification model, identifies the overload category of the overload event of the first-order overload detection, and then adopts the corresponding overload safety processing strategy.
  • the third-order overload detection can be used to deal with In these circumstances, in order to improve the safety protection capabilities of the robot.
  • the third-order overload detection can run in the motor controller or a more stable motor bottom environment, as the last protective barrier, when the first-order overload detection fails (that is, the motor overload is not detected) or the second-order overload detection It is triggered when it fails (that is, the overload category of the motor is not obtained) or when a serious internal cause overload occurs.
  • the third-order overload detection detects whether the motor is overloaded through the preset current threshold value higher than the current overload threshold in the first-order overload detection, and performs the third-order overload safety processing when the motor overload is detected, that is, executes the corresponding overload safety processing strategy (here It is called the target safety processing strategy) to deal with the failure of the first-order or second-order overload detection and the occurrence of serious internal cause overload, so as to further protect the motor.
  • the target safety processing strategy here It is called the target safety processing strategy
  • the method shown in FIG. 4 can be used for safety protection processing to improve the safety protection capability of the robot.
  • FIG. 4 is a schematic flowchart of a safety protection method for a robot provided in an embodiment of the application. As shown in FIG. 4, the safety protection method provided in this embodiment may include the following steps:
  • the motor controller can obtain the operating data of the motor in real time, and determine the safety status of the motor according to the operating data of the motor, so as to protect the motor safely.
  • each motor in the robot can feed back operating data to the motor controller in a preset sampling period (for example, 20ms), that is, for each motor, the motor controller can obtain it every sampling period.
  • the operating data of the motor in this embodiment, the motor controller may use subsequent steps to perform safety detection and safety processing on the motor after acquiring the operating data of the motor each time.
  • the operating data obtained by the motor controller from the motor may include: the current, speed, and position of the motor.
  • the motor controller may first perform the operation data after obtaining the operating data of the motor. The data is filtered and then tested for safety. For example, according to the sampling burr of the current, a filtering algorithm (such as a statistical sorting filtering algorithm) can be used to digitally filter the current to filter out the current burr.
  • a filtering algorithm such as a statistical sorting filtering algorithm
  • the motor controller can perform first-order overload detection on the motor first.
  • specific overload detection ie, first-order overload detection
  • the motor controller can determine whether the motor is overloaded according to whether the current of the motor exceeds the current overload threshold; in order to improve the accuracy of the detection result, in this embodiment, the motor can be The situation where the current exceeds the current overload threshold is called the pre-overload state.
  • the motor controller can count the duration of the motor in the pre-overload state, and determine whether the duration exceeds the overload detection time window (herein referred to as the first preset duration). Determine if the motor is overloaded.
  • the first preset duration can be set as required, which is not particularly limited in this embodiment.
  • FIG. 5 of the present application schematic overload detection time window is provided in the embodiment shown in Figure 5, the current a schematic view of the motor changes, it is assumed before the clock time t, the motor current I is less than equal to the current overload threshold I Thres, t 1 time
  • the current I of the motor exceeds the current overload threshold I Thres , that is, the motor is in a pre-overload state, and the current I of the motor is detected within the overload detection time window T (ie, t 2 -t 1 ) between time t 1 and time t 2
  • T ie, t 2 -t 1
  • the motor's operating data can be combined with the motor's operating data. Overload detection is performed on current and speed to improve the accuracy of overload detection results.
  • the current overload threshold can be determined according to the speed of the motor, and then overload detection is performed accordingly. That is, the motor controller first determines the current overload threshold according to the speed of the motor in the operating data after acquiring the operating data of the motor once, and then determines the current overload threshold according to the current of the motor in the operating data and the current overload threshold determined in real time. Whether the motor is in the pre-overload state; then, when it is determined that the motor is in the pre-overload state (that is, the current of the motor is greater than the current overload threshold), determine whether the duration of the motor in the pre-overload state exceeds the first preset duration, if so, you can Make sure that the motor is overloaded, otherwise continue to perform overload detection.
  • the current overload threshold can be set as a linear function of the speed, corresponding to The formula can be expressed as:
  • I Thres represents the current overload threshold
  • v Max represents the maximum speed of the motor
  • v represents the speed of the motor obtained
  • I Th1 represents the ideal current that triggers the overload when the motor is stationary
  • I Th2 represents the overload that triggers the overload when the motor reaches the maximum speed. Ideal current.
  • the overload classification model of the motor can be used to distinguish the overload classification of the motor.
  • the training process of the overload classification model is described below.
  • the training process of the overload classification model of each motor is similar.
  • the training process of the overload classification model of a single motor is taken as an example for description.
  • FIG. 7 is a schematic diagram of the training principle of the overload classification model provided by the embodiment of the application.
  • the overload data when the motor is overloaded can be collected as a training sample to obtain a training containing multiple training samples
  • Sample set After feature extraction of each training sample, the initial overload classification model to be trained is trained to obtain the overload classification model of the motor.
  • the Novelty Detection method in machine learning can be used for model training.
  • the training sample corresponding to this method The set contains only training samples with a single label, and the trained model can perform two-class recognition.
  • the abnormal point detection method may use a single classification algorithm or a clustering algorithm, etc.
  • a single classification algorithm is preferably used to reduce training complexity.
  • the initial overload classification model may be a single classification model
  • the training samples of the motor may be training samples corresponding to the external overload, that is, the sample data collected when the external overload occurs in the motor.
  • the single classification algorithm used in the single classification model can be a single classification support vector machine (One Class Support Vector Machine, OCSVM) algorithm or a support vector domain description (Support Vector Domain Description, SVDD) and other single classification algorithms based on support vectors. It can be an isolation forest (Isolation Forest) algorithm or a neural network-based single classification algorithm, etc.
  • OCSVM One Class Support Vector Machine
  • SVDD Support Vector Domain Description
  • isolation forest isolation forest
  • neural network-based single classification algorithm etc.
  • the training samples corresponding to each external overload in the training sample set can include: the latest M groups of motor operating data obtained when the external overload occurs in the motor, where each group of motor operating data includes the operating data of all motors, M Is a positive integer.
  • the external overload of the motor can be artificially triggered, and then the overload can be detected by the first-order overload detection method.
  • the time when the overload is detected is t
  • the most recently obtained before time t can be M samples of motor data (including the running data of all motors) are used as training samples.
  • the motor sampling data acquired in a time period closest to time t may be used as the training sample, and the time period may be determined according to the sampling period and the number of sets of motor operating data required for the training sample.
  • the value of M can be selected according to needs, which is not particularly limited in this embodiment.
  • each training sample can be represented by an M ⁇ 2N-dimensional matrix, as shown below:
  • I MN represents the current of the Nth motor in the M group
  • represents the absolute value of the position change of the Nth motor in the M group
  • N is a positive integer.
  • the matrix can include the absolute value data of the position change of the M-1 group of motors, and the current data of the motor can be selected as the group M. Or M-1 group; or M+1 group motor running data can be obtained when the training samples are obtained, and the absolute value data of the position change of the M group motor can be generated.
  • the current data of the motor can be selected from the M group or the M+1 group. In the specific implementation, these can be selected according to needs.
  • Figure 7 is only to determine the absolute value of the position change in the process of obtaining the training sample.
  • the matrix includes the current and the absolute value of the position change data of the M groups of motors as an example for illustration. .
  • the feature vector of each training sample can be extracted according to each group of motor operating data in each training sample to reduce the data dimension.
  • the average value, standard deviation, and maximum value of the absolute value of the current and position changes of each motor can be extracted to form a 1 ⁇ 6N-dimensional feature vector:
  • I Nmean represents the average value of the M group current of the Nth motor
  • I Nstd represents the standard deviation of the M group current of the Nth motor
  • I Nmax represents the maximum value of the M group current of the Nth motor
  • Nmean represents the average value of the absolute value of the M group position change of the Nth motor
  • Nstd represents the standard deviation of the absolute value of the M group position change of the Nth motor
  • Nmax represents the M group position of the Nth motor The maximum value of the absolute value of the change.
  • the average, standard deviation, and maximum value of the absolute value of current and position changes can more comprehensively reflect the overall change of the current and position of the motor, and the corresponding training overload classification model is also more accurate.
  • other feature values can also be extracted, for example: other features such as the minimum or variance of the absolute value of the motor current and position change, the feature vector of the motor current and speed, the feature vector can include more than the above three Feature values with more or less feature values are not particularly limited in this embodiment.
  • these feature vectors can be used to train the single classification model to be trained to obtain the overload classification model of the motor.
  • the test sample set can be constructed at the same time as the training sample set, or a part of the training samples in the training sample set can be used as the test sample set; in specific training, the feature vector of the training sample in the training sample set can be input into the single classification model Perform training to establish a preliminary overload classification model; then you can use the test sample set and preset loss function to evaluate the preliminarily established overload classification model, modify the parameters of the overload classification model according to the evaluation results, and repeat the above evaluation steps until Until the modified overload classification model meets the evaluation requirements, the overload classification model that meets the evaluation requirements is the final trained overload classification model.
  • overload classification models of each motor After training the overload classification models of each motor, these overload classification models can be used to obtain the overload classification of the motor.
  • the feature vector to be recognized can be extracted according to the recently obtained M group of motor operating data, and then the to be recognized
  • the characteristic vector of is input into the overload classification model of the motor for identification, and it is determined whether the overload category of the motor is an external cause overload or an internal cause overload.
  • FIG. 8 is a schematic flowchart of the external cause overload safety processing process provided by an embodiment of the application, as shown in FIG. , When it is obtained that the motor is overloaded by external factors, the following overload safety handling strategies can be implemented:
  • the motion of all motors can be stopped first, and the motion commands of all motors can be temporarily shielded, so as to protect people or objects in time and avoid further damage to the robot.
  • the target motor group includes all motors in the series kinematic chain to which the overloaded motor belongs.
  • the series kinematic chain refers to a relatively movable system formed by connecting two or more components through a kinematic pair, such as :
  • An arm of a humanoid robot ie, an arm assembly 3 shown in Figure 1 is a series kinematic chain. If the motor that is overloaded is a motor in an arm, the target motor group includes the arm in that arm. All motors.
  • step S142 all motors in the control target motor group are offline, and there is no strict time sequence execution relationship with the motion instructions that shield all motors.
  • the two can be executed sequentially or simultaneously. This implementation The example does not specifically limit this.
  • an overload prompt may be performed to remind the user that the motor is overloaded.
  • the overload prompt may include voice prompts and/or facial expression prompts. For example, when the motor in the right arm is overloaded, the voice prompt "My right arm hurts" can be voiced, and a sad facial expression can be displayed.
  • the force of the target motor group can be continuously detected to determine whether the target motor group may continue to be overloaded. For example: the user moves the target motor group to cause the motor to be overloaded. After the target motor group is unloaded, the user may continue to move the target motor group. At this time, the target motor group can continue to remain offline until the target motor group is no longer detected Up to force. This can reduce the secondary overload caused by the user's continued movement, save the processing resources required for secondary overload detection, and at the same time reduce the frequent execution of overload safety processing, and improve the robot's anthropomorphic performance capabilities.
  • the force condition of the target motor group can be determined through the position change feedback of the target motor group.
  • the sum of the absolute value of the position change of the motor can be determined according to the position of the motor in the preset time period recently obtained; then the absolute value of the motor position can be determined according to the The sum of the absolute value of the position change determines the total position change of the target motor group.
  • the force of the target motor group is determined. When the position threshold is set, it is determined that the target motor group is under force; when the total position change is less than the preset position threshold, it is determined that the target motor group is not under force.
  • the specific value of the preset time period can be set as required, for example, it can be 3s; similarly, the size of the preset position threshold can also be set as required, which is not particularly limited in this embodiment.
  • the position of a certain motor in the preset time period acquired recently subtract the position acquired last time from the position acquired last time and then take the absolute value, you can get the absolute value of a position change of the motor, and set the preset time
  • the absolute value of each position change of the motor in the segment is accumulated, that is, the sum of the absolute value of the position change of the motor is obtained; the total position change of the target motor group can be obtained by accumulating the sum of the absolute value of the position change of each motor in the target motor group quantity.
  • the target motor group is under force
  • the offline state of the target motor group can be maintained; if it is detected that the target motor group is not under force, then It means that the joints corresponding to the target motor group have stopped being moved.
  • all motors in the target motor group can be enabled, and then all motors can be controlled to slowly move back to their initial positions to facilitate the robot to restart and work normally.
  • the motion command of the motor is in a shielded state, which can prevent the enable command from conflicting with the motion command, thereby improving the stability of the robot's work.
  • the shielding of the motion commands of all motors can be lifted, so that the motors of the robot can return to normal motion.
  • the motor controller integrates the functions of the central controller, the motor's motion instructions are generated by the motor controller. At this time, the motor controller may not execute the motion instructions during the overload safety process. For the shielding and unshielding operations, you only need to not generate other motion instructions before enabling the motor.
  • Internal overload is generally caused by abnormal internal structure, such as structural aging and increased friction. After the robot has been used for a long time, more internal overload protection will be triggered. Therefore, in order to reduce the impact of excessive internal overload protection on the user's use , Can continue to maintain the current movement of the robot when the internal cause overload occurs; at the same time, in order to facilitate the later engineers to trace back and optimize the internal cause overload situation, when the internal cause overload of the motor is detected, the overload information can be recorded, among which, the overload information It can include multiple types of information: the motor number, current, position, and overload occurrence time of the motor.
  • the motor may be blocked by an external object and cause the internal cause overload
  • the user can be prompted to check whether the structure of the joint where the motor is located is abnormal. Handle the abnormally heavy structure in time and protect the robot structure.
  • the third-order overload detection can be used to deal with these situations to further improve the safety of the robot. Protection ability.
  • a fixed preset current threshold and a third-order overload detection time window can be used to determine whether the motor has a third-order overload, so as to reduce the complexity of the algorithm, thereby reducing An abnormal program problem occurred.
  • the third-order overload detection when the third-order overload detection is performed, it can be determined whether the current of the motor is greater than the preset current threshold. When the current of the motor is greater than the preset current threshold, it is determined that the current of the motor is greater than the preset current threshold. Set whether the duration of the current threshold exceeds the second preset duration, if so, it can be determined that the motor has a third-order overload, and then the third-order overload safety processing can be performed; otherwise, the third-order overload detection can be continued.
  • the second preset duration may be the same as or different from the first preset duration in the first-level overload detection, and may be specifically set according to actual needs, which is not particularly limited in this embodiment.
  • the preset current threshold can be slightly lower than the locked-rotor current of the motor to avoid false detection; at the same time, the preset current threshold can be greater than the current overload threshold corresponding to the maximum speed of the motor (that is, I Th2 ), so that under normal circumstances,
  • the first-order overload detection and the second-order overload detection will be triggered first when the external cause is overloaded; because after the first-order overload detection and the second-order overload detection are triggered, the motor will be unloaded during the external overload safety handling, so it will not continue under normal circumstances Trigger the third-order overload detection, and only perform the third-order overload detection when the first-order overload detection or the second-order overload detection fails. That is to say, in the case of external overload, the third-order overload detection can be detected when the first-order overload detection or the second-order overload detection fails, and then relevant safety treatments are performed, which can improve the safety protection capability of the robot.
  • the overload safety processing strategy (referred to herein as the target safety processing strategy) executed after the third-order overload is detected is similar to the overload safety processing strategy corresponding to the external cause overload.
  • the user can be prompted to check whether the structure of the robot is abnormal, and the serious internal overload caused by wire entanglement can be eliminated, and the fault data can be uploaded to the server, and the engineer can remotely check whether it is caused by a system problem.
  • First-order overload detection and second-order overload detection fail. Before uploading the fault data, the user can also be asked by voice and/or text whether to agree to upload the fault data to the server. When the user’s consent instruction is received, the fault data will be uploaded to the server to improve human-computer interaction. Experience degree.
  • the third-order overload detection running in the motor controller.
  • the third-order overload detection can also run in the motor. Because the motor's operating environment is stable and it is difficult to tamper with the program, The implementation of the third-order overload detection in the motor can improve the safety and stability of the third-order overload detection.
  • the three-level overload detection process performed in the motor is consistent with the above-mentioned three-level overload detection process, and will not be repeated here.
  • the motor detects the third-order overload, it can send an overload alarm message to the motor controller. After receiving the overload alarm message, the motor controller can execute the above-mentioned target safety processing strategy to protect the motor.
  • the safety protection method of the robot performs first-order overload detection on the motor based on the changing current overload threshold.
  • the second-order overload detection is performed on the motor through the pre-trained overload classification model to further distinguish the motors.
  • this method uses a preset current threshold higher than the maximum current overload threshold to perform a further three-stage overload detection on the motor.
  • the target safety processing strategy is adopted, so that it can deal with the failure of the first-order and second-order overload detection and the occurrence of serious internal cause overload, and improve the safety protection ability of the robot.
  • an embodiment of the present application provides a safety protection device for a robot.
  • the details in the embodiments will be repeated one by one, but it should be clear that the device in this embodiment can correspondingly implement all the content in the foregoing method embodiments.
  • FIG. 9 is a schematic structural diagram of a safety protection device for a robot provided in an embodiment of the application.
  • the device provided in this embodiment may include: an acquisition module 210, a first-order overload detection module 220, and a second-order overload detection module 230 , The third-order overload detection module 240 and the overload safety processing module 250, of which:
  • the acquisition module 210 is used to support the robot to perform S110 in the above-mentioned embodiment and/or other processes of the technology described herein.
  • the first-order overload detection module 220 is used to support the robot to perform S120 in the above-mentioned embodiment and/or other processes of the technology described herein.
  • the second-order overload detection module 230 is used to support the robot to perform S130 in the foregoing embodiment and/or other processes of the technology described herein.
  • the third-order overload detection module 240 is used to support the robot to perform the operation of detecting whether the current of the motor is greater than the preset current threshold in S150 in the above embodiment and the duration exceeds the second preset duration and/or other technologies described herein process.
  • the overload safety processing module 250 is used to support the robot to execute the operation of executing the target safety processing strategy in S140 and S150 in the above-mentioned embodiment and/or other processes of the technology described herein.
  • the device provided in this embodiment can execute the foregoing method embodiments, and its implementation principles and technical effects are similar, and will not be repeated here.
  • the embodiments of the present application also provide a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the method described in the foregoing method embodiment is implemented.
  • the embodiments of the present application also provide a computer program product.
  • the computer program product runs on a robot, the robot executes the method described in the above method embodiment.
  • An embodiment of the present application also provides a chip system including a processor, which is coupled with a memory, and the processor executes a computer program stored in the memory to implement the method described in the foregoing method embodiment.
  • the chip system can be a single chip or a chip module composed of multiple chips.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium.
  • the computer instructions can be sent from a website site, computer, server, or data center to another website site, computer, Server or data center for transmission.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (such as a floppy disk, a hard disk, or a tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
  • the process can be completed by a computer program instructing relevant hardware.
  • the program can be stored in a computer readable storage medium. , May include the processes of the above-mentioned method embodiments.
  • the aforementioned storage media may include various media capable of storing program codes, such as ROM or random storage RAM, magnetic disks, or optical disks.
  • the disclosed apparatus/equipment and method may be implemented in other ways.
  • the device/equipment embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or Components can be combined or integrated into another system, or some features can be omitted 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 term “if” can be construed as “when” or “once” or “in response to determination” or “in response to detecting “.
  • the phrase “if determined” or “if detected [described condition or event]” can be interpreted as meaning “once determined” or “in response to determination” or “once detected [described condition or event]” depending on the context ]” or “in response to detection of [condition or event described]”.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

一种机器人的安全防护方法,该方法包括:获取机器人中各电机的运行数据;对每个电机进行过载检测,若检测到该电机过载,则根据该电机的运行数据和预先训练的该电机的过载分类模型,获取该电机的过载类别,并根据过载类别执行对应的过载安全处理策略。以及一种机器人的安全防护装置,一种机器人以及一种计算机可读存储介质。该机器人的安全防护方法、装置与机器人可以提高机器人的安全防护能力,并提升机器人的拟人化表现能力。

Description

机器人的安全防护方法、装置与机器人
本申请要求于2020年05月19日提交国家知识产权局、申请号为202010425990.9、申请名称为“机器人的安全防护方法、装置与机器人”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人的安全防护方法、装置与机器人。
背景技术
随着计算机技术和机器人技术的发展,人与机器人交互(Human Robot Interaction,HRI)已经逐渐发展成为一个独立的研究领域。基于HRI的相关法则,机器人在人机交互过程中,应具有保护自己的能力。
目前,拥有人机交互能力的机器人多为商用机器人和消费机器人,尤其是消费机器人中用于陪伴教育小孩和陪伴老人的家庭机器人,在使用这类机器人的过程中,人类会与机器人频繁产生物理接触,比如握住机器人胳膊或抱起机器人等。在这些场景中,机器人的关节运动会被阻挡,如果是人,此时会因为感受到阻碍或过高反抗阻力而停下当前运动,并决策下一步如何处理,以保护自己。因此,如果机器人也可以拥有上述人类的反应能力,那么不仅可以保护自己,还可以使得机器人的表现更加拟人化。为了实现上述保护能力和拟人化表现能力,目前许多机器人都具有过载检测能力,通过该过载检测能力识别机器人各关节感受到的阻碍,在阻碍过大的情况下采取相关的安全处理策略。
但是,目前的机器人的过载检测能力有限,对应的安全处理策略也较为单一,因而导致机器人的拟人化表现能力有限。
发明内容
有鉴于此,本申请提供一种机器人的安全防护方法、装置与机器人,用于提高机器人的拟人化表现能力。
为了实现上述目的,第一方面,本申请实施例提供一种机器人的安全防护方法,包括:
获取机器人中各电机的运行数据;
对每个电机执行过载检测;
当检测到所述电机过载,则根据所述电机的运行数据和预先训练的所述电机的过载分类模型,获取所述电机的过载类别,并根据所述过载类别执行对应的过载安全处理策略。
本实施例提供的机器人的安全防护方法,在获取到电机的运行数据后,先对每个电机进行一阶过载检测,在检测到电机过载时,通过预先训练的过载分类模型对电机进行进一步的二阶过载检测,区分电机的过载类型,然后采用对应的过载安全处理策略,这样可以提升机器人的拟人化表现能力。
在第一方面的一种可能的实施方式中,所述对每个电机执行过载检测,包括:
对于每个电机,根据电机的速度确定电流过载阈值;
当电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
当所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机过载。
上述实施方式中,基于变化的电流过载阈对电机进行一阶过载检测,可以提高一阶过载检测的准确性。
在第一方面的一种可能的实施方式中,所述根据所述电机的速度确定电流过载阈值,包括:
采用如下公式确定所述电机的电流过载阈值:
Figure PCTCN2021082618-appb-000001
其中,I Thres表示电流过载阈值,v Max表示所述电机的最大速度,v表示获取的所述电机的速度,I Th1表示在所述电机静止时触发过载的理想电流,I Th2表示在所述电机达到最大速度时触发过载的理想电流。
上述实施方式中,采用上述公式确定电机的电流过载阈值,可以提高确定的电流过载阈值的准确性。
在第一方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述电机的过载分类模型是基于训练样本集训练获得的,其中,所述训练样本集中包括多次外因过载对应的训练样本,每次外因过载对应的训练样本中包括在所述电机发生所述外因过载的情况下最近获取的M组电机运行数据,每组电机运行数据中包括所有电机的运行数据,M为正整数;
训练方法包括:根据每个训练样本中的各组电机运行数据提取每个训练样本的特征向量;采用各个训练样本的特征向量对待训练的单分类模型进行训练,得到所述电机的过载分类模型;
则所述根据所述电机的运行数据和预先训练的所述电机的过载分类模型,获取所述电机的过载类别,包括:
根据最近获取的M组电机运行数据提取待识别的特征向量;
将待识别的特征向量输入所述电机的过载分类模型进行识别,获取所述电机的过载类别。
通过采用单分类模型,可以降低训练复杂度。
在第一方面的一种可能的实施方式中,所述运行数据包括电机的电流和位置,所述特征向量包括每个电机的电流特征和位置特征,其中,所述电流特征包括电流的平均值、标准差和最大值中的多个,所述位置特征包括位置变化绝对值的平均值、标准差和最大值中的多个。上述特征向量中,电流和位置变化绝对值的平均值、标准差和最大值,可以较为全面的反映电机的电流和位置的整体变化情况,通过采用上述特征向量,可以提高训练的过载分类模型和获取的过载类别的准确性。
在第一方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述根据所述过载类别执行对应的过载安全处理策略,包括:
若所述过载类别为外因过载,则控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
通过控制所有电机停止运动,可以及时对人或物体进行保护;通过控制目标电机组中的所有电机处于脱机状态,可以使目标电机组自动活动而不至于被损坏;通过进行过载提示,可以提醒用户,并提升机器人的拟人化表现能力;通过检测所述目标电机组的受力情况,在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置,可以减少由于用户的继续掰动而引起二次过载的情况,节省进行二次过载检测所需的处理资源,同时可以减少过载安全处理频繁执行的情况,提升机器人的拟人化表现能力。
在第一方面的一种可能的实施方式中,在所述检测所述目标电机组的受力情况之前,所述方法还包括:
屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,所述方法还包括:
解除对所有电机的运动指令的屏蔽。
通过屏蔽所有电机的运动指令,可以避免对机器人造成进一步伤害,并可以防止使能指令与运动指令发生冲突,从而可以提高机器人工作的稳定性。
在第一方面的一种可能的实施方式中,所述检测所述目标电机组的受力情况,包括:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
在第一方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述根据所述过载类别执行对应的过载安全处理策略,包括:
若所述过载类别为内因过载,则记录过载信息,所述过载信息包括下列信息中的多种:所述电机的电机编号、电流、位置和过载发生时间。
通过上述内因过载安全处理过程,可以减少过多的内因过载保护对用户使用产生的影响,同时可以方便后期工程师进行回溯,优化内因过载情况。
在第一方面的一种可能的实施方式中,所述方法还包括:若所述电机在同一位置连续发生内因过载,则提示用户检查所述电机所在关节的结构是否异常。这样可以及时处理结构异常较重的情况,对机器人结构进行保护。
在第一方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述方法还包括:对于每个电机,在满足预设检测条件的情况下,若检测到所述电机的电流大于预设电流阈值,且持续时间超过第二预设时长,则执行目标安全处理策略,其中,所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的过载类别为内因过载。
上述实施方式中,采用高于最大电流过载阈值的预设电流阈值,对电机进行进一步的 三阶过载检测,并在检测到电机过载时采用目标安全处理策略,这样可以应对一阶、二阶过载检测失效的情况和发生严重内因过载的情况,提升机器人的安全防护能力。
在第一方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述方法还包括:
对于每个电机,在满足预设检测条件的情况下,若接收到所述电机发送的过载报警消息,则执行目标安全处理策略,其中,所述过载报警消息是所述电机在检测到电流大于预设电流阈值,且持续时间超过第二预设时长的情况下发送的,其中,所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的过载类别为内因过载。
上述实施方式中,采用高于最大电流过载阈值的预设电流阈值,对电机进行进一步的三阶过载检测,并在检测到电机过载时采用目标安全处理策略,这样可以应对一阶、二阶过载检测失效的情况和发生严重内因过载的情况,提升机器人的安全防护能力;并且在电机中执行三阶过载检测,由于电机的运行环境稳定,难以被篡改程序,因而在电机中执行三阶过载检测可以提高三阶过载检测的安全性和稳定性。
在第一方面的一种可能的实施方式中,所述执行目标安全处理策略,包括:
执行外因过载对应的过载安全处理策略;
提示用户检查所述机器人的结构是否异常,并将故障数据上传至服务端。
第二方面,本申请实施例提供一种机器人的安全防护装置,包括:获取模块、一阶过载检测模块、二阶过载检测模块和过载安全处理模块,其中:
所述获取模块用于:获取机器人中各电机的运行数据;
所述一阶过载检测模块用于:对每个电机执行过载检测;
所述二阶过载检测模块用于:当一阶过载检测模块检测到所述电机过载时,根据所述电机的运行数据和预先训练的所述电机的过载分类模型,获取所述电机的过载类别;
所述过载安全处理模块用于:根据所述过载类别执行对应的过载安全处理策略。
在第二方面的一种可能的实施方式中,所述一阶过载检测模块具体用于:
对于每个电机,根据电机的速度确定电流过载阈值;
当电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
当所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机过载。
在第二方面的一种可能的实施方式中,所述一阶过载检测模块具体用于:
采用如下公式确定所述电机的电流过载阈值:
Figure PCTCN2021082618-appb-000002
其中,I Thres表示电流过载阈值,v Max表示所述电机的最大速度,v表示获取的所述电机的速度,I Th1表示在所述电机静止时触发过载的理想电流,I Th2表示在所述电机达到最大速度时触发过载的理想电流。
在第二方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述电机的过载分类模型是基于训练样本集训练获得的,其中,所述训练样本集中包括多次外因过载对应的训练样本,每次外因过载对应的训练样本中包括在所述电机发生所述外因过载 的情况下最近获取的M组电机运行数据,每组电机运行数据中包括所有电机的运行数据,M为正整数;
训练方法包括:根据每个训练样本中的各组电机运行数据提取每个训练样本的特征向量;采用各个训练样本的特征向量对待训练的单分类模型进行训练,得到所述电机的过载分类模型;
则所述二阶过载检测模块具体用于:
根据最近获取的M组电机运行数据提取待识别的特征向量;
将待识别的特征向量输入所述电机的过载分类模型进行识别,获取所述电机的过载类别。
在第二方面的一种可能的实施方式中,所述运行数据包括电机的电流和位置,所述特征向量包括每个电机的电流特征和位置特征,其中,所述电流特征包括电流的平均值、标准差和最大值中的多个,所述位置特征包括位置变化绝对值的平均值、标准差和最大值中的多个。
在第二方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述过载安全处理模块具体用于:
若所述过载类别为外因过载,则控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
在第二方面的一种可能的实施方式中,所述过载安全处理模块还用于:
在所述检测所述目标电机组的受力情况之前,屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,解除对所有电机的运动指令的屏蔽。
在第二方面的一种可能的实施方式中,所述过载安全处理模块具体用于:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
在第二方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述过载安全处理模块具体用于:
若所述过载类别为内因过载,则记录过载信息,所述过载信息包括下列信息中的多种:所述电机的电机编号、电流、位置和过载发生时间。
在第二方面的一种可能的实施方式中,所述过载安全处理模块还用于:若所述电机在同一位置连续发生内因过载,则提示用户检查所述电机所在关节的结构是否异常。
在第二方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述装置还包括:
三阶过载检测模块,用于对于每个电机,在满足预设检测条件的情况下,若检测到所 述电机的电流大于预设电流阈值,且持续时间超过第二预设时长,则指示所述过载安全处理模块执行目标安全处理策略,其中,所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的过载类别为内因过载。
在第二方面的一种可能的实施方式中,所述过载类别为外因过载或内因过载,所述装置还包括:
三阶过载检测模块,用于对于每个电机,在满足预设检测条件的情况下,若接收到所述电机发送的过载报警消息,则指示所述过载安全处理模块执行目标安全处理策略,其中,所述过载报警消息是所述电机在检测到电流大于预设电流阈值,且持续时间超过第二预设时长的情况下发送的,其中,所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的过载类别为内因过载。
在第二方面的一种可能的实施方式中,所述过载安全处理模块具体用于:
执行外因过载对应的过载安全处理策略;
提示用户检查所述机器人的结构是否异常,并将故障数据上传至服务端。
第三方面,本申请实施例提供一种机器人,包括:存储器、处理器和电机,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法,所述电机用于向所述处理器反馈运行数据。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述第一方面或第一方面的任一实施方式所述的方法。
第六方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一实施方式所述的方法。其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的机器人的结构示意图;
图2为本申请实施例提供的机器人的硬件结构示意图;
图3为本申请实施例提供的机器人的安全防护方法的原理示意图;
图4为本申请实施例提供的机器人的安全防护方法的流程示意图;
图5为本申请实施例提供的过载检测时间窗的示意图;
图6为本申请实施例提供的电流过载阈值与速度的关系示意图;
图7为本申请实施例提供的过载分类模型的训练原理示意图;
图8为本申请实施例提供的外因过载安全处理过程的流程示意图;
图9为本申请实施例提供的机器人的安全防护装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请实施例的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
下面先介绍本申请实施例涉及的机器人。本实施例涉及的机器人可以是商用机器人或消费机器人,也可以是工业机器人或特种机器人等机器人,本实施例中以消费机器人为例进行示例性说明。请参阅图1和图2,图1为本申请实施例提供的机器人的结构示意图,图2为本申请实施例提供的机器人的硬件结构示意图。
如图1所示,机器人可以包括躯体组件1、头部组件2、手臂组件3和腿部组件4,手臂组件3和腿部组件4均包括两个,头部组件2、手臂组件3和腿部组件4分别与躯体组件1连接,并且可以相对躯体组件1转动;每个组件可以包括多个关节,例如:手臂组件3可以包括上臂、下臂和手部三个关节,腿部组件4可以包括大腿、小腿和脚部三个关节,当然此处只是一种示例,手臂组件3和腿部组件4也可以包括更多或更少的关节,腿部组件4也可以增加或更改为驱动轮组件,每个驱动轮可以由电机驱动;每个关节的运动可以通过至少一个电机进行驱动。
如图2所示,机器人内部的电路模块可以包括如下电子器件:处理器110,电机120,外部存储器接口131,内部存储器132,通用串行总线(Universal Serial Bus,USB)接口140,充电管理模块150,电源管理模块151,电池152,无线通信模块160,音频模块170,扬声器171,麦克风172,传感器模块180,按键190,指示器191,摄像头192和显示屏193等。其中,传感器模块180可以包括压力传感器181,陀螺仪传感器182,加速度传感器183,接近光传感器184,环境光传感器185,指纹传感器186,温度传感器187,触摸传感器188等。其中,电机120包括多个,位于机器人的各个关节中;扬声器171、麦克风172、指示器191和摄像头192可以设置在头部组件2中;显示屏193可以包括多个,可以均设置在头部组件2中,也可以部分设置在躯体组件1中,例如可以在头部组件2中设置用于显示表情或用于触控交互的显示屏,在躯体组件1中设置用于显示图像和视频和/或用于触控交互的显示屏;其余的电子器件均可以设置在躯体组件1中。
可以理解的是,本发明实施例示意的结构并不构成对机器人的具体限定。在本申请另一些实施例中,机器人可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括中央控制器和电机控制器,还可以包括:应用处理器(Application Processor,AP)、图形处理器(Graphics Processing Unit,GPU)、图像信号处理器(Image Signal Processor,ISP)、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,中央控制器可以是机器人的神经中枢和指挥中心,其可以接收其他处理单元和外围电子器件反馈的数据,以及其他电子设备发送的数据,并生成对应的控制指令。其中,控制指令可以包括用于控制电机120运动的运动指令,例如前进指令、后退指令、左转指 令和右转指令等;控制指令还可以包括用于控制其他外围电子器件(例如摄像头192和显示屏193等)的指令等。
电机控制器可以根据中央控制器发送的运动指令控制各电机运转,以带动所属的关节完成相应的运动;电机可以以预设的采样周期向电机控制器反馈电机的运行数据,电机控制器可以根据电机反馈的运行数据确定电机的运行状态,决策机器人下一步的动作。其中,电机的运行数据可以包括:电机的电流、速度和位置等数据。
为了提高机器人的安全防护能力,并提升机器人的拟人化表现能力,本实施例中,电机控制器获取到电机的运行数据后,可以根据电机的运行数据对电机进行安全防护处理。具体的安全防护处理过程可以参见后续的方法实施例,此处不再赘述。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(Inter-Integrated Circuit,I2C)接口,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)接口,移动产业处理器接口(Mobile Industry Processor Interface,MIPI),通用输入输出(General-Purpose Input/Output,GPIO)接口,和/或通用串行总线(Universal Serial Bus,USB)接口等。
处理器110可以通过不同的I2C总线接口分别耦合触摸传感器188,充电器,摄像头192等;通过UART接口与无线通信模块160通信;通过MIPI接口连显示屏193,摄像头192等外围器件。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头192,显示屏193,无线通信模块160,音频模块170,传感器模块180等。
USB接口140是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口140可以用于连接充电器为机器人充电,也可以用于机器人与外围设备之间传输数据。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对机器人的结构限定。在本申请另一些实施例中,机器人也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块150用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块150可以通过USB接口140接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块150可以通过机器人的无线充电线圈接收无线充电输入。充电管理模块150为电池152充电的同时,还可以通过电源管理模块151为电子设备供电。
电源管理模块151用于连接电池152,充电管理模块150与处理器110。电源管理模块151接收电池152和/或充电管理模块150的输入,为处理器110、内部存储器32、外部存储器、显示屏193、摄像头192和无线通信模块160等供电。电源管理模块151还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块151也可以设置于处理器110中。在另一些实施例中,电源管理模块151和充电管理模块150也可以设置于同一个器件中。
无线通信模块160可以提供应用在机器人上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)、全球导航卫星系统(Global Navigation Satellite System,GNSS),调频(Frequency  Modulation,FM)、近距离无线通信技术(Near Field Communication,NFC)、红外技术(Infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
机器人可以通过GPU、显示屏193和应用处理器等实现显示功能,通过ISP、摄像头192、视频编解码器、GPU、显示屏193和应用处理器等实现拍摄功能。
外部存储器接口131可以用于连接外部存储卡,例如Micro SD卡,实现扩展机器人的存储能力。外部存储卡通过外部存储器接口131与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器32可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器32的指令,从而执行机器人的各种功能应用以及数据处理。内部存储器32可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储机器人使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。
机器人可以通过音频模块170,扬声器171,麦克风172,以及应用处理器等实现音频功能。例如音乐播放、语音识别和录音等。
压力传感器181用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器181可以设置于显示屏193中。在一些实施例中,压力传感器181可以与陀螺仪传感器182和加速度传感器183一起,用于确定机器人的运动姿态。
接近光传感器184可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。机器人通过发光二极管向外发射红外光。机器人使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定机器人附近有物体。当检测到不充分的反射光时,机器人可以确定机器人附近没有物体。
环境光传感器185用于感知环境光亮度。机器人可以根据感知的环境光亮度自适应调节显示屏193亮度。环境光传感器180L也可用于拍照时自动调节白平衡。
指纹传感器186用于获取指纹,机器人可以利用获取的指纹特性实现指纹解锁等。
温度传感器187用于检测温度。在一些实施例中,机器人利用温度传感器180J检测的温度,执行温度处理策略。
触摸传感器188,也称“触控面板”。触摸传感器188可以设置于显示屏193,由触摸传感器188与显示屏193组成触摸屏,也称“触控屏”。触摸传感器188用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏193提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器188也可以设置于机器人的表面,与显示屏193所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。机器人可以接收按键输入,产生与机器人的用户设置以及功能控制有关的键信号输入。
指示器191可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示机器 人工作状态和通知等。
以下实施例中所涉及的技术方案均可以在具有上述硬件结构的机器人中实现。
下面对本申请实施例提供的安全防护方法进行说明。其中,执行该安全防护方法的执行主体可以是机器人中的处理器,该处理器具体可以是电机控制器,也可以是集成有电机控制器的功能的其他处理单元,本实施例中以处理器为电机控制器为例进行示例性说明。
为了便于理解,下面先对本申请实施例提供的安全防护方法的原理进行简要说明。
图3为本申请实施例提供的机器人的安全防护方法的原理示意图,如图3所示,本申请实施例中,对于机器人中的每个电机来说,其过载检测过程可以包括如下几个阶段:一阶过载检测、二阶过载检测和三阶过载检测。
其中,一阶过载检测主要用于区分电机正常运动和受到较大阻力的情况,其通过变化的电流过载阈值检测电机是否过载,来初步筛选出过载事件(即电机受到较大阻力的情况)。
在实际应用中,使电机受到较大阻力(即电机过载)的原因可以包括外因和内因,其中,外因包括人为掰动电机关节或电机关节打到外在障碍物等,内因通常由内部结构异常引起,如结构老化摩擦增大、电线缠绕或坚硬异物进入机器人卡住传动结构等。对于不同原因引起的过载,若都归为一类过载,进行过载保护处理时采取同一过载安全处理策略,则在发生内因过载(即内因引起的过载)时容易出现用户不清楚为何触发过载保护的情况,从而会降低人机交互体验度和机器人的拟人化表现能力。基于此,本实施例中,通过二阶过载检测进一步对电机过载的情况进行区分。
具体的,二阶过载检测通过预先训练的过载分类模型,区分一阶过载检测的过载事件是内因过载还是外因过载,并针对不同的过载类别采取不同的过载安全处理策略,即在发生内因过载时,进行内因过载安全处理;在发生外因过载时,进行外因过载安全处理。当然,本实施例中只是以过载类别包括内因过载和外因过载为例进行示例性说明,其并非用于限定本申请;在具体实现时,也可以根据需要划分更多的过载类别,根据各种过载类别的电机运行数据预先训练出对应的过载分类模型,识别一阶过载检测的过载事件的过载类别,然后采用对应的过载安全处理策略。
考虑到一阶过载检测和二阶过载检测可能由于电机控制器发生故障或被篡改程序等原因而失效,内因过载也可能出现比较严重的情况,本实施例中,可以通过三阶过载检测来应对这些情况,以提升机器人的安全防护能力。
具体的,三阶过载检测可以运行在电机控制器或更为稳定的电机底层环境中,其作为最后一道保护屏障,在一阶过载检测失效时(即未检测出电机过载)或二阶过载检测失效时(即未获取到电机的过载类别)或出现严重的内因过载时触发。三阶过载检测通过高于一阶过载检测中电流过载阈值的预设电流阈值,检测电机是否过载,在检测到电机过载时进行三阶过载安全处理,即执行相应的过载安全处理策略(此处称为目标安全处理策略),来应对一阶或二阶过载检测失效的情况和发生严重内因过载的情况,对电机进行进一步的保护。
基于上述安全防护原理,对于机器人中的电机,可以采用图4所示的方法进行安全防护处理,以提升机器人的安全防护能力。
图4为本申请实施例提供的机器人的安全防护方法的流程示意图,如图4所示,本实施例提供的安全防护方法可以包括如下步骤:
S110、获取机器人中各电机的运行数据。
本实施例中,针对机器人中的每个电机,电机控制器可以实时获取电机的运行数据,根据电机的运行数据确定电机的安全情况,以对电机进行安全保护。
具体的,如前所述,机器人中的每个电机可以以预设的采样周期(例如20ms)向电机控制器反馈运行数据,即对于每个电机,电机控制器可以每隔该采样周期获取一次该电机的运行数据;本实施例中,电机控制器可以在每次获取到该电机的运行数据后,采用后续步骤对电机进行安全检测和安全处理。
本实施例中,电机控制器从电机获取的运行数据可以包括:电机的电流、速度和位置等,为了提高检测结果的准确性,电机控制器在获取到电机的运行数据后,可以先对运行数据进行滤波处理,然后再进行安全检测。例如:可以根据电流的采样毛刺情况,采用滤波算法(如统计排序滤波算法)对电流进行数字滤波,过滤掉电流毛刺。
S120、对每个电机进行过载检测。
如图3所示,电机控制器获取到电机的运行数据后,可以据此先对电机进行一阶过载检测。在具体进行过载检测(即一阶过载检测)时,电机控制器可以根据电机的电流是否超过电流过载阈值,来确定电机是否过载;为了提升检测结果的准确性,本实施例中,可以将电机的电流超过电流过载阈值的情况称为预过载状态,电机控制器可以统计电机处于预过载状态的持续时间,根据该持续时间是否超过过载检测时间窗(此处称为第一预设时长)来确定电机是否过载。其中,第一预设时长可以根据需要设置,本实施例对此不做特别限定。
图5为本申请实施例提供的过载检测时间窗的示意图,如图5所示,为电机的电流变化示意图,假设t 1时刻之前,电机的电流I小于等于电流过载阈值I Thres,t 1时刻电机的电流I超过电流过载阈值I Thres,即电机处于预过载状态,则在t 1时刻到t 2时刻之间的过载检测时间窗T(即t 2-t 1)内,检测电机的电流I是否持续大于电流过载阈值I Thres,即检测电机处于预过载状态的持续时间是否大于T,若是,则可以判定电机过载,否则可以认为电机未过载。
考虑到在负载相同的情况下,电机的电流与速度呈正相关,即速度越快,同样负载引起的电流越大,本实施例中,如图3所示,可以结合电机的运行数据中电机的电流和速度进行过载检测,以提高过载检测结果的准确性。
在具体实现时,可以根据电机的速度确定电流过载阈值,再据此进行过载检测。即电机控制器在每获取到一次电机的运行数据后,进行过载检测时,先根据运行数据中电机的速度确定电流过载阈值,再根据运行数据中电机的电流和实时确定的电流过载阈值,确定电机是否处于预过载状态;然后在确定电机处于预过载状态(即电机的电流大于电流过载阈值)的情况下,判断电机处于预过载状态的持续时间是否超过第一预设时长,若是,则可以确定电机过载,否则继续进行过载检测。
为了保证电机在任意速度下,触发过载的施加阻力基本相近,以进一步提高过载检测结果的准确性,本实施例中,如图6所示,可以将电流过载阈值设置为速度的一次函数,对应的公式可以表示为:
Figure PCTCN2021082618-appb-000003
其中,I Thres表示电流过载阈值,v Max表示电机的最大速度,v表示获取的电机的速度,I Th1表示在电机静止时触发过载的理想电流,I Th2表示在电机达到最大速度时触发过载的理想电流。
S130、若检测到电机过载,则根据电机的运行数据和预先训练的电机的过载分类模型,获取电机的过载类别。
如图3所示,对于每个电机,电机控制器在对电机进行一阶过载检测后,若检测到电机过载,则可以对电机进行二阶过载检测,以进一步区分电机过载情况。
本实施例中,对于每个电机,在进行二阶过载检测时,可以通过预先训练的该电机的过载分类模型来区分该电机的过载类别。为了便于理解,下面先对过载分类模型的训练过程进行说明。
本实施例中,各个电机的过载分类模型的训练过程类似,为了便于说明,下面以单个电机的过载分类模型的训练过程为例进行说明。
图7为本申请实施例提供的过载分类模型的训练原理示意图,如图7所示,对于某个电机,可以采集该电机发生过载时的过载数据作为训练样本,得到包含多个训练样本的训练样本集;对各个训练样本进行特征提取后,对待训练的初始过载分类模型进行训练,得到该电机的过载分类模型。
考虑到外因过载数据比较容易获取,内因过载数据获取较为困难,为了降低训练难度,本实施例中,可以采用机器学习中的异常点检测(Novelty Detection)方法进行模型训练,该方法对应的训练样本集中仅包含单一标签的训练样本,训练后的模型可以进行二分类识别。其中,异常点检测方法可以采用单分类算法或聚类算法等,本实施例中优选采用单分类算法,以降低训练复杂度。对应的,初始过载分类模型可以为单分类模型,电机的训练样本可以是外因过载对应的训练样本,即在电机发生外因过载情况下采集的样本数据。
其中,单分类模型采用的单分类算法可以是单分类支持向量机(One Class Support Vector Machine,OCSVM)算法或支持向量域描述(Support Vector Domain Description,SVDD)等基于支持向量的单分类算法,也可以是孤立森林(Isolation Forest)算法或基于神经网络的单分类算法等。
训练样本集中每次外因过载对应的训练样本中可以包括:在电机发生该次外因过载的情况下最近获取的M组电机运行数据,其中,每组电机运行数据中包括所有电机的运行数据,M为正整数。
在具体实现时,对于某个电机,可以人为触发该电机的外因过载,然后通过一阶过载检测方法可以检测到过载,假设检测到过载的时刻为t,则可以将t时刻前最近获取到的M次电机采样数据(包括所有电机的运行数据)作为训练样本。或者也可以将距离t时刻最近的一时间段内获取到的电机采样数据作为训练样本,该时间段可以根据采样周期和训练样本所需的电机运行数据的组数确定。其中,M的值可以根据需要选择,本实施例对此不做特别限定。
考虑到位置变化绝对值可以同时反映电机发生过载前的速度和位置变化情况,训练样本中电机的速度和位置可以用位置变化绝对值替换,其中,位置变化绝对值为当次获取的电机的位置与上一次获取的该电机的位置之差的绝对值。以机器人包括N个电机为例,如 图7所示,每个训练样本可以用M×2N维的矩阵表示,具体如下所示:
Figure PCTCN2021082618-appb-000004
其中,I MN表示第M组第N个电机的电流,|ΔP MN|表示第M组第N个电机的位置变化绝对值,N为正整数。
需要说明的是,确定位置变化绝对值也可以是在后面提取特征向量的过程中实现,对应的,矩阵中可以包括M-1组电机的位置变化绝对值数据,电机的电流数据可以选择M组或者M-1组;或者也可以在获取训练样本时获取M+1组电机运行数据,生成M组电机的位置变化绝对值数据,电机的电流数据可以选择M组或者M+1组。在具体实现时这些都可以根据需要选择,图7中只是以确定位置变化绝对值在获取训练样本的过程中实现,矩阵中包括M组电机的电流和位置变化绝对值数据为例进行示例性说明。
在获取到训练样本后,可以根据每个训练样本中的各组电机运行数据提取每个训练样本的特征向量,以降低数据维度。在具体实现时,如图7中所示的,可以提取每个电机的电流和位置变化绝对值的平均值、标准差和最大值,形成1×6N维的特征向量:
Figure PCTCN2021082618-appb-000005
其中,I Nmean表示第N个电机的M组电流的平均值,I Nstd表示第N个电机的M组电流的标准差,I Nmax表示第N个电机的M组电流的最大值;|ΔP| Nmean表示第N个电机的M组位置变化绝对值的平均值,|ΔP| Nstd表示第N个电机的M组位置变化绝对值的标准差,|ΔP| Nmax表示第N个电机的M组位置变化绝对值的最大值。
上述特征向量中,电流和位置变化绝对值的平均值、标准差和最大值,可以较为全面的反映电机的电流和位置的整体变化情况,对应训练的过载分类模型也较为准确。当然,在提取特征向量时,也可以提取其他特征值,例如:电机电流和位置变化绝对值的最小值或方差等其他特征,电机电流和速度的特征向量,特征向量中可以包括比上述三种特征值更多或更少的特征值,本实施例对此不做特别限定。
在提取出各个训练样本的特征向量后,就可以采用这些特征向量对待训练的单分类模型进行训练,得到电机的过载分类模型。
具体的,可以在构建训练样本集的同时构建测试样本集,或者可以将训练样本集中的一部分训练样本作为测试样本集;在具体训练时,可以将训练样本集中训练样本的特征向量输入单分类模型进行训练,建立一个初步的过载分类模型;然后可以采用测试样本集和预设的损失函数对初步建立的过载分类模型进行模型评估,根据评估结果修改过载分类模型的参数,重复上述评估步骤,直至修改后的过载分类模型符合评估要求为止,该符合评估要求的过载分类模型即为最终训练的过载分类模型。
在训练好各个电机的过载分类模型后,就可以采用这些过载分类模型获取电机的过载类别。
与训练过程相对应,在具体实现时,对于某个电机,在通过一阶过载检测方法检测到电机过载时,可以根据最近获取的M组电机运行数据提取待识别的特征向量,然后将待识 别的特征向量输入该电机的过载分类模型进行识别,确定该电机的过载类别是外因过载还是内因过载。
S140、根据过载类别执行对应的过载安全处理策略。
如图3所示,本实施例中,对于不同的过载类别,可以对电机进行不同的过载安全处理。其中,当过载类别为外因过载时,对电机进行外因过载安全处理,即执行外因过载对应的过载安全处理策略;当过载类别为内因过载时,对电机进行内因过载安全处理,即执行内因过载对应的过载安全处理策略。下面分别说明两种过载安全处理过程。
外因过载安全处理过程:
在具体实现时,可以采用图8所示的方法执行外因过载对应的过载安全处理策略,参见图8,图8为本申请实施例提供的外因过载安全处理过程的流程示意图,如图8所示,在获取到电机发生外因过载时,可以执行如下过载安全处理策略:
S141、控制所有电机停止运动,并屏蔽所有电机的运动指令。
具体的,在检测到电机过载时,可以先停止所有电机的运动,并可以暂时屏蔽所有电机的运动指令,以及时对人或物体进行保护,同时避免对机器人造成进一步伤害。
S142、控制目标电机组中的所有电机处于脱机状态。
在控制所有电机停止运动后,可以卸载目标电机组,即控制目标电机组中的所有电机处于脱机状态(free),使目标电机组不再具有运动能力,可以被自由掰动,这样电机在持续受到外力时,可以自动活动而不至于被损坏。
其中,目标电机组包括该发生过载的电机所属的串联运动链里的所有电机,串联运动链是指把两个或两个以上的构件通过运动副的联接而构成的相对可动的系统,例如:人形机器人的一条手臂(即图1中所示的一个手臂组件3)即为一条串联运动链,若发生过载的电机是某条手臂中的某个电机,则目标电机组包括该条手臂中的所有电机。
需要说明的是,步骤S142中控制目标电机组中的所有电机处于脱机状态,与屏蔽所有电机的运动指令之间没有严格的时序执行关系,两者可以先后执行,也可以同时执行,本实施例对此不做特别限定。
S143、进行过载提示,并检测目标电机组的受力情况。
为了提醒用户,并进一步提升机器人的拟人化表现能力,本实施例中,在检测到电机过载后,可以进行过载提示,以提示用户电机发生过载。其中,过载提示可以包括语音提示和/或表情提示,例如,在右手臂中的电机发生过载时,可以语音提示“我的右胳膊好疼”,并可以显示难过的表情。
另外,在卸载目标电机组后,可以持续检测目标电机组的受力情况,以确定目标电机组有无继续发生过载的可能。比如:用户掰动目标电机组导致电机过载,在目标电机组卸载后,用户可能会继续掰动目标电机组,此时,目标电机组可以继续保持脱机状态,直到检测到目标电机组不再受力为止。这样可以减少由于用户的继续掰动而引起二次过载的情况,节省进行二次过载检测所需的处理资源,同时可以减少过载安全处理频繁执行的情况,提升机器人的拟人化表现能力。
具体的,可以通过目标电机组反馈的位置变化情况,来确定目标电机组的受力情况。在具体实现时,对于目标电机组中的每个电机,可以根据最近获取的预设时间段内的电机的位置,确定电机的位置变化绝对值之和;然后可以根据目标电机组中各电机的位置变化 绝对值之和确定目标电机组的总位置变化量,最后根据总位置变化量与预设位置阈值之间的大小关系,确定目标电机组的受力情况,在总位置变化量大于等于预设位置阈值的情况下,确定目标电机组受力;在总位置变化量小于预设位置阈值的情况下,确定目标电机组未受力。
其中,预设时间段的具体值可以根据需要设置,例如可以是3s;同样的,预设位置阈值的大小也可以根据需要设置,本实施例对此均不做特别限定。对于最近获取的预设时间段内的某电机的位置,将后一次获取的位置与前一次获取的位置相减后取绝对值,可以得到该电机的一次位置变化绝对值,将该预设时间段内的该电机的各位置变化绝对值累加,即得到该电机的位置变化绝对值之和;将目标电机组中各电机的位置变化绝对值之和累加即可以得到目标电机组的总位置变化量。
S144、在目标电机组未受力的情况下使能目标电机组中的所有电机,并控制所有电机恢复至初始位置。
具体的,若检测到目标电机组受力,则说明目标电机组对应的关节还在被掰动,此时可以继续保持目标电机组的脱机状态;若检测到目标电机组未受力,则说明目标电机组对应的关节已停止被掰动,此时可以使能目标电机组中的所有电机,然后控制所有电机缓慢运动恢复至初始位置,以方便机器人重新开启正常工作。其中,在使能电机时,电机的运动指令处于被屏蔽状态,这样可以防止使能指令与运动指令发生冲突,从而可以提高机器人工作的稳定性。
S145、解除对所有电机的运动指令的屏蔽。
在控制所有电机恢复至初始位置后,可以解除对所有电机的运动指令的屏蔽,使机器人的各电机恢复正常运动。
需要说明的是,在电机控制器集成有中央控制器功能的情况下,电机的运动指令即由电机控制器生成,此时,在进行过载安全处理的过程中,电机控制器可以不执行运动指令的屏蔽和解除屏蔽操作,只需在使能电机前不生成其他运动指令即可。
内因过载安全处理过程:
内因过载一般是由内部结构异常引起的,例如结构老化摩擦增大,机器人使用久了之后,就会触发较多的内因过载保护,因此,为了减少过多的内因过载保护对用户使用产生的影响,在发生内因过载时可以继续保持机器人当前的各项运动;同时,为了方便后期工程师进行回溯,优化内因过载情况,在检测到电机发生内因过载时,可以将过载信息记录下来,其中,过载信息可以包括下列信息中的多种:电机的电机编号、电流、位置和过载发生时间等。
另外,考虑到电机有可能是被外物卡住而造成内因过载,本实施例中,如果检测到电机在同一位置连续发生内因过载,则可以提示用户检查该电机所在关节的结构是否异常,以便及时处理结构异常较重的情况,对机器人结构进行保护。
S150、对于每个电机,若电机的电流大于预设电流阈值,且持续时间超过第二预设时长,则执行目标安全处理策略。
如图3所示,本实施例中,在一阶过载检测或二阶过载检测失效时,或者发生比较严重的内因过载时,可以通过三阶过载检测来应对这些情况,以进一步提升机器人的安全防护能力。
具体的,对于每个电机来说,可以采用固定的预设电流阈值和三阶过载检测时间窗(即第二预设时长)来确定电机是否发生三阶过载,以降低算法复杂度,进而减少出现程序异常问题。
与一阶过载检测的检测过程类似,在具体进行三阶过载检测时,可以判断电机的电流是否大于预设电流阈值,在电机的电流大于预设电流阈值的情况下,判断电机的电流大于预设电流阈值的持续时间是否超过第二预设时长,若是,则可以确定电机发生三阶过载,此时可以进行三阶过载安全处理;否则继续进行三阶过载检测。
其中,第二预设时长与一阶过载检测中的第一预设时长可以相同,也可以不同,具体可以根据实际需要设置,本实施例对此不做特别限定。
预设电流阈值可以稍低于电机的堵转电流,以免引起误检测;同时,预设电流阈值可以大于电机的最大速度对应的电流过载阈值(即I Th2),这样在正常情况下,在发生外因过载时会优先触发一阶过载检测和二阶过载检测;由于在触发了一阶过载检测和二阶过载检测后,会在进行外因过载安全处理时卸载电机,因而在正常情况下不会继续触发三阶过载检测,只有在一阶过载检测或二阶过载检测失效的情况下才进行三阶过载检测。也就是说,对于外因过载的情况,三阶过载检测可以在一阶过载检测或二阶过载检测失效的情况下检测出来,然后进行相关的安全处理,这样就可以提高机器人的安全防护能力。
另外,对于内因过载的情况,由于在进行内因过载安全处理时为了保证正常使用,不会卸载电机,因此在发生严重的内因过载时,可以触发三阶过载检测。也就是说,通过三阶过载检测可以及时的检测出严重的内因过载,这样就可以及时的进行相关的安全处理,降低电机因自身结构异常而导致的损坏。
本实施例中,在检测出三阶过载后执行的过载安全处理策略(此处称为目标安全处理策略)与外因过载对应的过载安全处理策略类似,不同之处在于,在执行外因过载对应的过载安全处理策略之外,可以提示用户检查机器人的结构是否异常,排除电线缠绕等引起的严重内因过载情况,并可以将故障数据上传至服务端,由工程师远程查看是否是由于系统问题导致的一阶过载检测和二阶过载检测失效。在上传故障数据之前,也可以先通过语音和/或文字方式询问用户是否同意上传故障数据至服务端,在接收到用户的同意指令时,再将故障数据上传至服务端,以提升人机交互体验度。
上述是以三阶过载检测运行在电机控制器中为例进行示例性说明,在具体实现时,三阶过载检测也可以运行在电机内,由于电机的运行环境稳定,难以被篡改程序,因而在电机中执行三阶过载检测可以提高三阶过载检测的安全性和稳定性。
其中,电机中执行的三阶过载检测过程与上述三阶过载检测过程一致,此处不再赘述。电机在检测到三阶过载时,可以向电机控制器发送过载报警消息,电机控制器接收到该过载报警消息后可以执行上述目标安全处理策略,对电机进行保护。
本领域技术人员可以理解,以上实施例是示例性的,并非用于限定本申请。在可能的情况下,以上步骤中的一个或者几个步骤的执行顺序可以进行调整,也可以进行选择性组合,得到一个或多个其他实施例。本领域技术人员可以根据需要从上述步骤中任意进行选择组合,凡是未脱离本申请方案实质的,都落入本申请的保护范围。
本实施例提供的机器人的安全防护方法,基于变化的电流过载阈对电机进行一阶过载检测,在检测到电机过载时,通过预先训练的过载分类模型对电机进行二阶过载检测,进 一步区分电机的过载类型,然后采用对应的过载安全处理策略,这样可以提升机器人的拟人化表现能力;另外,该方法采用高于最大电流过载阈值的预设电流阈值,对电机进行进一步的三阶过载检测,并在检测到电机过载时采用目标安全处理策略,这样可以应对一阶和二阶过载检测失效的情况和发生严重内因过载的情况,提升机器人的安全防护能力。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种机器人的安全防护装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
图9为本申请实施例提供的机器人的安全防护装置的结构示意图,如图9所示,本实施例提供的装置可以包括:获取模块210、一阶过载检测模块220、二阶过载检测模块230、三阶过载检测模块240和过载安全处理模块250,其中:
获取模块210用于支持机器人执行上述实施例中的S110和/或本文所描述的技术的其它过程。
一阶过载检测模块220用于支持机器人执行上述实施例中的S120和/或本文所描述的技术的其它过程。
二阶过载检测模块230用于支持机器人执行上述实施例中的S130和/或本文所描述的技术的其它过程。
三阶过载检测模块240用于支持机器人执行上述实施例中的S150中检测电机的电流是否大于预设电流阈值,且持续时间超过第二预设时长的操作和/或本文所描述的技术的其它过程。
过载安全处理模块250用于支持机器人执行上述实施例中的S140、S150中执行目标安全处理策略的操作和/或本文所描述的技术的其它过程。
本实施例提供的装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述方法实施例所述的方法。其中,芯片系统可以为 单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘或磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质可以包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书 中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (20)

  1. 一种机器人的安全防护方法,其特征在于,包括:
    获取机器人中各电机的运行数据;
    对每个电机执行过载检测;
    当检测到所述电机过载,则根据所述电机的运行数据和预先训练的所述电机的过载分类模型,获取所述电机的过载类别,并根据所述过载类别执行对应的过载安全处理策略。
  2. 根据权利要求1所述的方法,其特征在于,所述对每个电机执行过载检测,包括:
    对于每个电机,根据电机的速度确定电流过载阈值;
    当电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
    当所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机过载。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述电机的速度确定电流过载阈值,包括:
    采用如下公式确定所述电机的电流过载阈值:
    Figure PCTCN2021082618-appb-100001
    其中,I Thres表示电流过载阈值,v Max表示所述电机的最大速度,v表示获取的所述电机的速度,I Th1表示在所述电机静止时触发过载的理想电流,I Th2表示在所述电机达到最大速度时触发过载的理想电流。
  4. 根据权利要求1所述的方法,其特征在于,所述过载类别为外因过载或内因过载,所述电机的过载分类模型是基于训练样本集训练获得的,其中,所述训练样本集中包括多次外因过载对应的训练样本,每次外因过载对应的训练样本中包括在所述电机发生所述外因过载的情况下最近获取的M组电机运行数据,每组电机运行数据中包括所有电机的运行数据,M为正整数;
    训练方法包括:
    根据每个训练样本中的各组电机运行数据提取每个训练样本的特征向量;
    采用各个训练样本的特征向量对待训练的单分类模型进行训练,得到所述电机的过载分类模型;
    则所述根据所述电机的运行数据和预先训练的所述电机的过载分类模型,获取所述电机的过载类别,包括:
    根据最近获取的M组电机运行数据提取待识别的特征向量;
    将待识别的特征向量输入所述电机的过载分类模型进行识别,获取所述电机的过载类别。
  5. 根据权利要求4所述的方法,其特征在于,所述运行数据包括电机的电流和位置,所述特征向量包括每个电机的电流特征和位置特征,其中,所述电流特征包括电流的平均值、标准差和最大值中的多个,所述位置特征包括位置变化绝对值的平均值、标准差和最大值中的多个。
  6. 根据权利要求1所述的方法,其特征在于,所述过载类别为外因过载或内因过载,所述根据所述过载类别执行对应的过载安全处理策略,包括:
    若所述过载类别为外因过载,则控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
    进行过载提示,并检测所述目标电机组的受力情况;
    在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
  7. 根据权利要求6所述的方法,其特征在于,在所述检测所述目标电机组的受力情况之前,所述方法还包括:
    屏蔽所有电机的运动指令;
    在所述控制所有电机恢复至初始位置之后,所述方法还包括:
    解除对所有电机的运动指令的屏蔽。
  8. 根据权利要求6所述的方法,其特征在于,所述检测所述目标电机组的受力情况,包括:
    对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
    根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
    若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
    若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
  9. 根据权利要求1所述的方法,其特征在于,所述过载类别为外因过载或内因过载,所述根据所述过载类别执行对应的过载安全处理策略,包括:
    若所述过载类别为内因过载,则记录过载信息,所述过载信息包括下列信息中的多种:所述电机的电机编号、电流、位置和过载发生时间。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:
    若所述电机在同一位置连续发生内因过载,则提示用户检查所述电机所在关节的结构是否异常。
  11. 根据权利要求2所述的方法,其特征在于,所述过载类别为外因过载或内因过载,所述方法还包括:
    对于每个电机,在满足预设检测条件的情况下,若检测到所述电机的电流大于预设电流阈值,且持续时间超过第二预设时长,则执行目标安全处理策略,其中,所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的过载类别为内因过载。
  12. 根据权利要求2所述的方法,其特征在于,所述过载类别为外因过载或内因过载,所述方法还包括:
    对于每个电机,在满足预设检测条件的情况下,若接收到所述电机发送的过载报警消息,则执行目标安全处理策略,其中,所述过载报警消息是所述电机在检测到电流大于预设电流阈值,且持续时间超过第二预设时长的情况下发送的;所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的 过载类别为内因过载。
  13. 根据权利要求11或12所述的方法,其特征在于,所述执行目标安全处理策略,包括:
    执行外因过载对应的过载安全处理策略;
    提示用户检查所述机器人的结构是否异常,并将故障数据上传至服务端。
  14. 一种机器人的安全防护装置,其特征在于,包括:获取模块、一阶过载检测模块、二阶过载检测模块和过载安全处理模块,其中:
    所述获取模块用于:获取机器人中各电机的运行数据;
    所述一阶过载检测模块用于:对每个电机执行过载检测;
    所述二阶过载检测模块用于:当一阶过载检测模块检测到所述电机过载时,根据所述电机的运行数据和预先训练的所述电机的过载分类模型,获取所述电机的过载类别;
    所述过载安全处理模块用于:根据所述过载类别执行对应的过载安全处理策略。
  15. 根据权利要求14所述的装置,其特征在于,所述一阶过载检测模块具体用于:
    对于每个电机,根据电机的速度确定电流过载阈值;
    当电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
    当所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机过载。
  16. 根据权利要求14所述的装置,其特征在于,所述过载类别为外因过载或内因过载,所述电机的过载分类模型是基于训练样本集训练获得的,其中,所述训练样本集中包括多次外因过载对应的训练样本,每次外因过载对应的训练样本中包括在所述电机发生所述外因过载的情况下最近获取的M组电机运行数据,每组电机运行数据中包括所有电机的运行数据,M为正整数;
    训练方法包括:
    根据每个训练样本中的各组电机运行数据提取每个训练样本的特征向量;
    采用各个训练样本的特征向量对待训练的单分类模型进行训练,得到所述电机的过载分类模型;
    则所述二阶过载检测模块具体用于:
    根据最近获取的M组电机运行数据提取待识别的特征向量;
    将待识别的特征向量输入所述电机的过载分类模型进行识别,获取所述电机的过载类别。
  17. 根据权利要求14所述的装置,其特征在于,所述过载类别为外因过载或内因过载,所述过载安全处理模块具体用于:
    若所述过载类别为外因过载,则控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
    进行过载提示,并检测所述目标电机组的受力情况;
    在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
  18. 根据权利要求15-17任一项所述的装置,其特征在于,所述过载类别为外因过载或内因过载,所述装置还包括:
    三阶过载检测模块,用于对于每个电机,在满足预设检测条件的情况下,若接收到所 述电机发送的过载报警消息,则指示所述过载安全处理模块执行目标安全处理策略,其中,所述过载报警消息是所述电机在检测到电流大于预设电流阈值,且持续时间超过第二预设时长的情况下发送的;所述预设电流阈值大于所述电机的最大速度对应的电流过载阈值,且小于所述电机的堵转电流;所述预设检测条件包括:未检测出所述电机过载,或者未获取到所述电机的过载类别,或者获取到所述电机的过载类别为内因过载。
  19. 一种机器人,其特征在于,包括:存储器、处理器和电机,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-13任一项所述的方法,所述电机用于向所述处理器反馈运行数据。
  20. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-13任一项所述的方法。
PCT/CN2021/082618 2020-05-19 2021-03-24 机器人的安全防护方法、装置与机器人 WO2021232933A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010425990.9A CN111633686B (zh) 2020-05-19 2020-05-19 机器人的安全防护方法、装置与机器人
CN202010425990.9 2020-05-19

Publications (1)

Publication Number Publication Date
WO2021232933A1 true WO2021232933A1 (zh) 2021-11-25

Family

ID=72324642

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/082618 WO2021232933A1 (zh) 2020-05-19 2021-03-24 机器人的安全防护方法、装置与机器人

Country Status (2)

Country Link
CN (1) CN111633686B (zh)
WO (1) WO2021232933A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114211486A (zh) * 2021-12-13 2022-03-22 中国科学院深圳先进技术研究院 一种机器人的控制方法、机器人及存储介质
CN114474149A (zh) * 2021-12-21 2022-05-13 深圳优地科技有限公司 自动化测试方法、装置、服务器及可读存储介质
CN115296592A (zh) * 2022-10-08 2022-11-04 东营金丰正阳科技发展有限公司 一种防止过压故障的潜油电泵控制柜
CN116421308A (zh) * 2023-03-06 2023-07-14 极限人工智能有限公司 一种柔性器械钳头运动的极限位置判断方法及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111633686B (zh) * 2020-05-19 2022-04-12 华为技术有限公司 机器人的安全防护方法、装置与机器人
CN112828896B (zh) * 2021-03-15 2022-02-25 苏州工艺美术职业技术学院 一种家用智能陪伴机器人及其执行控制方法
CN113625648A (zh) * 2021-08-27 2021-11-09 刘纪荣 一种基于rfid识别的设备运行状态确定方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005339181A (ja) * 2004-05-26 2005-12-08 Matsushita Electric Works Ltd 自律移動車
CN201559195U (zh) * 2009-12-11 2010-08-25 Abb技术有限公司 机器人
CN105738722A (zh) * 2016-01-27 2016-07-06 西北工业大学 一种航空机电作动器故障诊断方法
CN110370273A (zh) * 2019-06-27 2019-10-25 华为技术有限公司 一种机器人避障方法、装置和系统
CN110826437A (zh) * 2019-10-23 2020-02-21 中国科学院自动化研究所 基于生物神经网络的智能机器人控制方法、系统、装置
CN111633686A (zh) * 2020-05-19 2020-09-08 华为技术有限公司 机器人的安全防护方法、装置与机器人

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3652904B2 (ja) * 1999-01-14 2005-05-25 技術研究組合医療福祉機器研究所 ロボット駆動装置の安全保護装置
EP3321044A4 (en) * 2015-08-25 2019-05-29 Kawasaki Jukogyo Kabushiki Kaisha REMOTELY CONTROLLED MANIPULATOR SYSTEM AND METHOD FOR OPERATION THEREOF
CN107196380B (zh) * 2017-07-18 2020-11-10 深圳儒博智能科技有限公司 一种机器人电源管理系统及机器人

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005339181A (ja) * 2004-05-26 2005-12-08 Matsushita Electric Works Ltd 自律移動車
CN201559195U (zh) * 2009-12-11 2010-08-25 Abb技术有限公司 机器人
CN105738722A (zh) * 2016-01-27 2016-07-06 西北工业大学 一种航空机电作动器故障诊断方法
CN110370273A (zh) * 2019-06-27 2019-10-25 华为技术有限公司 一种机器人避障方法、装置和系统
CN110826437A (zh) * 2019-10-23 2020-02-21 中国科学院自动化研究所 基于生物神经网络的智能机器人控制方法、系统、装置
CN111633686A (zh) * 2020-05-19 2020-09-08 华为技术有限公司 机器人的安全防护方法、装置与机器人

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114211486A (zh) * 2021-12-13 2022-03-22 中国科学院深圳先进技术研究院 一种机器人的控制方法、机器人及存储介质
CN114211486B (zh) * 2021-12-13 2024-03-22 中国科学院深圳先进技术研究院 一种机器人的控制方法、机器人及存储介质
CN114474149A (zh) * 2021-12-21 2022-05-13 深圳优地科技有限公司 自动化测试方法、装置、服务器及可读存储介质
CN114474149B (zh) * 2021-12-21 2024-04-05 深圳优地科技有限公司 自动化测试方法、装置、服务器及可读存储介质
CN115296592A (zh) * 2022-10-08 2022-11-04 东营金丰正阳科技发展有限公司 一种防止过压故障的潜油电泵控制柜
CN115296592B (zh) * 2022-10-08 2023-02-03 东营金丰正阳科技发展有限公司 一种防止过压故障的潜油电泵控制柜
CN116421308A (zh) * 2023-03-06 2023-07-14 极限人工智能有限公司 一种柔性器械钳头运动的极限位置判断方法及系统

Also Published As

Publication number Publication date
CN111633686A (zh) 2020-09-08
CN111633686B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
WO2021232933A1 (zh) 机器人的安全防护方法、装置与机器人
WO2021232921A1 (zh) 机器人的安全防护方法、装置与机器人
KR102643027B1 (ko) 전자 장치, 그의 제어 방법
EP2943854B1 (en) Leveraging physical handshaking in head mounted displays
CN111975772B (zh) 机器人控制方法、装置、电子设备及存储介质
KR20240032779A (ko) 전자 장치, 그의 제어 방법
US9868213B2 (en) Incidental robot-human contact detection
US11641994B2 (en) Mistakenly ingested object identifying robot cleaner and controlling method thereof
KR102337861B1 (ko) 리드 타임을 고려한 낙상 감지 장치 및 그 방법
US20180126561A1 (en) Generation device, control method, robot device, call system, and computer-readable recording medium
CN110728206A (zh) 疲劳驾驶检测方法、装置、计算机可读存储介质及终端
CN115871679A (zh) 驾驶员疲劳检测方法、装置、电子设备及介质
EP3757878A1 (en) Head pose estimation
Soman et al. A Novel Fall Detection System using Mediapipe
Safarzadeh et al. Real-time fall detection and alert system using pose estimation
WO2023217193A1 (zh) 机器人和机器人识别跌倒的方法
Ozcan et al. Fall detection and activity classification using a wearable smart camera
Chan et al. Computer vision-based home accident detection and response system for elderly care
TWI577627B (zh) 用於電梯設備之監控系統及其監控方法
US20240019937A1 (en) System, device and method for real time gesture prediction
CN106355063A (zh) 用于移动终端的控制方法、装置和移动终端
Abdalla et al. A review of Approaches and Principles of Fall Detection used in Diverse Human Safety Systems
US20160310058A1 (en) Method and system for sensing emotional data of users
CN116339348A (zh) 一种辅助机器人适应陌生环境的方法和系统
CN115898929A (zh) 一种风扇控制方法和装置、存储介质

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: 21809607

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: 21809607

Country of ref document: EP

Kind code of ref document: A1