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

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

Info

Publication number
WO2021232921A1
WO2021232921A1 PCT/CN2021/081670 CN2021081670W WO2021232921A1 WO 2021232921 A1 WO2021232921 A1 WO 2021232921A1 CN 2021081670 W CN2021081670 W CN 2021081670W WO 2021232921 A1 WO2021232921 A1 WO 2021232921A1
Authority
WO
WIPO (PCT)
Prior art keywords
motor
overload
collision
motors
current
Prior art date
Application number
PCT/CN2021/081670
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 WO2021232921A1 publication Critical patent/WO2021232921A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

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 safety protection capability of the robot.
  • an embodiment of the present application provides a method for safety protection of a robot, including:
  • the collision safety processing strategy corresponding to the motor is executed.
  • the safety protection method of the robot can perform overload detection on the motor according to the operating data of the motor.
  • the corresponding overload safety processing strategy can be executed; and the collision detection of the motor can be performed.
  • the corresponding collision safety handling strategy is executed, thus improving the safety protection capability of the robot.
  • the operating data includes current and speed, and if it is detected according to the operating data that the motor meets the overload trigger condition, then the overload safety processing corresponding to the motor is executed Strategies, including:
  • the overload safety processing strategy corresponding to the motor is executed.
  • 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 collision detection condition includes: a first preset condition and a second preset condition, and the first preset condition includes: the speed of the motor is greater than that of the motor The preset speed threshold;
  • the second preset condition includes: a first condition or a second condition, and the first condition includes that the motor is in a non-pre-overload state;
  • the second condition includes: the motor is in a pre-overload state, and the duration of the motor in the pre-overload state does not exceed a second preset duration, wherein the second preset duration does not exceed the first preset duration Set half of the duration.
  • 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 executing the overload safety handling strategy corresponding to the motor includes:
  • 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 operating data includes current
  • performing collision detection on the motor includes:
  • the scene of starting and stopping the motor can be removed from the collision protection period, and the collision event can be detected according to the current sudden change, which can reduce the complexity of collision detection.
  • the operating data includes a position
  • the method for detecting the motion state switching of the motor includes:
  • the position change value of the motor is greater than the first position threshold, it is determined that the motion state of the motor is forward rotation, wherein the position change value of the motor is the position of the motor acquired this time minus the position of the previous acquisition
  • the difference value obtained from the position of the motor, the first position threshold value is a positive number
  • the position change value of the motor is greater than or equal to the second position threshold value and less than or equal to the first position threshold value, it is determined that the motion state of the motor is stationary, and the second position threshold value is a negative number;
  • the executing the collision safety handling strategy corresponding to the motor includes:
  • the preset distance of reverse movement can be simulated to simulate the natural shrinking performance when a human hand hits someone by mistake, and the robot's anthropomorphic performance ability can be improved; by shielding the motion commands of all motors, it can avoid the user and the robot. Cause further damage; through collision prompts, the user can be reminded, and the robot's anthropomorphic performance ability can be further improved.
  • an embodiment of the present application provides a safety protection device for a robot, including: an acquisition module, an overload detection module, an overload safety processing module, an overload trend detection module, a collision detection module, and a collision safety processing module, wherein:
  • the acquisition module is used to: acquire operating data of the motor;
  • the overload safety processing module is configured to execute an overload safety processing strategy corresponding to the motor when the overload detection module detects that the motor meets an overload trigger condition according to the operating data;
  • the collision detection module is configured to perform collision detection on the motor when the overload trend detection module determines according to the operating data that the motor meets the collision detection condition, wherein the collision detection condition is based on the The overload trigger condition is determined;
  • the collision safety processing module is configured to execute a collision safety processing strategy corresponding to the motor when the collision detection module detects that the motor has a collision.
  • the operating data includes current and speed
  • the overload detection module is specifically configured to:
  • the collision detection condition includes: a first preset condition and a second preset condition
  • the first preset condition includes: the speed of the motor is greater than that of the motor The preset speed threshold;
  • the second preset condition includes: a first condition or a second condition, and the first condition includes that the motor is in a non-pre-overload state;
  • the second condition includes: the motor is in a pre-overload state, and the duration of the motor in the pre-overload state does not exceed a second preset duration, wherein the second preset duration does not exceed the first preset duration Set half of the duration.
  • the 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 safety processing module is specifically configured to:
  • the overload safety processing module is further configured to: shield the motion commands of all motors before the detection of the force of the target motor group;
  • 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 operating data includes current
  • the collision detection module is specifically configured to:
  • the operating data includes a position
  • the collision detection module is specifically configured to:
  • the position change value of the motor is greater than the first position threshold, it is determined that the motion state of the motor is forward rotation, wherein the position change value of the motor is the position of the motor acquired this time minus the position of the previous acquisition
  • the difference value obtained from the position of the motor, the first position threshold value is a positive number
  • the position change value of the motor is greater than or equal to the second position threshold value and less than or equal to the first position threshold value, it is determined that the motion state of the motor is stationary, and the second position threshold value is a negative number;
  • the collision safety processing module is specifically configured to:
  • 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 flowchart of the overload safety processing process provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of a collision detection time window provided by an embodiment of the application.
  • FIG. 9 is a schematic flowchart of a collision detection method provided by an embodiment of the application.
  • FIG. 10 is a schematic flowchart of a collision safety processing process provided by an embodiment of the application.
  • FIG. 11 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 operating data of the motor, it can perform safety protection processing on the motor according to the operating 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 be coupled to the touch sensor 188, charger, 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, 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 disk storage device, a flash memory device, a universal flash storage (Universal Flash Storage, UFS), and so on.
  • a non-volatile memory such as at least one disk storage device, a flash memory device, a universal flash storage (Universal Flash Storage, UFS), and so on.
  • 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 safety protection scene may include: overload protection period , Transitional protection period and collision protection period.
  • the motor is in the overload protection period in the entire operating scene, that is, the motor enters the overload protection period after it is turned on; during the overload protection period, the motor controller performs overload detection on the motor, and performs the motor overload detection when the motor is overloaded. Safe handling of overloads.
  • the robot in addition to the overload protection of the robot, it also carries out collision protection; in addition, in order to improve the accuracy of the execution result of collision protection, so as to enhance the robot's anthropomorphic performance ability, In this embodiment, the accidental triggering of the collision protection is reduced by the transitional protection period.
  • the transition protection period and the collision protection period are both turned on when the motor is in a high-speed motion state (that is, the robot joint is in a high-speed motion state).
  • the motor enters high-speed motion first detect whether there is an overload trend. If there is an overload trend, it will directly enter the collision protection period; if there is an overload trend, it will first enter the transition protection period.
  • the motor controller continues to detect the overload trend of the motor, and enters the collision protection period when the overload trend disappears (that is, the possibility of overload is eliminated); when the motor overload is detected, the transition protection is exited Period, carry out overload safety treatment to the motor.
  • the motor controller performs collision detection on the motor, and performs collision safety processing on the motor when a collision is detected.
  • the method shown in FIG. 4 can be used for safety protection processing, so as to protect the robot and the user at the same time, and 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 and the user.
  • 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
  • S120 Perform overload detection on the motor according to the operating data.
  • the motor controller After the motor controller obtains the motor's operating data, it enters the overload protection period and performs overload detection on the motor during the overload protection period.
  • 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 current of the motor may exceed the current overload threshold.
  • the situation 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 motor meets the overload trigger condition according to whether the duration exceeds the overload detection time window (here referred to as the first preset duration) , That is, to determine whether 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 meets the overload trigger condition. At this time, overload safety processing can be performed, otherwise, the overload detection will continue.
  • 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 safety processing is performed on the motor, that is, the overload safety processing strategy corresponding to the motor is executed.
  • FIG. 7 is a schematic flow diagram of the overload safety processing process provided by the embodiment of the application.
  • 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.
  • S132 Control all motors in the target motor group to be in an offline state.
  • 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 S132 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.
  • S134 Enable all motors in the target motor group under the condition that the target motor group is not under force, and control all motors to return to their initial positions.
  • 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.
  • S140 Perform collision detection on the motor when it is determined according to the operating data that the motor meets the collision detection condition.
  • the motor controller after the motor controller obtains the running data of the motor, before entering the collision protection period, it can first detect the overload trend of the motor, and then perform collision detection on the motor when it is determined that the motor does not have an overload trend. ; When the motor has an overload trend, first enter the transition protection period and continue to detect the motor's overload trend; when the overload trend disappears, then enter the collision protection period. That is, before the motor enters the collision protection period for collision detection, it needs to meet the collision detection conditions.
  • the collision detection conditions are related to the overload trigger conditions, that is, the collision detection conditions can be determined according to the overload trigger conditions.
  • both the transition protection period and the collision protection period can be turned on when the motor is in a high-speed motion state (that is, the robot joints are in a high-speed motion state) to save computing resources.
  • the high-speed motion detection of the motor can be performed to determine whether the motor is in a high-speed motion state.
  • the motor can be considered to be in a high-speed motion state; otherwise, the high-speed motion detection can be performed again based on the motor speed acquired next time.
  • the preset speed threshold of each motor can be determined according to the specifications of the motor and the part of the robot.
  • the motor After determining that the motor is in a high-speed motion state, it can be determined whether the motor has an overload trend according to whether the duration of the motor in the pre-overload state occupies the target duration in the overload time window (here referred to as the second preset duration). If the duration of the motor in the pre-overload state exceeds the second preset time period, it can be considered that the motor has an overload trend and enters the transition protection period; otherwise, it can be considered that the motor does not have an overload trend and directly enters the collision protection period, that is, if the motor is in a non-overload state.
  • the duration of the motor in the pre-overload state occupies the target duration in the overload time window (here referred to as the second preset duration). If the duration of the motor in the pre-overload state exceeds the second preset time period, it can be considered that the motor has an overload trend and enters the transition protection period; otherwise, it can be considered that the motor does not have an overload trend and directly enters the collision protection period, that is,
  • the collision protection period is entered.
  • the second preset duration may be determined according to the first preset duration, for example, the second preset duration may not exceed half of the first preset duration, and its specific size is not particularly limited in this embodiment.
  • the preset speed threshold of a motor is 80°/s.
  • the motor is 78°/s
  • the human hand touches the motor, but the applied force is small.
  • the motor speed reaches 80°/s
  • the hand is already held
  • the relative speed between the hand and the joint where the motor is located is low at this time, no collision event will occur, and an overload event is more likely to occur.
  • the above overload trend detection can detect that the motor has an overload trend when the motor speed reaches 80°/s. At this time, it does not directly enter the collision protection period for collision detection, but enters the transition protection period to continue overloading. Detection, so that overload events can be further detected instead of collision events, which can reduce collision misdetection.
  • the overload detection process in the transient protection period is the same as the overload detection process in the overload protection period, and overload safety processing is performed when the motor overload is detected; in addition, the detection of the overload trend disappears during the transient protection period, which means the motor At this time, it is in a non-pre-overload state and does not have an overload trend, and collision detection can be carried out. This is similar to the overload trend detection process. When the motor is detected in a non-pre-overload state, it is considered that the motor does not have an overload trend, and collision detection can be performed .
  • the detection process in the transition protection period can also be completed through the overload trend detection and the overload detection in the overload protection period, that is, when the motor is detected to have an overload trend, the next high-speed motion detection and overload can be continued.
  • Trend detection until the motor is in a high-speed motion state and does not have an overload trend, and then perform collision detection.
  • the collision detection of the motor entering the collision protection period needs to meet the following collision detection conditions: the motor is in a high-speed motion state, and the motor does not have an overload trend, that is to say, the collision detection conditions can include: the first corresponding to the motor in the high-speed motion state A preset condition corresponds to a second preset condition that the motor does not have an overload trend.
  • the first preset condition includes: the speed of the motor is greater than the preset speed threshold;
  • the second preset condition includes: the first condition or the second condition, the first condition includes the motor being in a non-pre-overload state;
  • the second condition Including: the motor is in the pre-overload state, and the duration of the motor in the pre-overload state does not exceed the second preset duration, where the second preset duration may not exceed half of the first preset duration.
  • represents the operating angle of the motor (that is, the position of the motor)
  • ⁇ R n , g( ⁇ ), ⁇ c , ⁇ and I represent the acceleration term, speed term, gravity term, friction term, collision force, resultant force and current of the motor in turn.
  • the acceleration term, friction force term, and collision force may all produce numerical mutations, which in turn will cause sudden changes in the resultant force and current. Therefore, in the collision detection stage, the acceleration term and friction force term can be filtered to filter out their values. The impact on the feedback current, then the only thing that can cause a sudden change in the motor current is the collision force, so that the collision event can be detected according to the current sudden change, and the complexity of collision detection can be reduced.
  • the acceleration term and friction term causing the current sudden change it usually occurs in the motor start and stop phase, so the scene of the motor start and stop can be removed from the collision protection period.
  • the start and stop of the motor occurs in the scene where the motor motion state is switched.
  • the motion state of the motor can include forward rotation, reverse rotation, and standstill.
  • a safety time window here referred to as the third preset duration
  • the collision protection period outside the safety time window may be used as the collision detection time window for collision detection.
  • the size of the third preset duration can be set as required, for example, it can be 100 ms, which is not particularly limited in this embodiment.
  • Fig. 8 is a schematic diagram of the collision detection time window provided by an embodiment of the application. As shown in Fig. 8, it is a schematic diagram of the position change of the motor. , T3 and T4 both represent collision detection time windows. Each collision detection time window has a certain time delay from the previous peak or trough. The specific delay time (ie the time interval between T1 and T2 in the figure, T3 and T4 The time interval between T2 and T3 is the above-mentioned safe time window; among them, the collision detection is triggered under high-speed motion, and the position change between T2 and T3 is gentle, that is, the speed of the motor is low, so it is between T2 and T3. The collision detection will not be triggered during the time period, that is, it is not part of the collision detection time window.
  • FIG. 9 is a schematic flowchart of a collision detection method provided by an embodiment of the application. As shown in FIG. 9, the method may include the following steps:
  • the time length between the current time and the time when the motor's last motion state switch occurs can be determined first. If the time length is within the safe time window In addition, that is, if the duration exceeds the third preset duration, the subsequent collision detection process may be performed; otherwise, the subsequent collision detection process may not be performed.
  • position filtering processing may be performed when detecting the motion state of the motor to improve the accuracy of the detection result.
  • two position thresholds can be set: a first position threshold and a second position threshold.
  • the motor's motion state is determined based on the motor's position change value and these two position thresholds, and then it is detected whether the motor's motion state is switched.
  • the position change value of the motor is the difference between the position ⁇ 2 of the motor obtained this time minus the position ⁇ 1 of the motor obtained last time.
  • the first position threshold can be a positive number
  • the second position threshold can be If it is a negative number, the specific size of the two can be set as required, for example: the first position threshold may be 0.5°, and the second position threshold may be -0.5°. Taking the first position threshold value of 0.5° and the second position threshold value of -0.5° as an example, the specific formula for judging the motor motion state can be as follows:
  • the position change value of the motor is greater than 0.5° of the first position threshold, it can be determined that the motor's motion state is forward rotation; if the position change value of the motor is greater than or equal to the second position threshold -0.5°, and less than or equal to the first position threshold. If the position threshold is 0.5°, it can be determined that the motion state of the motor is stationary; if the position change value of the motor is less than the second position threshold -0.5°, it can be determined that the motion state of the motor is reverse. If the motor's motion state is different from the previous motion state, it can be determined that the motor has a motion state switch.
  • the time period between the current time and the time when the motor's last movement state switch exceeds the third preset time period, it indicates that it is within the collision detection time window at this time, and the subsequent collision detection can be continued.
  • the collision event can be detected through the current sudden change.
  • the current abrupt change of the motor can be determined according to the current obtained this time and the current obtained last time, that is, the current current minus the difference of the current obtained last time. Then, it can be judged the magnitude relationship between the current sudden change amount and the preset collision current threshold value of the motor, and whether the motor collides is determined according to the judgment result.
  • the collision current threshold of the motor can also be set to different values, and the specific size can be set according to the actual situation, which is not particularly limited in this embodiment.
  • the current abrupt change of the motor is greater than its collision current threshold, it indicates that the motor has produced a certain collision force, and it can be considered that the motor has collided at this time; otherwise, the next collision detection is continued.
  • the motor can be subjected to collision safety processing, that is, the collision safety processing strategy corresponding to the motor is executed.
  • FIG. 10 is a flowchart of the collision safety processing process provided by the embodiment of the application. As shown in FIG. In the event of a collision, the following collision safety handling strategies can be implemented:
  • the current movement of all motors can be stopped first, and rebound a certain distance in the opposite direction of movement (ie a preset distance), such as 10° ⁇ 20°, to simulate the accidental hit by a human hand
  • a preset distance such as 10° ⁇ 20°
  • a collision prompt can be performed to remind the user that the motor has collided.
  • the collision prompt may include voice prompts and/or facial expression prompts, for example, voice prompts such as "Sorry”, “I didn't hurt you", etc., and an expression of sorry may be displayed.
  • all motors can be controlled to slowly move back to the initial position, and at the same time, the shielding of the motion commands of all motors can be removed, so that the motors of the robot can return to normal motion.
  • the motor controller when the motor controller is integrated with the central controller function, during the collision safety handling process, the motor controller may not perform the shielding and unshielding operations of the motion instructions, and only need to use the It does not need to generate other motion instructions before the motor.
  • the safety protection method of the robot provided in this embodiment can perform overload detection on the motor according to the operating data of the motor, and execute the corresponding overload safety processing strategy when the motor is overloaded; and can perform collision detection on the motor.
  • the corresponding collision safety handling strategy is executed, thus improving the safety protection capability 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. 11 is a schematic structural diagram of a safety protection device for a robot provided by an embodiment of the application.
  • the device provided by this embodiment may include: an acquisition module 210, an overload detection module 220, an overload safety processing module 230, and an overload trend The detection module 240, the collision detection module 250, and the collision safety processing module 260, wherein:
  • 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 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 overload safety processing module 230 is used to support the robot to perform S130 in the above-mentioned embodiment and/or other processes of the technology described herein.
  • the overload trend detection module 240 is used to support the robot to perform the operation of determining whether the motor meets the collision detection condition according to the operating data in S140 in the above-mentioned embodiment and/or other processes of the technology described herein.
  • the collision detection module 250 is used to support the robot to perform the operation of performing collision detection on the motor in S140 in the above-mentioned embodiment, and/or other processes of the technology described herein.
  • the collision safety processing module 260 is used to support the robot to perform 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 may 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: ROM or random storage RAM, magnetic disks or optical disks and other media that can store program codes.
  • 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]”.

Abstract

本申请提供一种机器人的安全防护方法、装置与机器人,涉及机器人、人工智能技术领域,其中,该方法包括:获取电机的运行数据;若根据运行数据检测到电机满足过载触发条件,则执行电机对应的过载安全处理策略;在根据运行数据确定电机满足碰撞检测条件的情况下,对电机进行碰撞检测,其中,碰撞检测条件根据过载触发条件确定;若检测到电机发生碰撞,则执行电机对应的碰撞安全处理策略。本申请提供的技术方案,可以应用于用来陪伴教育小孩或陪伴老人的家庭机器人等消费机器人,以及工业机器人、商用机器人和特种机器人等机器人,其可以提高所应用的机器人的安全防护能力。

Description

机器人的安全防护方法、装置与机器人
本申请要求于2020年05月19日提交国家知识产权局、申请号为202010427126.2、申请名称为“机器人的安全防护方法、装置与机器人”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人的安全防护方法、装置与机器人。
背景技术
随着计算机技术和机器人技术的发展,人与机器人交互(Human Robot Interaction,HRI)已经逐渐发展成为一个独立的研究领域。基于HRI的相关法则,机器人在人机交互过程中,应具有保护自己的能力。
目前,拥有人机交互能力的机器人多为商用机器人和消费机器人,尤其是消费机器人中用于陪伴教育小孩和陪伴老人的家庭机器人,在使用这类机器人的过程中,人类会与机器人频繁产生物理接触,比如握住机器人胳膊或抱起机器人等。在这些场景中,机器人的关节运动会被阻挡,如果是人,此时会因为感受到阻碍或过高反抗阻力而停下当前运动,并决策下一步如何处理,以保护自己。因此,如果机器人也可以拥有上述人类的反应能力,那么不仅可以保护用户和保护自己,还可以使得机器人的表现更加拟人化。为了实现上述保护能力和拟人化表现能力,目前许多机器人都具有过载检测能力,通过过载检测能力识别机器人各关节感受到的持续阻碍,在阻碍过大的情况下采取相关的安全处理策略。
但是,商用机器人的运动场景纷繁复杂,人类在与机器人频繁进行物理接触的过程中,还有可能出现其他安全状况,例如人在触摸高速运动的机器人时被打到,而机器人的过载检测能力无法应对这些安全状况,因此,机器人的安全防护能力有限。
发明内容
有鉴于此,本申请提供一种机器人的安全防护方法、装置与机器人,用于提高机器人的安全防护能力。
为了实现上述目的,第一方面,本申请实施例提供一种机器人的安全防护方法,包括:
获取电机的运行数据;
若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略;
在根据所述运行数据确定所述电机满足碰撞检测条件的情况下,对所述电机进行碰撞检测,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
若检测到所述电机发生碰撞,则执行所述电机对应的碰撞安全处理策略。
本实施例提供的机器人的安全防护方法,可以根据电机的运行数据对电机进行过载检测,在检测到电机过载的情况下,执行对应的过载安全处理策略;并可以对电机进行碰撞检测,在检测到电机发生碰撞的情况下,执行对应的碰撞安全处理策略,因而可以提高机 器人的安全防护能力。另外,在对电机进行碰撞检测前,先根据电机的运行数据判断电机是否满足基于过载触发条件确定的碰撞检测条件,以检测电机是否存在过载趋势;在电机满足碰撞检测条件的情况下,再对电机进行碰撞检测,这样可以减少碰撞检测被误触发的情况,提升机器人的拟人化表现能力。
在第一方面的一种可能的实施方式中,所述运行数据包括电流和速度,所述若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略,包括:
根据所述电机的速度确定电流过载阈值;
若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件,执行所述电机对应的过载安全处理策略。
上述实施方式中,基于变化的电流过载阈对电机进行一阶过载检测,可以提高一阶过载检测的准确性。
在第一方面的一种可能的实施方式中,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
通过采用上述碰撞检测条件,可以提高过载趋势检测结果的准确性。
在第一方面的一种可能的实施方式中,所述根据所述电机的速度确定电流过载阈值,包括:
采用如下公式确定所述电机的电流过载阈值:
Figure PCTCN2021081670-appb-000001
其中,I Thres表示电流过载阈值,v Max表示所述电机的最大速度,v表示获取的所述电机的速度,I Th1表示在所述电机静止时触发过载的理想电流,I Th2表示在所述电机达到最大速度时触发过载的理想电流。
上述实施方式中,采用上述公式确定电机的电流过载阈值,可以提高确定的电流过载阈值的准确性。
在第一方面的一种可能的实施方式中,所述执行所述电机对应的过载安全处理策略,包括:
控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
通过控制所有电机停止运动,可以及时对人或物体进行保护;通过控制目标电机组中的所有电机处于脱机状态,可以使目标电机组自动活动而不至于被损坏;通过进行过载提 示,可以提醒用户,并提升机器人的拟人化表现能力;通过检测所述目标电机组的受力情况,在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置,可以减少由于用户的继续掰动而引起二次过载的情况,节省进行二次过载检测所需的处理资源,同时可以减少过载安全处理频繁执行的情况,提升机器人的拟人化表现能力。
在第一方面的一种可能的实施方式中,在所述检测所述目标电机组的受力情况之前,所述方法还包括:
屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,所述方法还包括:
解除对所有电机的运动指令的屏蔽。
通过屏蔽所有电机的运动指令,可以避免对机器人造成进一步伤害,并可以防止使能指令与运动指令发生冲突,从而可以提高机器人工作的稳定性。
在第一方面的一种可能的实施方式中,所述检测所述目标电机组的受力情况,包括:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
在第一方面的一种可能的实施方式中,所述运行数据包括电流,所述对所述电机进行碰撞检测,包括:
若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;
若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞。
上述实施方式中,可以将电机启停的场景从碰撞保护期中去除掉,根据电流突变情况检测碰撞事件,这样可以降低碰撞检测的复杂度。
在第一方面的一种可能的实施方式中,所述运行数据包括位置,所述电机的运动状态切换检测方法,包括:
若所述电机的位置变化值大于第一位置阈值,则确定所述电机的运动状态为正转,其中,所述电机的位置变化值为本次获取的所述电机的位置减去上一次获取的所述电机的位置得到的差值,所述第一位置阈值为正数;
若所述电机的位置变化值大于等于第二位置阈值,且小于等于所述第一位置阈值,则确定所述电机的运动状态为静止,所述第二位置阈值为负数;
若所述电机的位置变化值小于所述第二位置阈值,则确定所述电机的运动状态为反转;
若所述电机的运动状态与前一运动状态不同,则确定所述电机发生运动状态切换。
通过上述实施方式,可以实现在检测电机运动状态时进行位置滤波处理,进而可以提高检测结果的准确性。
在第一方面的一种可能的实施方式中,所述执行所述电机对应的碰撞安全处理策略, 包括:
控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
通过控制所有电机停止运动后,反向运动预设距离,可以模拟人手误打到他人时的自然缩手表现,提升机器人的拟人化表现能力;通过屏蔽所有电机的运动指令,可以避免对用户和机器人造成进一步伤害;通过进行碰撞提示,可以提醒用户,并进一步提升机器人的拟人化表现能力。
第二方面,本申请实施例提供一种机器人的安全防护装置,包括:获取模块、过载检测模块、过载安全处理模块、过载趋势检测模块、碰撞检测模块和碰撞安全处理模块,其中:
所述获取模块用于:获取电机的运行数据;
所述过载安全处理模块用于:在所述过载检测模块根据所述运行数据检测到所述电机满足过载触发条件的情况下,执行所述电机对应的过载安全处理策略;
所述碰撞检测模块用于:在所述过载趋势检测模块根据所述运行数据确定所述电机满足碰撞检测条件的情况下,对所述电机进行碰撞检测,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
所述碰撞安全处理模块用于:在所述碰撞检测模块检测到所述电机发生碰撞的情况下,执行所述电机对应的碰撞安全处理策略。
在第二方面的一种可能的实施方式中,所述运行数据包括电流和速度,所述过载检测模块具体用于:
根据所述电机的速度确定电流过载阈值;
若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件。
在第二方面的一种可能的实施方式中,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
在第二方面的一种可能的实施方式中,所述过载检测模块具体用于:
采用如下公式确定所述电机的电流过载阈值:
Figure PCTCN2021081670-appb-000002
其中,I Thres表示电流过载阈值,v Max表示所述电机的最大速度,v表示获取的所述电机的速度,I Th1表示在所述电机静止时触发过载的理想电流,I Th2表示在所述电机达到最大速度时触发过载的理想电流。
在第二方面的一种可能的实施方式中,所述过载安全处理模块具体用于:
控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
在第二方面的一种可能的实施方式中,所述过载安全处理模块还用于:在所述检测所述目标电机组的受力情况之前,屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,解除对所有电机的运动指令的屏蔽。
在第二方面的一种可能的实施方式中,所述过载安全处理模块具体用于:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
在第二方面的一种可能的实施方式中,所述运行数据包括电流,所述碰撞检测模块具体用于:
若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;
若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞。
在第二方面的一种可能的实施方式中,所述运行数据包括位置,所述碰撞检测模块具体用于:
若所述电机的位置变化值大于第一位置阈值,则确定所述电机的运动状态为正转,其中,所述电机的位置变化值为本次获取的所述电机的位置减去上一次获取的所述电机的位置得到的差值,所述第一位置阈值为正数;
若所述电机的位置变化值大于等于第二位置阈值,且小于等于所述第一位置阈值,则确定所述电机的运动状态为静止,所述第二位置阈值为负数;
若所述电机的位置变化值小于所述第二位置阈值,则确定所述电机的运动状态为反转;
若所述电机的运动状态与前一运动状态不同,则确定所述电机发生运动状态切换。
通过上述实施方式,可以实现在检测电机运动状态时进行位置滤波处理,进而可以提高检测结果的准确性。
在第二方面的一种可能的实施方式中,所述所述碰撞安全处理模块具体用于:
控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
第三方面,本申请实施例提供一种机器人,包括:存储器、处理器和电机,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法,所述电机用于向所述处理器反馈运行数据。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述第一方面或第一方面的任一实施方式所述的方法。
第六方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一实施方式所述的方法。其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的机器人的结构示意图;
图2为本申请实施例提供的机器人的硬件结构示意图;
图3为本申请实施例提供的机器人的安全防护方法的原理示意图;
图4为本申请实施例提供的机器人的安全防护方法的流程示意图;
图5为本申请实施例提供的过载检测时间窗的示意图;
图6为本申请实施例提供的电流过载阈值与速度的关系示意图;
图7为本申请实施例提供的过载安全处理过程的流程示意图;
图8为本申请实施例提供的碰撞检测时间窗的示意图;
图9为本申请实施例提供的碰撞检测方法的流程示意图;
图10为本申请实施例提供的碰撞安全处理过程的流程示意图;
图11为本申请实施例提供的机器人的安全防护装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请实施例的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
下面先介绍本申请实施例涉及的机器人。本实施例涉及的机器人可以是商用机器人或消费机器人,也可以是工业机器人或特种机器人等机器人,本实施例中以消费机器人为例进行示例性说明。请参阅图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 PCTCN2021081670-appb-000003
其中,I Thres表示电流过载阈值,v Max表示电机的最大速度,v表示获取的电机的速度,I Th1表示在电机静止时触发过载的理想电流,I Th2表示在电机达到最大速度时触发过载的理想电流。
S130、在检测到电机过载的情况下,执行该电机对应的过载安全处理策略。
如图3所示,本实施例中,如果检测到电机过载,则对电机进行过载安全处理,也就是执行电机对应的过载安全处理策略。
在具体实现时,可以采用图7所示的方法执行过载安全处理策略,参见图7,图7为本申请实施例提供的过载安全处理过程的流程示意图,如图7所示,在检测到电机过载时,可以执行如下过载安全处理策略:
S131、控制所有电机停止运动,并屏蔽所有电机的运动指令。
具体的,在检测到电机过载时,可以先停止所有电机的运动,并可以暂时屏蔽所有电机的运动指令,以及时对人或物体进行保护,同时避免对机器人造成进一步伤害。
S132、控制目标电机组中的所有电机处于脱机状态。
在控制所有电机停止运动后,可以卸载目标电机组,即控制目标电机组中的所有电机处于脱机状态(free),使目标电机组不再具有运动能力,可以被自由掰动,这样电机在持续受到外力时,可以自动活动而不至于被损坏。
其中,目标电机组包括该发生过载的电机所属的串联运动链里的所有电机,串联运动链是指把两个或两个以上的构件通过运动副的联接而构成的相对可动的系统,例如:人形机器人的一条手臂(即图1中所示的一个手臂组件3)即为一条串联运动链,若发生过载的电机是某条手臂中的某个电机,则目标电机组包括该条手臂中的所有电机。
需要说明的是,步骤S132中控制目标电机组中的所有电机处于脱机状态,与屏蔽所有电机的运动指令之间没有严格的时序执行关系,两者可以先后执行,也可以同时执行,本实施例对此不做特别限定。
S133、进行过载提示,并检测目标电机组的受力情况。
为了提醒用户,并进一步提升机器人的拟人化表现能力,本实施例中,在检测到电机过载后,可以进行过载提示,以提示用户电机发生过载。其中,过载提示可以包括语音提示和/或表情提示,例如,在右手臂中的电机发生过载时,可以语音提示“我的右胳膊好疼”,并可以显示难过的表情。
另外,在卸载目标电机组后,可以持续检测目标电机组的受力情况,以确定目标电机组有无继续发生过载的可能。比如:用户掰动目标电机组导致电机过载,在目标电机组卸载后,用户可能会继续掰动目标电机组,此时,目标电机组可以继续保持脱机状态,直到检测到目标电机组不再受力为止。这样可以减少由于用户的继续掰动而引起二次过载的情况,节省进行二次过载检测所需的处理资源,同时可以减少过载安全处理频繁执行的情况,提升机器人的拟人化表现能力。
具体的,可以通过目标电机组反馈的位置变化情况,来确定目标电机组的受力情况。在具体实现时,对于目标电机组中的每个电机,可以根据最近获取的预设时间段内的电机的位置,确定电机的位置变化绝对值之和;然后可以根据目标电机组中各电机的位置变化绝对值之和确定目标电机组的总位置变化量,最后根据总位置变化量与预设位置阈值之间的大小关系,确定目标电机组的受力情况,在总位置变化量大于等于预设位置阈值的情况下,确定目标电机组受力;在总位置变化量小于预设位置阈值的情况下,确定目标电机组未受力。
其中,预设时间段的具体值可以根据需要设置,例如可以是3s;同样的,预设位置阈值的大小也可以根据需要设置,本实施例对此均不做特别限定。对于最近获取的预设时间段内的某电机的位置,将后一次获取的位置与前一次获取的位置相减后取绝对值,可以得到该电机的一次位置变化绝对值,将该预设时间段内的该电机的各位置变化绝对值累加,即得到该电机的位置变化绝对值之和;将目标电机组中各电机的位置变化绝对值之和累加即可以得到目标电机组的总位置变化量。
S134、在目标电机组未受力的情况下使能目标电机组中的所有电机,并控制所有电机恢复至初始位置。
具体的,若检测到目标电机组受力,则说明目标电机组对应的关节还在被掰动,此时可以继续保持目标电机组的脱机状态;若检测到目标电机组未受力,则说明目标电机组对应的关节已停止被掰动,此时可以使能目标电机组中的所有电机,然后控制所有电机缓慢运动恢复至初始位置,以方便机器人重新开启正常工作。其中,在使能电机时,电机的运动指令处于被屏蔽状态,这样可以防止使能指令与运动指令发生冲突,从而可以提高机器人工作的稳定性。
S135、解除对所有电机的运动指令的屏蔽。
在控制所有电机恢复至初始位置后,可以解除对所有电机的运动指令的屏蔽,使机器人的各电机恢复正常运动。
需要说明的是,在电机控制器集成有中央控制器功能的情况下,电机的运动指令即由电机控制器生成,此时,在进行过载安全处理的过程中,电机控制器可以不执行运动指令的屏蔽和解除屏蔽操作,只需在使能电机前不生成其他运动指令即可。
S140、在根据运行数据确定电机满足碰撞检测条件的情况下,对电机进行碰撞检测。
如图3所示,电机控制器获取到电机的运行数据后,在进入碰撞保护期之前,可以先对电机进行过载趋势检测,在确定电机不存在过载趋势的情况下,再对电机进行碰撞检测;在电机存在过载趋势的情况下,先进入过渡保护期,继续检测电机的过载趋势情况;在过载趋势消失的情况下,再进入碰撞保护期。即电机进入碰撞保护期进行碰撞检测之前,需要先满足碰撞检测条件,该碰撞检测条件与过载触发条件相关,即碰撞检测条件可以根据 过载触发条件确定。
具体的,碰撞通常发生在机器人高速运动状态,因此过渡保护期和碰撞保护期均可以在电机处于高速运动状态(即机器人关节处于高速运动状态)的情况下开启,以节省计算资源。对应的,如图3所示,在进行过载趋势检测之前,可以先对电机进行高速运动检测,以确定电机是否处于高速运动状态。
在具体实现时,可以判断电机的速度是否大于该电机的预设速度阈值,若是,则可以认为电机处于高速运动状态,否则,可以继续根据下一次获取的该电机的速度重新进行高速运动检测。
考虑到不同的电机由于其规格不同,所处的机器人部位不同,其高速运动的判断标准也不同,因此,每个电机的预设速度阈值可以根据该电机的规格和所处的机器人部位确定。
在确定电机处于高速运动状态后,可以根据电机处于预过载状态的持续时间是否占据过载时间窗中的目标时长(此处称为第二预设时长),来判断电机是否具备过载趋势。若电机处于预过载状态的持续时间超过第二预设时长,可以认为电机具备过载趋势,则进入过渡保护期;否则,可以认为电机不具备过载趋势,直接进入碰撞保护期,即若电机处于非预过载状态(即电机的电流小于等于电流过载阈值),或者,电机处于预过载状态,但电机处于预过载状态的持续时间不超过第二预设时长,则进入碰撞保护期。
其中,第二预设时长可以根据第一预设时长确定,例如第二预设时长可以不超过第一预设时长的一半,其具体大小本实施例不做特别限定。
举例说明,假设某电机的预设速度阈值是80°/s,该电机在78°/s时,人手接触电机,但是施加的力较小,电机速度达到80°/s时,手已经握住电机进行掰动,此时手与电机所在关节之间的相对速度较低,不会发生碰撞事件,更有可能发生的是过载事件。在这种情况下,通过上述过载趋势检测可以在电机速度达到80°/s时,检测到电机具备过载趋势,此时不直接进入碰撞保护期进行碰撞检测,而是进入过渡保护期继续进行过载检测,这样就可以进一步检测出过载事件而非碰撞事件,从而可以减少碰撞误检测的情况。
如图3所示,在过渡保护期内,可以检测电机在过载检测时间窗内是否发生过载,即对电机进行过载检测,在检测到电机过载的情况下,退出过渡保护期,对电机进行过载安全处理;否则进入碰撞保护期进行碰撞检测。也就是说,在检测到电机具备过载趋势的情况下,不进入碰撞保护期进行碰撞检测,而是继续根据后续获取的电机的运行数据,检测电机处于预过载状态的持续时间是否超过第一预设时间,若超过,则说明电机过载,执行对应的过载安全处理策略;若在未超过第一预设时间的情况下,电机变为非预过载状态,则说明过载趋势消失,此时可以进入碰撞保护期进行碰撞检测。
需要说明的是,过渡保护期中过载检测过程与过载保护期中的过载检测过程一致,且都是在检测到电机过载时进行过载安全处理;另外,在过渡保护期中检测到过载趋势消失,即表示电机此时处于非预过载状态,不具备过载趋势,可以进行碰撞检测,这与过载趋势检测过程类似,都是在检测到电机处于非预过载状态时,认为电机不具备过载趋势,可以进行碰撞检测。因此,在具体实现时,过渡保护期中的检测过程也可以通过过载趋势检测和过载保护期的过载检测来完成,即在检测到电机具备过载趋势时,可以继续进行下一次的高速运动检测和过载趋势检测,直至在电机处于高速运动状态,且不具备过载趋势的情况下再进行碰撞检测。
综上可知,电机进入碰撞保护期进行碰撞检测需要满足如下碰撞检测条件:电机处于高速运动状态,且电机不具备过载趋势,也就是说,碰撞检测条件可以包括:电机处于高速运动状态对应的第一预设条件和电机不具备过载趋势对应的第二预设条件。
通过上述内容可知,第一预设条件包括:电机的速度大于预设速度阈值;第二预设条件包括:第一条件或第二条件,第一条件包括电机处于非预过载状态;第二条件包括:电机处于预过载状态,且电机处于预过载状态的持续时间不超过第二预设时长,其中,第二预设时长可以不超过第一预设时长的一半。
在确定电机满足碰撞检测条件后,就可以对电机进行碰撞检测。拉格朗日力学方程可以如公式(2)所示:
Figure PCTCN2021081670-appb-000004
其中,θ表示电机的运转角度(即电机的位置),θ∈R n
Figure PCTCN2021081670-appb-000005
g(θ)、
Figure PCTCN2021081670-appb-000006
τ c、τ和I依次表示电机的加速度项、速度项、重力项、摩擦力项、碰撞力、合力和电流。
根据上述公式(2)可知,加速度项、摩擦力项和碰撞力均可能产生数值突变,进而引起合力和电流突变,因此在碰撞检测阶段,可以将加速度项和摩擦力项进行滤波,过滤掉其对反馈电流的影响,那么剩下能引起电机电流突变的就只有碰撞力了,这样就可以根据电流突变情况检测碰撞事件,降低碰撞检测的复杂度。
对于加速度项和摩擦力项引起电流突变的情况,一般发生在电机启停阶段,因此可以将电机启停的场景从碰撞保护期中去除掉。电机启停发生在电机运动状态切换的场景,电机的运动状态可以包括正转、反转和静止。本实施例中,可以在电机运动状态切换时,延迟一个安全时间窗(此处称为第三预设时长),将安全时间窗之外的碰撞保护期作为碰撞检测时间窗,进行碰撞检测。其中,第三预设时长的大小可以根据需要设置,例如可以为100ms,本实施例对此不做特别限定。
图8为本申请实施例提供的碰撞检测时间窗的示意图,如图8所示,为电机的位置变化示意图,位置曲线中,波峰和波谷处即表示电机的运动状态发生了切换,T1、T2、T3和T4均表示碰撞检测时间窗,每个碰撞检测时间窗距离上一个波峰或波谷都有一定的时间延迟,具体延迟的时间(即图中T1和T2之间的时间间隔,T3和T4之间的时间间隔)即为上述安全时间窗;其中,碰撞检测是在高速运动状态下触发,T2和T3之间位置变化平缓,也就是说,电机的速度较低,因此在T2和T3之间不会触发碰撞检测,即不属于碰撞检测时间窗。
在具体实现时,可以图9所示的方法进行碰撞检测。参见图9,图9为本申请实施例提供的碰撞检测方法的流程示意图,如图9所示,该方法可以包括如下步骤:
S141、检测距离电机最近一次发生运动状态切换的时长。
具体的,为了确保碰撞检测不在安全时间窗(即第三预设时长)之内,可以先确定当前时间与电机最近一次发生运动状态切换的时间之间的时长,如果该时长在安全时间窗之外,即该时长超过第三预设时长,则可以进行后续的碰撞检测过程;否则,可以不进行后续的碰撞检测过程。
其中,可以通过电机连续反馈的位置检测电机的运动状态是否发生切换,例如:θ 1和θ 2为连续两次采样的位置,θ 1的采样时间早于θ 2的采样时间,则θ 21>0可以表示电机正 转,θ 21<0可以表示电机反转,θ 21=0可以表示电机静止。
考虑到电机的采样数据可能存在误差,本实施例中,可以在检测电机运动状态时进行位置滤波处理,以提高检测结果的准确性。
在具体实现时,可以设置两个位置阈值:第一位置阈值和第二位置阈值,基于电机的位置变化值和这两个位置阈值确定电机的运动状态,进而检测电机的运动状态是否发生切换。其中,电机的位置变化值即为本次获取的电机的位置θ 2减去上一次获取的电机的位置θ 1的差值,第一位置阈值可以为正数,对应的,第二位置阈值可以为负数,两者的具体大小可以根据需要设置,例如:第一位置阈值可以为0.5°,第二位置阈值可以为-0.5°。以第一位置阈值为0.5°,第二位置阈值为-0.5°为例,具体判断电机运动状态的公式可以如下所示:
Figure PCTCN2021081670-appb-000007
也就是说,若电机的位置变化值大于第一位置阈值0.5°,则可以确定电机的运动状态为正转;若电机的位置变化值大于等于第二位置阈值-0.5°,且小于等于第一位置阈值0.5°,则可以确定电机的运动状态为静止;若电机的位置变化值小于第二位置阈值-0.5°,则可以确定电机的运动状态为反转。如果电机的运动状态与前一运动状态不同,即可以确定电机发生运动状态切换。
S142、若距离电机最近一次发生运动状态切换的时长超过第三预设时长,则根据运行数据检测电机的电流突变量。
具体的,如果当前时间与电机最近一次发生运动状态切换的时间之间的时长超过第三预设时长,说明此时位于碰撞检测时间窗之内,则可以继续进行后续的碰撞检测。
如前所述,滤除了加速度项和摩擦力项后,就可以通过电流突变情况检测碰撞事件。在具体实现时,可以根据本次获取的电机的电流和上一次获取的电机的电流,确定电机的电流突变量,即本次电流减去上一次获取的电流的差值。然后可以判断该电流突变量与预先设置的该电机的碰撞电流阈值的大小关系,根据判断结果确定电机是否发生碰撞。
其中,考虑到电机的规格和所处的机器人位置不同,电机的碰撞电流阈值也可以设置不同的值,具体大小可以根据实际情况设置,本实施例对此不做特别限定。
S143、若电流突变量大于电机的碰撞电流阈值,则确定电机发生碰撞。
具体的,如果电机的电流突变量大于其碰撞电流阈值,说明电机产生了一定的碰撞力,此时可以认为电机发生碰撞;否则继续进行下一次的碰撞检测。
S150、在检测到电机发生碰撞的情况下,执行该电机对应的碰撞安全处理策略。
如图3所示,本实施例中,如果检测到电机发生碰撞,则可以对电机进行碰撞安全处理,也就是执行电机对应的碰撞安全处理策略。
在具体实现时,可以采用图10所示的方法执行碰撞安全处理策略,参见图10,图10为本申请实施例提供的碰撞安全处理过程的流程示意图,如图10所示,在检测到电机发生碰撞时,可以执行如下碰撞安全处理策略:
S151、控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令。
具体的,在检测到电机发生碰撞时,可以先急停所有电机的当前运动,并向相反运动 方向回弹一定距离(即预设距离),比如10°~20°,以模拟人手误打到他人时的自然缩手表现,提升机器人的拟人化表现能力。
另外,与过载处理过程类似,在检测到电机发生碰撞时,可以暂时屏蔽所有电机的运动指令,以避免对用户和机器人造成进一步伤害。
S152、进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
为了提醒用户,并进一步提升机器人的拟人化表现能力,与过载安全处理类似,本实施例中,在检测到电机发生碰撞后,可以进行碰撞提示,以提示用户电机发生碰撞。其中,碰撞提示可以包括语音提示和/或表情提示,例如,可以语音提示“抱歉哦”,“没打疼你吧”等,并可以显示抱歉的表情。
在进行碰撞提示后,可以控制所有电机缓慢运动恢复至初始位置,同时可以解除对所有电机的运动指令的屏蔽,使机器人的各电机恢复正常运动。
另外,与过载安全处理类似,在电机控制器集成有中央控制器功能的情况下,在进行碰撞安全处理的过程中,电机控制器可以不执行运动指令的屏蔽和解除屏蔽操作,只需在使能电机前不生成其他运动指令即可。
本领域技术人员可以理解,以上实施例是示例性的,并非用于限定本申请。在可能的情况下,以上步骤中的一个或者几个步骤的执行顺序可以进行调整,也可以进行选择性组合,得到一个或多个其他实施例。本领域技术人员可以根据需要从上述步骤中任意进行选择组合,凡是未脱离本申请方案实质的,都落入本申请的保护范围。
本实施例提供的机器人的安全防护方法,可以根据电机的运行数据对电机进行过载检测,在检测到电机过载的情况下,执行对应的过载安全处理策略;并可以对电机进行碰撞检测,在检测到电机发生碰撞的情况下,执行对应的碰撞安全处理策略,因而可以提高机器人的安全防护能力。另外,在对电机进行碰撞检测前,先根据电机的运行数据判断电机是否满足碰撞检测条件,以检测电机是否存在过载趋势;在电机满足碰撞检测条件的情况下,再对电机进行碰撞检测,这样可以减少碰撞检测被误触发的情况,提升机器人的拟人化表现能力。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种机器人的安全防护装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
图11为本申请实施例提供的机器人的安全防护装置的结构示意图,如图11所示,本实施例提供的装置可以包括:获取模块210、过载检测模块220、过载安全处理模块230、过载趋势检测模块240、碰撞检测模块250和碰撞安全处理模块260,其中:
获取模块210用于支持机器人执行上述实施例中的S110和/或本文所描述的技术的其它过程。
过载检测模块220用于支持机器人执行上述实施例中的S120和/或本文所描述的技术的其它过程。
过载安全处理模块230用于支持机器人执行上述实施例中的S130和/或本文所描述的技术的其它过程。
过载趋势检测模块240用于支持机器人执行上述实施例中的S140中根据运行数据确定电机是否满足碰撞检测条件的操作和/或本文所描述的技术的其它过程。
碰撞检测模块250用于支持机器人执行上述实施例中的S140中对电机进行碰撞检测的操作、和/或本文所描述的技术的其它过程。
碰撞安全处理模块260用于支持机器人执行上述实施例中的S150和/或本文所描述的技术的其它过程。
本实施例提供的装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述方法实施例所述的方法。其中,芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘或磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质可以包括:ROM或随 机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (18)

  1. 一种机器人的安全防护方法,其特征在于,包括:
    获取电机的运行数据;
    若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略;
    在根据所述运行数据确定所述电机满足碰撞检测条件的情况下,对所述电机进行碰撞检测,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
    若检测到所述电机发生碰撞,则执行所述电机对应的碰撞安全处理策略。
  2. 根据权利要求1所述的方法,其特征在于,所述运行数据包括电流和速度,所述若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略,包括:
    根据所述电机的速度确定电流过载阈值;
    若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
    若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件,执行所述电机对应的过载安全处理策略。
  3. 根据权利要求2所述的方法,其特征在于,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
    所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
    所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
  4. 根据权利要求2所述的方法,其特征在于,所述根据所述电机的速度确定电流过载阈值,包括:
    采用如下公式确定所述电机的电流过载阈值:
    Figure PCTCN2021081670-appb-100001
    其中,I Thres表示电流过载阈值,v Max表示所述电机的最大速度,v表示获取的所述电机的速度,I Th1表示在所述电机静止时触发过载的理想电流,I Th2表示在所述电机达到最大速度时触发过载的理想电流。
  5. 根据权利要求1所述的方法,其特征在于,所述执行所述电机对应的过载安全处理策略,包括:
    控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
    进行过载提示,并检测所述目标电机组的受力情况;
    在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
  6. 根据权利要求5所述的方法,其特征在于,在所述检测所述目标电机组的受力情况之前,所述方法还包括:
    屏蔽所有电机的运动指令;
    在所述控制所有电机恢复至初始位置之后,所述方法还包括:
    解除对所有电机的运动指令的屏蔽。
  7. 根据权利要求5所述的方法,其特征在于,所述检测所述目标电机组的受力情况,包括:
    对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
    根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
    若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
    若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
  8. 根据权利要求1所述的方法,其特征在于,所述运行数据包括电流,所述对所述电机进行碰撞检测,包括:
    若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;
    若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞。
  9. 根据权利要求8所述的方法,其特征在于,所述运行数据包括位置,所述电机的运动状态切换检测方法,包括:
    若所述电机的位置变化值大于第一位置阈值,则确定所述电机的运动状态为正转,其中,所述电机的位置变化值为本次获取的所述电机的位置减去上一次获取的所述电机的位置得到的差值,所述第一位置阈值为正数;
    若所述电机的位置变化值大于等于第二位置阈值,且小于等于所述第一位置阈值,则确定所述电机的运动状态为静止,所述第二位置阈值为负数;
    若所述电机的位置变化值小于所述第二位置阈值,则确定所述电机的运动状态为反转;
    若所述电机的运动状态与前一运动状态不同,则确定所述电机发生运动状态切换。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述执行所述电机对应的碰撞安全处理策略,包括:
    控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
    进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
  11. 一种机器人的安全防护装置,其特征在于,包括:获取模块、过载检测模块、过载安全处理模块、过载趋势检测模块、碰撞检测模块和碰撞安全处理模块,其中:
    所述获取模块用于:获取电机的运行数据;
    所述过载安全处理模块用于:在所述过载检测模块根据所述运行数据检测到所述电机满足过载触发条件的情况下,执行所述电机对应的过载安全处理策略;
    所述碰撞检测模块用于:在所述过载趋势检测模块根据所述运行数据确定所述电机满足碰撞检测条件的情况下,对所述电机进行碰撞检测,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
    所述碰撞安全处理模块用于:在所述碰撞检测模块检测到所述电机发生碰撞的情况下,执行所述电机对应的碰撞安全处理策略。
  12. 根据权利要求11所述的装置,其特征在于,所述运行数据包括电流和速度,所述过载检测模块具体用于:
    根据所述电机的速度确定电流过载阈值;
    若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
    若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件。
  13. 根据权利要求12所述的装置,其特征在于,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
    所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
    所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
  14. 根据权利要求11所述的装置,其特征在于,所述过载安全处理模块具体用于:
    控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
    进行过载提示,并检测所述目标电机组的受力情况;
    在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
  15. 根据权利要求11所述的装置,其特征在于,所述运行数据包括电流,所述碰撞检测模块具体用于:
    若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;
    若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞。
  16. 根据权利要求11-15任一项所述的装置,其特征在于,所述碰撞安全处理模块具体用于:
    控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
    进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
  17. 一种机器人,其特征在于,包括:存储器、处理器和电机,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-10任一项所述的方法,所述电机用于向所述处理器反馈运行数据。
  18. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-10任一项所述的方法。
PCT/CN2021/081670 2020-05-19 2021-03-19 机器人的安全防护方法、装置与机器人 WO2021232921A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=72342062

Family Applications (1)

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

Country Status (2)

Country Link
CN (1) CN111645070B (zh)
WO (1) WO2021232921A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114227682A (zh) * 2021-12-23 2022-03-25 钛深科技(深圳)有限公司 机器人碰撞检测装置、方法、设备、存储介质以及机器人
CN114425787A (zh) * 2021-12-21 2022-05-03 深圳优地科技有限公司 机器人自动测试的控制方法、装置、服务器及存储介质
CN114474076A (zh) * 2022-03-28 2022-05-13 法奥意威(苏州)机器人系统有限公司 机器人碰撞检测方法、装置、检测设备及可读存储介质
CN114766989A (zh) * 2022-04-24 2022-07-22 云鲸智能(深圳)有限公司 换向机构的位置检测方法及设备、介质、清洁设备
CN116392259A (zh) * 2023-04-28 2023-07-07 极限人工智能有限公司 同轨道双驱动模块的行程和防撞监测方法、系统和机器人

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111645070B (zh) * 2020-05-19 2022-06-14 华为技术有限公司 机器人的安全防护方法、装置与机器人
CN112549024B (zh) * 2020-11-26 2022-05-24 华南理工大学 基于时间序列分析的机器人免传感碰撞检测方法及应用
CN114690762A (zh) * 2020-12-31 2022-07-01 深圳市海柔创新科技有限公司 货叉碰撞处理方法、装置、机器人、设备、介质及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429617B1 (en) * 1999-10-22 2002-08-06 Kawasaki Jukogyo Kabushiki Kaisha Drive-controlling method and apparatus and robot having the apparatus
CN201559195U (zh) * 2009-12-11 2010-08-25 Abb技术有限公司 机器人
CN103192413A (zh) * 2012-01-06 2013-07-10 沈阳新松机器人自动化股份有限公司 一种无传感器的机器人碰撞检测保护装置及方法
CN110977972A (zh) * 2019-12-03 2020-04-10 珠海格力电器股份有限公司 一种多关节机器人碰撞检测方法、计算机可读存储介质及机器人
CN111645070A (zh) * 2020-05-19 2020-09-11 华为技术有限公司 机器人的安全防护方法、装置与机器人

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5927440B2 (ja) * 2012-10-25 2016-06-01 パナソニックIpマネジメント株式会社 ロボットの異常表示方法
CN104070522B (zh) * 2013-03-27 2016-10-05 中绿农农业发展有限公司 用于工业机器人的能够自动识别及避免碰撞的方法及装置
CN104985598B (zh) * 2015-06-24 2016-11-23 南京埃斯顿机器人工程有限公司 一种工业机器人碰撞检测方法
CN107775639B (zh) * 2017-10-26 2020-10-23 广州市敏嘉机器人技术有限公司 一种基于电流法的机器人防碰撞方法与系统
EP3546136B1 (de) * 2018-03-29 2021-01-13 Sick Ag Augmented-reality-system
CN209335630U (zh) * 2018-10-08 2019-09-03 广州数控设备有限公司 一种基于工业机器人的无传感弹性碰撞装置
CN109079856A (zh) * 2018-10-30 2018-12-25 珠海格力智能装备有限公司 机器人的碰撞检测方法和装置
CN109940622B (zh) * 2019-04-28 2020-10-27 西安交通大学 一种基于电机电流的机器人机械臂无传感碰撞检测方法
CN110181507B (zh) * 2019-05-07 2020-11-20 成都卡诺普自动化控制技术有限公司 一种用于机器人的急停控制方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429617B1 (en) * 1999-10-22 2002-08-06 Kawasaki Jukogyo Kabushiki Kaisha Drive-controlling method and apparatus and robot having the apparatus
CN201559195U (zh) * 2009-12-11 2010-08-25 Abb技术有限公司 机器人
CN103192413A (zh) * 2012-01-06 2013-07-10 沈阳新松机器人自动化股份有限公司 一种无传感器的机器人碰撞检测保护装置及方法
CN110977972A (zh) * 2019-12-03 2020-04-10 珠海格力电器股份有限公司 一种多关节机器人碰撞检测方法、计算机可读存储介质及机器人
CN111645070A (zh) * 2020-05-19 2020-09-11 华为技术有限公司 机器人的安全防护方法、装置与机器人

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114425787A (zh) * 2021-12-21 2022-05-03 深圳优地科技有限公司 机器人自动测试的控制方法、装置、服务器及存储介质
CN114227682A (zh) * 2021-12-23 2022-03-25 钛深科技(深圳)有限公司 机器人碰撞检测装置、方法、设备、存储介质以及机器人
CN114474076A (zh) * 2022-03-28 2022-05-13 法奥意威(苏州)机器人系统有限公司 机器人碰撞检测方法、装置、检测设备及可读存储介质
CN114766989A (zh) * 2022-04-24 2022-07-22 云鲸智能(深圳)有限公司 换向机构的位置检测方法及设备、介质、清洁设备
CN114766989B (zh) * 2022-04-24 2023-07-14 云鲸智能(深圳)有限公司 换向机构的位置检测方法及设备、介质、清洁设备
CN116392259A (zh) * 2023-04-28 2023-07-07 极限人工智能有限公司 同轨道双驱动模块的行程和防撞监测方法、系统和机器人

Also Published As

Publication number Publication date
CN111645070B (zh) 2022-06-14
CN111645070A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
WO2021232921A1 (zh) 机器人的安全防护方法、装置与机器人
WO2021232933A1 (zh) 机器人的安全防护方法、装置与机器人
US6374157B1 (en) Robot device and control method thereof
CN104333654B (zh) 危险提醒方法及装置以及便携式电子设备
WO2018018415A1 (zh) 一种穿戴设备的佩戴状态判定方法及穿戴设备
US10003207B2 (en) Method and apparatus for battery charging
EP2683204B1 (en) Method and apparatus for controlling sleep mode in portable terminal
US10263439B2 (en) Method and apparatus for protecting battery
EP2984542B1 (en) Portable device using passive sensor for initiating touchless gesture control
ES2813611T3 (es) Aprovechamiento de un apretón de manos físico en pantallas montadas en la cabeza
CN111975772B (zh) 机器人控制方法、装置、电子设备及存储介质
US20160140384A1 (en) Gesture recognition method and gesture recognition apparatus using the same
CN105765516A (zh) 通过使用已知的和有待穿戴的传感器的手势检测系统的分类
CN104335260A (zh) 一种红外测距防撞方法及终端
CN106101529B (zh) 一种拍照控制方法及移动终端
EP2992403B1 (en) Depth sensors
KR20200050235A (ko) 전자 장치 및 그의 지능형 인터랙션 방법
US9930193B2 (en) Communication device wirelessly communicating with external device, control method for communication device, and storage medium
US11029753B2 (en) Human computer interaction system and human computer interaction method
CN109991896B (zh) 机器人跌倒预判的方法、装置及存储装置
CN105550608B (zh) 一种设备寻回方法和装置
US9990043B2 (en) Gesture recognition systems and devices for low and no light conditions
TWI676915B (zh) 基於感測元件的訊號累積量產生電子裝置控制指令的方法
US11237639B2 (en) Method and system for electronic communication by persons with disabilities
CN111885362A (zh) 一种远程控制的移动ip摄像头系统

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

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

Country of ref document: EP

Kind code of ref document: A1